You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by tq...@apache.org on 2023/03/02 00:22:19 UTC
[tvm-site] branch asf-site updated: deploying docs (apache/tvm@69acdfb0422b3aef558f539ee6f1296f96cd8778)
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 73a1a03a13 deploying docs (apache/tvm@69acdfb0422b3aef558f539ee6f1296f96cd8778)
73a1a03a13 is described below
commit 73a1a03a1335e9e33153bc67efdd7ce95bd166d3
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Thu Mar 2 00:22:11 2023 +0000
deploying docs (apache/tvm@69acdfb0422b3aef558f539ee6f1296f96cd8778)
---
docs/_images/sphx_glr_micro_train_001.png | Bin 319128 -> 330018 bytes
docs/_images/sphx_glr_micro_train_thumb.png | Bin 22867 -> 24252 bytes
.../how_to/compile_models/from_darknet.rst.txt | 2 +-
.../how_to/compile_models/from_keras.rst.txt | 2 +-
.../how_to/compile_models/from_mxnet.rst.txt | 2 +-
.../how_to/compile_models/from_oneflow.rst.txt | 2 +-
.../how_to/compile_models/from_onnx.rst.txt | 2 +-
.../how_to/compile_models/from_pytorch.rst.txt | 2 +-
.../how_to/compile_models/from_tensorflow.rst.txt | 2 +-
.../compile_models/sg_execution_times.rst.txt | 22 +-
.../deploy_models/deploy_model_on_adreno.rst.txt | 2 +-
.../deploy_models/deploy_model_on_android.rst.txt | 2 +-
.../deploy_object_detection_pytorch.rst.txt | 4 +-
.../deploy_models/deploy_prequantized.rst.txt | 6 +-
.../deploy_prequantized_tflite.rst.txt | 4 +-
.../how_to/deploy_models/deploy_quantized.rst.txt | 2 +-
.../deploy_models/deploy_ssd_gluoncv.rst.txt | 4 +-
.../deploy_models/sg_execution_times.rst.txt | 20 +-
.../extend_tvm/bring_your_own_datatypes.rst.txt | 2 +-
.../how_to/extend_tvm/sg_execution_times.rst.txt | 8 +-
.../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 | 2 +-
.../tune_network_cuda.rst.txt | 4 +-
.../tune_network_x86.rst.txt | 4 +-
.../tune_sparse_x86.rst.txt | 26 +-
.../tune_with_autotvm/sg_execution_times.rst.txt | 4 +-
.../tune_with_autotvm/tune_conv2d_cuda.rst.txt | 474 +-
.../work_with_microtvm/micro_autotune.rst.txt | 18 +-
.../work_with_microtvm/micro_pytorch.rst.txt | 4 +-
.../how_to/work_with_microtvm/micro_train.rst.txt | 18 +-
.../work_with_microtvm/sg_execution_times.rst.txt | 12 +-
.../work_with_relay/sg_execution_times.rst.txt | 8 +-
.../how_to/work_with_schedules/intrin_math.rst.txt | 2 +-
.../work_with_schedules/sg_execution_times.rst.txt | 14 +-
.../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 | 61 +-
.../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 | 44 +-
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 | 13 +-
docs/how_to/compile_models/from_onnx.html | 2 +-
docs/how_to/compile_models/from_pytorch.html | 10 +-
docs/how_to/compile_models/from_tensorflow.html | 2 +-
docs/how_to/compile_models/sg_execution_times.html | 22 +-
.../deploy_models/deploy_model_on_adreno.html | 2 +-
.../deploy_models/deploy_model_on_android.html | 2 +-
.../deploy_object_detection_pytorch.html | 43 +-
docs/how_to/deploy_models/deploy_prequantized.html | 8 +-
.../deploy_models/deploy_prequantized_tflite.html | 4 +-
docs/how_to/deploy_models/deploy_quantized.html | 2 +-
docs/how_to/deploy_models/deploy_ssd_gluoncv.html | 37 +-
docs/how_to/deploy_models/sg_execution_times.html | 20 +-
.../extend_tvm/bring_your_own_datatypes.html | 2 +-
docs/how_to/extend_tvm/sg_execution_times.html | 8 +-
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 | 2 +-
.../tune_with_autoscheduler/tune_network_cuda.html | 4 +-
.../tune_with_autoscheduler/tune_network_x86.html | 4 +-
.../tune_with_autoscheduler/tune_sparse_x86.html | 26 +-
.../tune_with_autotvm/sg_execution_times.html | 4 +-
.../how_to/tune_with_autotvm/tune_conv2d_cuda.html | 474 +-
docs/how_to/work_with_microtvm/micro_autotune.html | 18 +-
docs/how_to/work_with_microtvm/micro_pytorch.html | 6 +-
docs/how_to/work_with_microtvm/micro_train.html | 16 +-
.../work_with_microtvm/sg_execution_times.html | 12 +-
.../how_to/work_with_relay/sg_execution_times.html | 8 +-
docs/how_to/work_with_schedules/intrin_math.html | 2 +-
.../work_with_schedules/sg_execution_times.html | 14 +-
docs/install/nnpack.html | 12 +-
docs/reference/api/doxygen/annotated.html | 355 +-
docs/reference/api/doxygen/classes.html | 464 +-
.../api/doxygen/classtvm_1_1BaseAttrsNode.html | 10 +-
.../classtvm_1_1BaseAttrsNode__coll__graph.svg | 16 +-
.../classtvm_1_1runtime_1_1Object__coll__graph.svg | 8 +-
docs/reference/api/doxygen/functions_func_t.html | 3 +-
docs/reference/api/doxygen/functions_i.html | 13 +-
docs/reference/api/doxygen/functions_t.html | 5 +-
docs/reference/api/doxygen/functions_vars_i.html | 3 +
docs/reference/api/doxygen/hierarchy.html | 378 +-
docs/reference/api/doxygen/inherit_graph_112.svg | 9102 ++++++++++----------
docs/reference/api/doxygen/inherit_graph_12.svg | 16 +-
docs/reference/api/doxygen/inherit_graph_207.svg | 16 +-
docs/reference/api/doxygen/inherit_graph_208.svg | 16 +-
docs/reference/api/doxygen/inherit_graph_41.svg | 16 +-
docs/reference/api/doxygen/inherit_graph_45.svg | 8 +-
docs/reference/api/doxygen/inherit_graph_95.svg | 8 +-
docs/reference/api/doxygen/inherits.html | 2 +-
.../api/doxygen/namespacetvm_1_1relay.html | 3 +
.../api/doxygen/relay_2attrs_2transform_8h.html | 3 +
.../doxygen/relay_2attrs_2transform_8h_source.html | 10 +-
docs/reference/api/doxygen/search/all_11.js | 2 +-
docs/reference/api/doxygen/search/all_13.js | 4 +-
docs/reference/api/doxygen/search/all_14.js | 12 +-
docs/reference/api/doxygen/search/all_15.js | 6 +-
docs/reference/api/doxygen/search/all_16.js | 2 +-
docs/reference/api/doxygen/search/all_2.js | 1 +
docs/reference/api/doxygen/search/all_3.js | 2 +-
docs/reference/api/doxygen/search/all_5.js | 1 +
docs/reference/api/doxygen/search/all_a.js | 4 +-
docs/reference/api/doxygen/search/all_e.js | 2 +-
docs/reference/api/doxygen/search/classes_0.js | 1 +
docs/reference/api/doxygen/search/classes_1.js | 2 +-
docs/reference/api/doxygen/search/classes_10.js | 2 +-
docs/reference/api/doxygen/search/classes_11.js | 2 +-
docs/reference/api/doxygen/search/classes_3.js | 1 +
docs/reference/api/doxygen/search/classes_8.js | 2 +-
docs/reference/api/doxygen/search/classes_f.js | 2 +-
docs/reference/api/doxygen/search/functions_12.js | 2 +-
docs/reference/api/doxygen/search/functions_13.js | 2 +-
docs/reference/api/doxygen/search/functions_14.js | 2 +-
docs/reference/api/doxygen/search/functions_15.js | 2 +-
docs/reference/api/doxygen/search/functions_d.js | 2 +-
docs/reference/api/doxygen/search/variables_9.js | 1 +
.../structtvm_1_1relay_1_1DFTAttrs-members.html | 125 +
.../doxygen/structtvm_1_1relay_1_1DFTAttrs.html | 290 +
...structtvm_1_1relay_1_1DFTAttrs__coll__graph.svg | 288 +
...ucttvm_1_1relay_1_1DFTAttrs__inherit__graph.svg | 127 +
docs/reference/api/python/auto_scheduler.html | 4 +-
docs/reference/api/python/relay/index.html | 239 +-
docs/reference/api/python/topi.html | 247 +-
.../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 +-
docs/reference/api/typedoc/classes/instance.html | 58 +-
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 +-
.../api/typedoc/classes/runtimecontext.html | 22 +-
docs/reference/api/typedoc/classes/scalar.html | 6 +-
docs/reference/api/typedoc/classes/tvmarray.html | 16 +-
docs/reference/api/typedoc/classes/tvmobject.html | 12 +-
.../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 | 124 +-
.../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 | 270 +-
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 | 44 +-
182 files changed, 8056 insertions(+), 6458 deletions(-)
diff --git a/docs/_images/sphx_glr_micro_train_001.png b/docs/_images/sphx_glr_micro_train_001.png
index ce2ec0fa7a..c4e860d6e8 100644
Binary files a/docs/_images/sphx_glr_micro_train_001.png and b/docs/_images/sphx_glr_micro_train_001.png differ
diff --git a/docs/_images/sphx_glr_micro_train_thumb.png b/docs/_images/sphx_glr_micro_train_thumb.png
index 84ae33a9fa..b77852b4c4 100644
Binary files a/docs/_images/sphx_glr_micro_train_thumb.png and b/docs/_images/sphx_glr_micro_train_thumb.png differ
diff --git a/docs/_sources/how_to/compile_models/from_darknet.rst.txt b/docs/_sources/how_to/compile_models/from_darknet.rst.txt
index 073e35539b..8caa92c40b 100644
--- a/docs/_sources/how_to/compile_models/from_darknet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_darknet.rst.txt
@@ -318,7 +318,7 @@ The process is no different from other examples.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 17.745 seconds)
+ **Total running time of the script:** ( 1 minutes 18.424 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 abd25658d0..b35ce3d87e 100644
--- a/docs/_sources/how_to/compile_models/from_keras.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_keras.rst.txt
@@ -232,7 +232,7 @@ Look up prediction top 1 index in 1000 class synset.
.. code-block:: none
Relay top-1 id: 285, class name: Egyptian cat
-
1/1 [==============================] - ETA: 0s
1/1 [==============================] - 1s 953ms/step
+
1/1 [==============================] - ETA: 0s
1/1 [==============================] - 1s 956ms/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 e284f17764..591d4396ea 100644
--- a/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
@@ -116,7 +116,7 @@ In this section, we download a pretrained imagenet model and classify an image.
.. code-block:: none
- Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip36892ddb-a11c-408b-b48e-de7085098a6d from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+ Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip5a687be5-7a6f-471c-bb48-bfd02bbe3a61 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 302e674b85..26ae54667c 100644
--- a/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
@@ -121,7 +121,7 @@ Load a pretrained OneFlow model and save model
.. code-block:: none
Downloading: "https://oneflow-public.oss-cn-beijing.aliyuncs.com/model_zoo/flowvision/classification/ResNet/resnet18.zip" to /workspace/.oneflow/flowvision_cache/resnet18.zip
-
0%| | 0.00/41.5M [00:00<?, ?B/s]
19%|#9 | 7.99M/41.5M [00:00<00:00, 48.3MB/s]
39%|###8 | 16.0M/41.5M [00:00<00:00, 51.1MB/s]
58%|#####7 | 24.0M/41.5M [00:00<00:00, 53.2MB/s]
77%|#######7 | 32.0M/41.5M [00:00<00:00, 62.1MB/s]
92%|#########2| 38.3M/41.5M [00:00<00:00, 57.5MB/s]
100%|##########| 41.5M/41.5M [00:00<00:00, 57.3MB/s]
+
0%| | 0.00/41.5M [00:00<?, ?B/s]
19%|#9 | 7.99M/41.5M [00:00<00:00, 61.3MB/s]
35%|###4 | 14.3M/41.5M [00:00<00:00, 57.0MB/s]
48%|####7 | 19.8M/41.5M [00:00<00:00, 46.7MB/s]
59%|#####8 | 24.3M/41.5M [00:00<00:00, 28.9MB/s]
77%|#######7 | 32.0M/41.5M [00:00<00:00, 31.9MB/s]
96%|#########6| 40.0M/41.5M [00:01<00:00, 39.5MB/s]
100%|##########| 41.5M/41.5M [00:01<00:00, 40.4MB/s]
diff --git a/docs/_sources/how_to/compile_models/from_onnx.rst.txt b/docs/_sources/how_to/compile_models/from_onnx.rst.txt
index 067fb1546a..5fc6b9d896 100644
--- a/docs/_sources/how_to/compile_models/from_onnx.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_onnx.rst.txt
@@ -154,7 +154,7 @@ provides a static definition of the input size.
.. code-block:: none
- /workspace/python/tvm/relay/frontend/onnx.py:7183: UserWarning: Mismatched attribute type in ' : kernel_shape'
+ /workspace/python/tvm/relay/frontend/onnx.py:7294: UserWarning: Mismatched attribute type in ' : kernel_shape'
==> Context: Bad node spec for node. Name: OpType: Conv
warnings.warn(str(e))
diff --git a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
index b09898289d..c85789a89f 100644
--- a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
@@ -101,7 +101,7 @@ Load a pretrained PyTorch model
/venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing `weights=ResNet18_Weights.IMAGENET1K_V1`. You can also use `weights=ResNet18_Weights.DEFAULT` to get the most up-to-date weights.
warnings.warn(msg)
Downloading: "https://download.pytorch.org/models/resnet18-f37072fd.pth" to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
-
0%| | 0.00/44.7M [00:00<?, ?B/s]
20%|#9 | 8.93M/44.7M [00:00<00:00, 93.6MB/s]
40%|###9 | 17.9M/44.7M [00:00<00:00, 62.0MB/s]
72%|#######1 | 32.0M/44.7M [00:00<00:00, 89.2MB/s]
93%|#########2| 41.3M/44.7M [00:00<00:00, 85.6MB/s]
100%|##########| 44.7M/44.7M [00:00<00:00, 86.1MB/s]
+
0%| | 0.00/44.7M [00:00<?, ?B/s]
21%|## | 9.18M/44.7M [00:00<00:00, 96.2MB/s]
48%|####7 | 21.3M/44.7M [00:00<00:00, 115MB/s]
72%|#######2 | 32.3M/44.7M [00:00<00:00, 93.0MB/s]
96%|#########6| 43.0M/44.7M [00:00<00:00, 99.7MB/s]
100%|##########| 44.7M/44.7M [00:00<00:00, 102MB/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 cf271d095b..90d8c2ca95 100644
--- a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
@@ -424,7 +424,7 @@ Run the corresponding model on tensorflow
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 22.981 seconds)
+ **Total running time of the script:** ( 1 minutes 23.866 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 5eccf380ea..59fda0496e 100644
--- a/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
@@ -5,26 +5,26 @@
Computation times
=================
-**06:29.948** total execution time for **how_to_compile_models** files:
+**06:34.735** total execution time for **how_to_compile_models** files:
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:22.981 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:23.866 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``) | 01:17.745 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``) | 01:18.424 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``) | 00:53.684 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``) | 00:54.521 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``) | 00:36.941 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``) | 00:37.492 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``) | 00:31.841 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``) | 00:31.754 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``) | 00:31.464 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``) | 00:31.723 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``) | 00:26.839 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``) | 00:27.153 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``) | 00:24.769 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``) | 00:25.243 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``) | 00:21.028 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``) | 00:21.842 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``) | 00:02.655 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``) | 00:02.715 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt b/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt
index 4de503ff54..717b2fe45c 100644
--- a/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt
@@ -727,7 +727,7 @@ well as provides information about the model's performance
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 2753.9312 2752.5750 2760.9698 2751.4474 2.8650
+ 2758.0511 2758.4103 2761.5826 2755.3605 1.9217
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 dcc7cde051..e77bd2a1c1 100644
--- a/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
@@ -437,7 +437,7 @@ Execute on TVM
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 16.1955 16.1578 16.4410 15.9977 0.1524
+ 16.1852 16.0682 16.8788 15.9980 0.2718
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 633900b5f4..315898a68b 100644
--- a/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
@@ -130,7 +130,7 @@ Load pre-trained maskrcnn from torchvision and do tracing
/venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing `weights=MaskRCNN_ResNet50_FPN_Weights.COCO_V1`. You can also use `weights=MaskRCNN_ResNet50_FPN_Weights.DEFAULT` to get the most up-to-date weights.
warnings.warn(msg)
Downloading: "https://download.pytorch.org/models/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth" to /workspace/.cache/torch/hub/checkpoints/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth
-
0%| | 0.00/170M [00:00<?, ?B/s]
7%|7 | 12.5M/170M [00:00<00:01, 132MB/s]
15%|#4 | 25.1M/170M [00:00<00:01, 86.1MB/s]
20%|## | 34.2M/170M [00:00<00:01, 80.3MB/s]
26%|##5 | 43.5M/170M [00:00<00:01, 85.7MB/s]
33%|###2 | 56.0M/170M [00:00<00:01, 88.2MB/s]
38%|###8 | 64.6M/170M [00:00<00:01, 81.4MB/s]
45%|####5 | 76.7M/170M [00:00<00:01, 93.4MB/s]
51%|##### | 85.9M/170M [00:00<00:00, 93.8MB/s]
57%|#####6 | 96.0M/170M [00:01<00:00, 86.9MB/s]
62%|######1 | 105M/170M [00:01<00:00, 76.5MB/s]
69%|######8 | 117M/170M [00:01<00:00, 88.9MB/s]
74%|#######3 | 126M/170M [00:01<00:00, 81.9MB/s]
79%|#######9 | 135M/170M [00:01<00:00, 85.7MB/s]
84%|########4 | 143M/170M [00:01<00:00, 83.4MB/s]
89%|########9 | 152M/170M [00:01<00:00, 76.8MB/s]
94%|#########4| 160M/170M [00:02<00:00, 69.9MB/s]
100%|##########| 170M/170M [00:02<00:00, 84.1MB/s]
+
0%| | 0.00/170M [00:00<?, ?B/s]
5%|4 | 7.99M/170M [00:00<00:02, 72.2MB/s]
9%|8 | 15.0M/170M [00:00<00:02, 73.0MB/s]
13%|#3 | 22.3M/170M [00:00<00:02, 70.6MB/s]
17%|#7 | 29.1M/170M [00:00<00:02, 69.0MB/s]
21%|## | 35.6M/170M [00:00<00:02, 58.1MB/s]
24%|##4 | 41.4M/170M [00:00<00:02, 47.5MB/s]
29%|##8 | 49.0M/170M [00:00<00:02, 55.6MB/s]
33%|###3 | 56.6M/170M [00:00<00:01, 62.0MB/s]
38%|###7 | 64.0M/170M [00:01<00:02, 52.7MB/s]
42%|####2 | 72.0M/170M [00:01<00:01, 56.5MB/s]
47%|####7 | 80.0M/170M [00:01<00:01, 58.6MB/s]
52%|#####1 | 88.0M/170M [00:01<00:01, 58.1MB/s]
57%|#####6 | 96.0M/170M [00:01<00:01, 56.1MB/s]
61%|######1 | 104M/170M [00:01<00:01, 48.5MB/s]
67%|######6 | 113M/170M [00:02<00:01, 57.8MB/s]
70%|####### | 119M/170M [00:02<00:00, 58.2MB/s]
74%|#######3 | 125M/170M [00:02<00:00, 58.3MB/s]
77%|#######7 | 131M/170M [00:02<00:00, 59.0MB/s]
81%|######## | 137M/170M [00:02<00:00, 59.7MB/s]
85%|########4 | 144M/170M [00:02<00:00, 64.1MB/s]
89%|########9 | 152M/170M [00:02<00:00, 63.2MB/s]
94%|#########4| 160M/170M [00:02<00:00, 57.1MB/s]
99%|#########8| 168M/170M [00:02<00:00, 62.4MB/s]
100%|##########| 170M/170M [00:03<00:00, 59.2MB/s]
/venv/apache-tvm-py3.7/lib/python3.7/site-packages/torch/nn/functional.py:3897: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
for i in range(dim)
/venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/detection/anchor_utils.py:124: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
@@ -299,7 +299,7 @@ Get boxes with score larger than 0.9
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 3 minutes 38.471 seconds)
+ **Total running time of the script:** ( 3 minutes 38.884 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 640b3d0739..71ab864dea 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
@@ -227,7 +227,7 @@ training. Other models require a full post training calibration.
/venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing `weights=MobileNet_V2_Weights.IMAGENET1K_V1`. You can also use `weights=MobileNet_V2_Weights.DEFAULT` to get the most up-to-date weights.
warnings.warn(msg)
Downloading: "https://download.pytorch.org/models/mobilenet_v2-b0353104.pth" to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2-b0353104.pth
-
0%| | 0.00/13.6M [00:00<?, ?B/s]
59%|#####8 | 7.99M/13.6M [00:00<00:00, 76.6MB/s]
100%|##########| 13.6M/13.6M [00:00<00:00, 97.0MB/s]
+
0%| | 0.00/13.6M [00:00<?, ?B/s]
59%|#####8 | 7.99M/13.6M [00:00<00:00, 42.1MB/s]
100%|##########| 13.6M/13.6M [00:00<00:00, 60.4MB/s]
@@ -409,7 +409,7 @@ Here we give an example of how to measure performance of TVM compiled models.
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 90.7666 90.6479 94.5772 90.4677 0.5786
+ 90.3257 90.2823 90.9095 90.1550 0.1561
@@ -458,7 +458,7 @@ TODO
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 16.375 seconds)
+ **Total running time of the script:** ( 1 minutes 16.858 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 8a124b83a0..bbb4db5025 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
@@ -423,7 +423,7 @@ Here we give an example of how to measure performance of TVM compiled models.
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 118.8949 118.7243 129.1887 118.0525 1.2197
+ 120.5431 120.4356 124.2705 119.4579 0.5607
@@ -460,7 +460,7 @@ Here we give an example of how to measure performance of TVM compiled models.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 2 minutes 29.917 seconds)
+ **Total running time of the script:** ( 2 minutes 35.025 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 e8b7761e3f..b8ba5747f4 100644
--- a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
@@ -257,7 +257,7 @@ We create a Relay VM to build and execute the model.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 36.506 seconds)
+ **Total running time of the script:** ( 1 minutes 39.875 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 3cd20d60d6..e8d8127110 100644
--- a/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt
@@ -170,7 +170,7 @@ Convert and compile model for CPU.
data: None
input_sym_arg_type = in_param.infer_type()[0]
Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
-
0%| | 0/132723 [00:00<?, ?KB/s]
5%|4 | 6332/132723 [00:00<00:01, 63314.32KB/s]
11%|#1 | 14681/132723 [00:00<00:01, 75175.75KB/s]
17%|#6 | 22199/132723 [00:00<00:01, 68289.74KB/s]
23%|##3 | 30592/132723 [00:00<00:01, 74107.12KB/s]
29%|##9 | 38936/132723 [00:00<00:01, 77343.66KB/s]
36%|###5 | 47350/132723 [00:00<00:01, 79592.59KB/s]
42%|####1 | 55356/132723 [00:00<00:01, 73910.76KB/s]
48%|####8 | 63781/132723 [00:00<00:00, 76995.12KB/s]
54%|#####3 | 71569/132723 [00:00<00:00, 74487.54KB/s]
60%|#####9 | 79165/132723 [00:01<00:00, 74914.44KB/s]
65%|######5 | 86746/132723 [00:01<00:00, 75175.73KB/s]
71%|#######1 | 94356/132723 [00:01<00:00, 75444.13KB/s]
77%|#######6 | 101996/132723 [00:01<00:00, 75726.81KB/s]
83%|########2 | 109623/132723 [00:01<00:00, 75885.60KB/s]
88%|########8 | 117225/132723 [00:01<00:00, 75771.17KB/s]
94%|########
#4| 124812/132723 [00:01<00:00, 75548.55KB/s]
100%|##########| 132723/132723 [00:01<00:00, 76511.00KB/s]
100%|##########| 132723/132723 [00:01<00:00, 75312.07KB/s]
+
0%| | 0/132723 [00:00<?, ?KB/s]
4%|4 | 5912/132723 [00:00<00:02, 59113.71KB/s]
11%|# | 13939/132723 [00:00<00:01, 71551.76KB/s]
16%|#5 | 21095/132723 [00:00<00:01, 71405.30KB/s]
22%|##1 | 29093/132723 [00:00<00:01, 74784.03KB/s]
28%|##7 | 36572/132723 [00:00<00:01, 67456.31KB/s]
34%|###3 | 44610/132723 [00:00<00:01, 71551.14KB/s]
40%|###9 | 52670/132723 [00:00<00:01, 74370.30KB/s]
46%|####5 | 60713/132723 [00:00<00:00, 76234.83KB/s]
52%|#####1 | 68779/132723 [00:00<00:00, 77586.29KB/s]
58%|#####7 | 76860/132723 [00:01<00:00, 78562.74KB/s]
64%|######3 | 84918/132723 [00:01<00:00, 79170.63KB/s]
70%|####### | 92925/132723 [00:01<00:00, 79436.96KB/s]
76%|#######6 | 101007/132723 [00:01<00:00, 79851.01KB/s]
82%|########2 | 109015/132723 [00:01<00:00, 79916.27KB/s]
88%|########8 | 117139/132723 [00:01<00:00, 80311.94KB/s]
94%|########
#4| 125190/132723 [00:01<00:00, 80368.99KB/s]
100%|##########| 132723/132723 [00:01<00:00, 76887.43KB/s]
@@ -246,7 +246,7 @@ Display result
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 3 minutes 48.678 seconds)
+ **Total running time of the script:** ( 3 minutes 50.395 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 96a79bd878..3e83a573a3 100644
--- a/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
@@ -5,26 +5,26 @@
Computation times
=================
-**15:24.145** total execution time for **how_to_deploy_models** files:
+**15:35.121** total execution time for **how_to_deploy_models** files:
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``) | 03:48.678 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``) | 03:50.395 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:38.471 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:38.884 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``) | 02:29.917 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``) | 02:35.025 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``) | 01:36.506 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``) | 01:39.875 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``) | 01:16.375 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``) | 01:16.858 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_adreno.py` (``deploy_model_on_adreno.py``) | 00:56.978 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_adreno.py` (``deploy_model_on_adreno.py``) | 00:56.894 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``) | 00:42.107 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``) | 00:42.361 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``) | 00:27.659 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``) | 00:27.625 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``) | 00:27.447 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``) | 00:27.198 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``) | 00:00.006 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt b/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
index 95cad2e011..5b49b80579 100644
--- a/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
@@ -463,7 +463,7 @@ First let us define two helper functions to get the mobilenet model and a cat im
.. code-block:: none
- Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip3ec3ad98-fdd9-41bd-b683-159c11e6219e from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+ Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip6f770df4-0064-4421-b0c9-d6d07aa21e3c 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 7cf8ba1b39..5f69d73683 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:54.029** total execution time for **how_to_extend_tvm** files:
+**00:53.949** 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:50.163 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``) | 00:50.027 | 0.0 MB |
+-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``) | 00:02.763 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``) | 00:02.808 | 0.0 MB |
+-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``) | 00:01.095 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``) | 00:01.105 | 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 |
+-------------------------------------------------------------------------------------------------+-----------+--------+
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 1867d88896..86769f1807 100644
--- a/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
@@ -220,10 +220,10 @@ profile the execution time of each passes.
.. code-block:: none
Printing results of timing profile...
- InferType: 22539us [22539us] (49.16%; 49.16%)
- FoldScaleAxis: 23312us [7us] (50.84%; 50.84%)
- FoldConstant: 23304us [1719us] (50.83%; 99.97%)
- InferType: 21585us [21585us] (47.08%; 92.62%)
+ InferType: 22137us [22137us] (47.66%; 47.66%)
+ FoldScaleAxis: 24306us [8us] (52.34%; 52.34%)
+ FoldConstant: 24298us [1754us] (52.32%; 99.97%)
+ InferType: 22545us [22545us] (48.54%; 92.78%)
@@ -262,10 +262,10 @@ Refer to following sections and :py:func:`tvm.instrument.pass_instrument` for th
.. code-block:: none
Printing results of timing profile...
- InferType: 22201us [22201us] (48.85%; 48.85%)
- FoldScaleAxis: 23249us [8us] (51.15%; 51.15%)
- FoldConstant: 23242us [1772us] (51.14%; 99.97%)
- InferType: 21470us [21470us] (47.24%; 92.38%)
+ InferType: 22086us [22086us] (47.83%; 47.83%)
+ FoldScaleAxis: 24090us [7us] (52.17%; 52.17%)
+ FoldConstant: 24083us [1812us] (52.15%; 99.97%)
+ InferType: 22271us [22271us] (48.23%; 92.48%)
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 7f6c247331..1b9188ed91 100644
--- a/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
@@ -331,7 +331,7 @@ latency of convolution.
.. code-block:: none
- Convolution: 47.690334 ms
+ Convolution: 51.684768 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 19475d8124..87ac91d7d4 100644
--- a/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
@@ -608,7 +608,7 @@ be able to run on our build server
.. code-block:: none
- conv2d with tensor core: 13.022621 ms
+ conv2d with tensor core: 8.853888 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 7abca1b5c1..8e8927a871 100644
--- a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
@@ -134,8 +134,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
.. code-block:: none
- Numpy running time: 0.019299
- Baseline: 3.338252
+ Numpy running time: 0.019118
+ Baseline: 3.424818
@@ -227,7 +227,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
.. code-block:: none
- Opt1: 0.333044
+ Opt1: 0.321386
@@ -318,7 +318,7 @@ In this tutorial, we chose to vectorize the inner loop row data since it is cach
.. code-block:: none
- Opt2: 0.351266
+ Opt2: 0.354678
@@ -406,7 +406,7 @@ the access pattern for A matrix is more cache friendly.
.. code-block:: none
- Opt3: 0.117798
+ Opt3: 0.124853
@@ -523,7 +523,7 @@ flattening.
.. code-block:: none
- Opt4: 0.109775
+ Opt4: 0.109579
@@ -635,7 +635,7 @@ write to C when all the block results are ready.
.. code-block:: none
- Opt5: 0.110994
+ Opt5: 0.111068
@@ -748,7 +748,7 @@ Furthermore, we can also utilize multi-core processors to do the thread-level pa
.. code-block:: none
- Opt6: 0.147178
+ Opt6: 0.147286
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 8316c53e78..e6b901c78d 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:35.437** total execution time for **how_to_optimize_operators** files:
+**00:35.735** total execution time for **how_to_optimize_operators** files:
+-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``) | 00:32.776 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``) | 00:33.139 | 0.0 MB |
+-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.583 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.522 | 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.074 | 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 55316e7499..18065b45e4 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:48.031** total execution time for **how_to_tune_with_autoscheduler** files:
+**10:04.100** total execution time for **how_to_tune_with_autoscheduler** files:
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 06:00.469 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 06:11.716 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``) | 01:41.591 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``) | 01:41.999 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``) | 01:07.913 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``) | 01:09.020 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``) | 00:30.931 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``) | 00:33.758 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``) | 00:13.791 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``) | 00:14.144 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``) | 00:13.335 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``) | 00:13.464 | 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 51297fe47e..5acebddc2a 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
@@ -1373,7 +1373,7 @@ In the example below we resume the status and do more 5 trials.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 6 minutes 0.469 seconds)
+ **Total running time of the script:** ( 6 minutes 11.716 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 03232f3350..fd36d308a7 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
@@ -647,7 +647,7 @@ so we can read the log file and load the best schedules.
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 7.9219 7.9219 7.9317 7.9122 0.0080
+ 7.9329 7.9385 7.9391 7.9209 0.0084
@@ -675,7 +675,7 @@ Other Tips
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 7.913 seconds)
+ **Total running time of the script:** ( 1 minutes 9.020 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 eba4867b5b..63f897a74a 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
@@ -666,7 +666,7 @@ so we can read the log file and load the best schedules.
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 760.5360 761.2203 761.2380 759.1496 0.9803
+ 753.7289 752.1321 759.1879 749.8668 3.9693
@@ -694,7 +694,7 @@ Other Tips
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 41.591 seconds)
+ **Total running time of the script:** ( 1 minutes 41.999 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 7312fb3abe..0763d849d9 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt
@@ -389,12 +389,12 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
@T.prim_func
def main(placeholder: T.Buffer((128, 256), "float32"), placeholder_1: T.Buffer((4916, 16, 1), "float32"), placeholder_2: T.Buffer((4916,), "int32"), placeholder_3: T.Buffer((33,), "int32"), placeholder_4: T.Buffer((128, 512), "float32"), compute: T.Buffer((128, 512), "float32")):
T.func_attr({"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True})
- compute_1 = T.allocate([4096], "float32", "global")
- for i1_outer in range(16):
+ for i0_outer_i1_outer_fused in T.parallel(16):
+ compute_1 = T.allocate([4096], "float32", "global")
compute_2 = T.Buffer((4096,), data=compute_1)
- for i_outer_inner, nb_j_inner in T.grid(4, 2):
- for i_inner_init in range(32):
- cse_var_1: T.int32 = i_outer_inner * 1024 + i_inner_init * 32 + nb_j_inner * 16
+ for i_outer_inner, nb_j_inner in T.grid(2, 2):
+ for i_inner_init in range(64):
+ cse_var_1: T.int32 = i_outer_inner * 2048 + i_inner_init * 32 + nb_j_inner * 16
compute_2[cse_var_1] = T.float32(0)
compute_2[cse_var_1 + 1] = T.float32(0)
compute_2[cse_var_1 + 2] = T.float32(0)
@@ -411,13 +411,13 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
compute_2[cse_var_1 + 13] = T.float32(0)
compute_2[cse_var_1 + 14] = T.float32(0)
compute_2[cse_var_1 + 15] = T.float32(0)
- for elem_idx, i_inner in T.grid(T.let(cse_var_2, i1_outer * 2 + nb_j_inner, placeholder_5[cse_var_2 + 1] - placeholder_5[cse_var_2]), 32):
+ for elem_idx, i_inner in T.grid(T.let(cse_var_2, i0_outer_i1_outer_fused * 2 + nb_j_inner, placeholder_5[cse_var_2 + 1] - placeholder_5[cse_var_2]), 64):
cse_var_2 = T.int32()
placeholder_5 = T.Buffer((33,), "int32", data=placeholder_3.data)
cse_var_21: T.int32 = elem_idx * 16
- cse_var_20: T.int32 = i1_outer * 2 + nb_j_inner
- cse_var_19: T.int32 = i_outer_inner * 8192 + i_inner * 256
- cse_var_18: T.int32 = i_outer_inner * 1024 + i_inner * 32 + nb_j_inner * 16
+ cse_var_20: T.int32 = i0_outer_i1_outer_fused * 2 + nb_j_inner
+ cse_var_19: T.int32 = i_outer_inner * 16384 + i_inner * 256
+ cse_var_18: T.int32 = i_outer_inner * 2048 + i_inner * 32 + nb_j_inner * 16
cse_var_17: T.int32 = cse_var_18 + 9
cse_var_16: T.int32 = cse_var_18 + 8
cse_var_15: T.int32 = cse_var_18 + 7
@@ -452,11 +452,11 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
compute_2[cse_var_7] = compute_2[cse_var_7] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 13] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
compute_2[cse_var_8] = compute_2[cse_var_8] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 14] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
compute_2[cse_var_9] = compute_2[cse_var_9] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 15] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
- for i0_inner, i1_inner in T.grid(128, 32):
- cse_var_22: T.int32 = i0_inner * 512 + i1_outer * 32 + i1_inner
+ for i0_inner in range(128):
+ cse_var_22: T.int32 = i0_inner * 512 + i0_outer_i1_outer_fused * 32
compute_3 = T.Buffer((65536,), data=compute.data)
placeholder_5 = T.Buffer((65536,), data=placeholder_4.data)
- compute_3[cse_var_22] = T.max(compute_2[i0_inner * 32 + i1_inner] + placeholder_5[cse_var_22], T.float32(0))
+ compute_3[cse_var_22:cse_var_22 + 32] = T.max(compute_2[i0_inner * 32:i0_inner * 32 + 32] + placeholder_5[cse_var_22:cse_var_22 + 32], T.Broadcast(T.float32(0), 32))
@@ -506,7 +506,7 @@ We build the binary and check its correctness and performance.
.. code-block:: none
- Execution time of this operator: 1.683 ms
+ Execution time of this operator: 1.856 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 08e8e59e41..4866c164f2 100644
--- a/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
Computation times
=================
-**00:47.984** total execution time for **how_to_tune_with_autotvm** files:
+**00:38.744** 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:47.951 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``) | 00:38.711 | 0.0 MB |
+--------------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``) | 00:00.020 | 0.0 MB |
+--------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt b/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
index 74b5ff2ca8..0ccfaaff48 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
@@ -268,8 +268,7 @@ for this template
waiting for device...
device available
Get devices for measurement successfully!
- No: 1 GFLOPS: 26.68/26.68 result: MeasureResult(costs=(0.00867671382352941,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.2997496128082275, timestamp=1677679869.428613) [('tile_f', [-1, 4, 4, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2094914
- No: 2 GFLOPS: 0.00/26.68 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 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -391,9 +390,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 32, 8, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 16, 32]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5383872
- No: 3 GFLOPS: 4.91/26.68 result: MeasureResult(costs=(0.04716875075,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.350210905075073, timestamp=1677679871.755255) [('tile_f', [-1, 2, 2, 32]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4907291
- No: 4 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 16, 1, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 256, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7966744
+ No: 2 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -515,8 +513,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 2, 64]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 16, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1464525
- No: 5 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 32, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 8, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6663233
+ No: 3 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -638,8 +636,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 128, 2, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 32, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7278551
- No: 6 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 16, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 64, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,3021044
+ No: 4 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -761,8 +759,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 2, 32]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10107653
- No: 7 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 1, 16]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 32, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,890506
+ No: 5 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -884,8 +882,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 4, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 32, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6280078
- No: 8 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 16, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,886908
+ No: 6 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1007,8 +1005,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 2, 128]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 16, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8570313
- No: 9 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 4, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7330297
+ No: 7 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1130,8 +1128,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 1, 32]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10174308
- No: 10 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 128, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 64]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9268167
+ No: 8 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1253,8 +1251,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 1, 4]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 16, 32]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4221683
- No: 11 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 1, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1688776
+ No: 9 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1376,8 +1374,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 32, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 512]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8708962
- No: 12 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 16, 8]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,564898
+ No: 10 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1499,8 +1497,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 128, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 32]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6159658
- No: 13 GFLOPS: 0.00/26.68 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, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 64, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1059222
+ No: 11 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1622,26 +1620,9 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 32, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 16, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4781793
- No: 14 GFLOPS: 0.00/26.68 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, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7671503
- No: 15 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 1, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4398376
+ No: 12 GFLOPS: 47.42/47.42 result: MeasureResult(costs=(0.00488152312,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4767069816589355, timestamp=1677714965.0030162) [('tile_f', [-1, 4, 4, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 8, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1075381
+ No: 13 GFLOPS: 0.00/47.42 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1763,8 +1744,9 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 256, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 16, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8988419
- No: 16 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 2, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 64, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2800886
+ No: 14 GFLOPS: 102.46/102.46 result: MeasureResult(costs=(0.0022594799791666666,), error_no=MeasureErrorNo.NO_ERROR, all_cost=8.367532968521118, timestamp=1677714973.5663285) [('tile_f', [-1, 4, 1, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10113677
+ No: 15 GFLOPS: 0.00/102.46 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1886,8 +1868,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 1, 16]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 32, 4]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2990186
- No: 17 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 64, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6355236
+ No: 16 GFLOPS: 0.00/102.46 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -2009,26 +1991,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 2, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9804272
- No: 18 GFLOPS: 0.00/26.68 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, 4, 4, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 32]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8859737
- No: 19 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 16, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2305247
+ No: 17 GFLOPS: 0.00/102.46 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -2150,8 +2114,376 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 4, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6914529
- No: 20 GFLOPS: 175.74/175.74 result: MeasureResult(costs=(0.001317304396039604,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7212941646575928, timestamp=1677679896.079014) [('tile_f', [-1, 8, 1, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6204543
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 32, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6495762
+ No: 18 GFLOPS: 0.00/102.46 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ func = build(s, args, target=target, runtime=runtime)
+ File "/workspace/python/tvm/driver/build_module.py", line 227, in build
+ input_mod = lower(inputs, args, name=name, binds=binds)
+ File "/workspace/python/tvm/driver/build_module.py", line 134, in lower
+ return ffi.lower_schedule(inp, args, name, binds, simple_mode)
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 276, in tvm._ffi._cy3.core.FuncCall
+ File "tvm/_ffi/_cython/./base.pxi", line 181, in tvm._ffi._cy3.core.CHECK_CALL
+ tvm._ffi.base.TVMError: Traceback (most recent call last):
+ 24: TVMFuncCall
+ at ../src/runtime/c_runtime_api.cc:477
+ 23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 22: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 21: operator()
+ at ../include/tvm/runtime/packed_func.h:1734
+ 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:1674
+ 19: run<>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1649
+ 13: operator()
+ at ../src/driver/driver_api.cc:402
+ 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:388
+ 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+ at ../src/driver/driver_api.cc:283
+ 10: tvm::transform::Pass::operator()(tvm::IRModule) const
+ at ../src/ir/transform.cc:258
+ 9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:451
+ 7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/tir/ir/transform.cc:100
+ 5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+ at ../include/tvm/runtime/packed_func.h:1753
+ 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:1697
+ 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:1621
+ 2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 1: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 0: operator()
+ at ../src/runtime/c_runtime_api.cc:534
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+ raise InstantiationError("Skipped because of invalid gpu kernel")
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+ Traceback (most recent call last):
+ 24: TVMFuncCall
+ at ../src/runtime/c_runtime_api.cc:477
+ 23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 22: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 21: operator()
+ at ../include/tvm/runtime/packed_func.h:1734
+ 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:1674
+ 19: run<>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1649
+ 13: operator()
+ at ../src/driver/driver_api.cc:402
+ 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:388
+ 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+ at ../src/driver/driver_api.cc:283
+ 10: tvm::transform::Pass::operator()(tvm::IRModule) const
+ at ../src/ir/transform.cc:258
+ 9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:451
+ 7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/tir/ir/transform.cc:100
+ 5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+ at ../include/tvm/runtime/packed_func.h:1753
+ 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:1697
+ 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:1621
+ 2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 1: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 0: operator()
+ at ../src/runtime/c_runtime_api.cc:534
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+ raise InstantiationError("Skipped because of invalid gpu kernel")
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 16, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7913216
+ No: 19 GFLOPS: 0.00/102.46 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ func = build(s, args, target=target, runtime=runtime)
+ File "/workspace/python/tvm/driver/build_module.py", line 227, in build
+ input_mod = lower(inputs, args, name=name, binds=binds)
+ File "/workspace/python/tvm/driver/build_module.py", line 134, in lower
+ return ffi.lower_schedule(inp, args, name, binds, simple_mode)
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 276, in tvm._ffi._cy3.core.FuncCall
+ File "tvm/_ffi/_cython/./base.pxi", line 181, in tvm._ffi._cy3.core.CHECK_CALL
+ tvm._ffi.base.TVMError: Traceback (most recent call last):
+ 24: TVMFuncCall
+ at ../src/runtime/c_runtime_api.cc:477
+ 23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 22: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 21: operator()
+ at ../include/tvm/runtime/packed_func.h:1734
+ 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:1674
+ 19: run<>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1649
+ 13: operator()
+ at ../src/driver/driver_api.cc:402
+ 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:388
+ 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+ at ../src/driver/driver_api.cc:283
+ 10: tvm::transform::Pass::operator()(tvm::IRModule) const
+ at ../src/ir/transform.cc:258
+ 9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:451
+ 7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/tir/ir/transform.cc:100
+ 5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+ at ../include/tvm/runtime/packed_func.h:1753
+ 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:1697
+ 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:1621
+ 2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 1: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 0: operator()
+ at ../src/runtime/c_runtime_api.cc:534
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+ raise InstantiationError("Skipped because of invalid gpu kernel")
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+ Traceback (most recent call last):
+ 24: TVMFuncCall
+ at ../src/runtime/c_runtime_api.cc:477
+ 23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 22: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 21: operator()
+ at ../include/tvm/runtime/packed_func.h:1734
+ 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:1674
+ 19: run<>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1649
+ 13: operator()
+ at ../src/driver/driver_api.cc:402
+ 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:388
+ 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+ at ../src/driver/driver_api.cc:283
+ 10: tvm::transform::Pass::operator()(tvm::IRModule) const
+ at ../src/ir/transform.cc:258
+ 9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:451
+ 7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/tir/ir/transform.cc:100
+ 5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+ at ../include/tvm/runtime/packed_func.h:1753
+ 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:1697
+ 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:1621
+ 2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 1: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 0: operator()
+ at ../src/runtime/c_runtime_api.cc:534
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+ raise InstantiationError("Skipped because of invalid gpu kernel")
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 8, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 32, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3734241
+ No: 20 GFLOPS: 0.00/102.46 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ func = build(s, args, target=target, runtime=runtime)
+ File "/workspace/python/tvm/driver/build_module.py", line 227, in build
+ input_mod = lower(inputs, args, name=name, binds=binds)
+ File "/workspace/python/tvm/driver/build_module.py", line 134, in lower
+ return ffi.lower_schedule(inp, args, name, binds, simple_mode)
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 276, in tvm._ffi._cy3.core.FuncCall
+ File "tvm/_ffi/_cython/./base.pxi", line 181, in tvm._ffi._cy3.core.CHECK_CALL
+ tvm._ffi.base.TVMError: Traceback (most recent call last):
+ 24: TVMFuncCall
+ at ../src/runtime/c_runtime_api.cc:477
+ 23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 22: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 21: operator()
+ at ../include/tvm/runtime/packed_func.h:1734
+ 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:1674
+ 19: run<>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1649
+ 13: operator()
+ at ../src/driver/driver_api.cc:402
+ 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:388
+ 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+ at ../src/driver/driver_api.cc:283
+ 10: tvm::transform::Pass::operator()(tvm::IRModule) const
+ at ../src/ir/transform.cc:258
+ 9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:451
+ 7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/tir/ir/transform.cc:100
+ 5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+ at ../include/tvm/runtime/packed_func.h:1753
+ 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:1697
+ 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:1621
+ 2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 1: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 0: operator()
+ at ../src/runtime/c_runtime_api.cc:534
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+ raise InstantiationError("Skipped because of invalid gpu kernel")
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+ Traceback (most recent call last):
+ 24: TVMFuncCall
+ at ../src/runtime/c_runtime_api.cc:477
+ 23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 22: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 21: operator()
+ at ../include/tvm/runtime/packed_func.h:1734
+ 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:1674
+ 19: run<>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1649
+ 13: operator()
+ at ../src/driver/driver_api.cc:402
+ 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:388
+ 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+ at ../src/driver/driver_api.cc:283
+ 10: tvm::transform::Pass::operator()(tvm::IRModule) const
+ at ../src/ir/transform.cc:258
+ 9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:451
+ 7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/tir/ir/transform.cc:100
+ 5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+ at ../include/tvm/runtime/packed_func.h:1753
+ 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:1697
+ 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:1621
+ 2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 1: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 0: operator()
+ at ../src/runtime/c_runtime_api.cc:534
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+ raise InstantiationError("Skipped because of invalid gpu kernel")
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 16, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 8, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1463598
@@ -2206,9 +2538,9 @@ and measure running time.
Finish loading 20 records
Best config:
- [('tile_f', [-1, 8, 1, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6204543
+ [('tile_f', [-1, 4, 1, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10113677
Finish loading 20 records
- Time cost of this operator: 0.001492
+ Time cost of this operator: 0.002369
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 bee4b9178c..998e0e46ba 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
@@ -360,10 +360,10 @@ Timing the untuned program
########## Build without Autotuning ##########
Node Name Ops Time(us) Time(%) Shape Inputs Outputs Measurements(us)
--------- --- -------- ------- ----- ------ ------- ----------------
- tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 315.1 98.737 (1, 2, 10, 10, 3) 2 1 [315.1]
- tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 3.069 0.962 (1, 6, 10, 10) 1 1 [3.069]
- tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.962 0.301 (1, 1, 10, 10, 3) 1 1 [0.962]
- Total_time - 319.13 - - - - -
+ tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 315.1 98.741 (1, 2, 10, 10, 3) 2 1 [315.1]
+ tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 3.059 0.958 (1, 6, 10, 10) 1 1 [3.059]
+ tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.96 0.301 (1, 1, 10, 10, 3) 1 1 [0.96]
+ Total_time - 319.118 - - - - -
@@ -428,10 +428,10 @@ Timing the tuned program
########## Build with Autotuning ##########
Node Name Ops Time(us) Time(%) Shape Inputs Outputs Measurements(us)
--------- --- -------- ------- ----- ------ ------- ----------------
- tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 103.0 97.42 (1, 6, 10, 10, 1) 2 1 [103.0]
- tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.773 1.677 (1, 6, 10, 10) 1 1 [1.773]
- tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.954 0.903 (1, 1, 10, 10, 3) 1 1 [0.954]
- Total_time - 105.727 - - - - -
+ tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 100.9 97.366 (1, 6, 10, 10, 1) 2 1 [100.9]
+ tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.762 1.7 (1, 6, 10, 10) 1 1 [1.762]
+ tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.968 0.934 (1, 1, 10, 10, 3) 1 1 [0.968]
+ Total_time - 103.63 - - - - -
@@ -439,7 +439,7 @@ Timing the tuned program
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 15.282 seconds)
+ **Total running time of the script:** ( 1 minutes 15.109 seconds)
.. _sphx_glr_download_how_to_work_with_microtvm_micro_autotune.py:
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 74b8f7de90..61332800a1 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_pytorch.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_pytorch.rst.txt
@@ -118,7 +118,7 @@ download a cat image and preprocess it to use as the model input.
/venv/apache-tvm-py3.7/lib/python3.7/site-packages/torch/ao/quantization/utils.py:281: UserWarning: must run observer before calling calculate_qparams. Returning default values.
"must run observer before calling calculate_qparams. " +
Downloading: "https://download.pytorch.org/models/quantized/mobilenet_v2_qnnpack_37f702c5.pth" to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2_qnnpack_37f702c5.pth
-
0%| | 0.00/3.42M [00:00<?, ?B/s]
69%|######8 | 2.35M/3.42M [00:00<00:00, 24.7MB/s]
100%|##########| 3.42M/3.42M [00:00<00:00, 34.3MB/s]
+
0%| | 0.00/3.42M [00:00<?, ?B/s]
61%|###### | 2.09M/3.42M [00:00<00:00, 19.2MB/s]
100%|##########| 3.42M/3.42M [00:00<00:00, 30.0MB/s]
/workspace/python/tvm/relay/frontend/pytorch_utils.py:47: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
return LooseVersion(torch_ver) > ver
/venv/apache-tvm-py3.7/lib/python3.7/site-packages/setuptools/_distutils/version.py:346: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
@@ -324,7 +324,7 @@ Look up prediction top 1 index in 1000 class synset.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 14.113 seconds)
+ **Total running time of the script:** ( 1 minutes 13.985 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 2c7375a26b..ad7634f372 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
@@ -218,7 +218,7 @@ take about **2 minutes** to download the Stanford Cars, while COCO 2017 validati
.. code-block:: none
- '/tmp/tmptqeolsd1/images/random'
+ '/tmp/tmpo3loes4a/images/random'
@@ -309,7 +309,7 @@ objects to other stuff? We can display some examples from our datasets using ``m
.. image-sg:: /how_to/work_with_microtvm/images/sphx_glr_micro_train_001.png
- :alt: [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0]
+ :alt: [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0]
:srcset: /how_to/work_with_microtvm/images/sphx_glr_micro_train_001.png
:class: sphx-glr-single-img
@@ -318,8 +318,8 @@ objects to other stuff? We can display some examples from our datasets using ``m
.. code-block:: none
- /tmp/tmptqeolsd1/images/target contains 8144 images
- /tmp/tmptqeolsd1/images/random contains 5000 images
+ /tmp/tmpo3loes4a/images/target contains 8144 images
+ /tmp/tmpo3loes4a/images/random contains 5000 images
@@ -494,13 +494,13 @@ the time on our validation set).
.. code-block:: none
Epoch 1/3
- 328/328 - 47s - loss: 0.2269 - accuracy: 0.9220 - val_loss: 0.0900 - val_accuracy: 0.9668 - 47s/epoch - 144ms/step
+ 328/328 - 47s - loss: 0.2116 - accuracy: 0.9257 - val_loss: 0.1621 - val_accuracy: 0.9415 - 47s/epoch - 143ms/step
Epoch 2/3
- 328/328 - 44s - loss: 0.1070 - accuracy: 0.9592 - val_loss: 0.0892 - val_accuracy: 0.9679 - 44s/epoch - 133ms/step
+ 328/328 - 44s - loss: 0.1023 - accuracy: 0.9644 - val_loss: 0.0990 - val_accuracy: 0.9622 - 44s/epoch - 133ms/step
Epoch 3/3
- 328/328 - 43s - loss: 0.0726 - accuracy: 0.9737 - val_loss: 0.1847 - val_accuracy: 0.9362 - 43s/epoch - 132ms/step
+ 328/328 - 43s - loss: 0.0686 - accuracy: 0.9727 - val_loss: 0.0964 - val_accuracy: 0.9675 - 43s/epoch - 132ms/step
- <keras.callbacks.History object at 0x7f3dba490bd0>
+ <keras.callbacks.History object at 0x7ff45a51dc10>
@@ -861,7 +861,7 @@ Arduino tutorial for how to do that `on GitHub <https://github.com/guberti/tvm-a
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 5 minutes 17.370 seconds)
+ **Total running time of the script:** ( 4 minutes 50.147 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 9cc797a057..a6622c067d 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
=================
-**08:03.094** total execution time for **how_to_work_with_microtvm** files:
+**07:36.009** total execution time for **how_to_work_with_microtvm** files:
+-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``) | 05:17.370 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``) | 04:50.147 | 0.0 MB |
+-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``) | 01:15.282 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``) | 01:15.109 | 0.0 MB |
+-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_pytorch.py` (``micro_pytorch.py``) | 01:14.113 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_pytorch.py` (``micro_pytorch.py``) | 01:13.985 | 0.0 MB |
+-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``) | 00:09.500 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``) | 00:09.712 | 0.0 MB |
+-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``) | 00:06.830 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``) | 00:07.054 | 0.0 MB |
+-----------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_work_with_microtvm_micro_ethosu.py` (``micro_ethosu.py``) | 00:00.000 | 0.0 MB |
+-----------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
index 83f4618df2..6a6878bf0f 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:45.984** total execution time for **how_to_work_with_relay** files:
+**00:46.245** 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:34.167 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_pipeline_executor.py` (``using_pipeline_executor.py``) | 00:34.221 | 0.0 MB |
+----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``) | 00:10.269 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``) | 00:10.415 | 0.0 MB |
+----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``) | 00:01.542 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``) | 00:01.602 | 0.0 MB |
+----------------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``) | 00:00.006 | 0.0 MB |
+----------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt b/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
index f772f98f34..38f572a810 100644
--- a/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
@@ -264,7 +264,7 @@ The following example customizes CUDA lowering rule for :code:`exp`.
.. code-block:: none
- <function my_cuda_math_rule at 0x7f3c702d1f80>
+ <function my_cuda_math_rule at 0x7ff306ed4d40>
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 d6301a01d5..dcc80ef20a 100644
--- a/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
@@ -5,22 +5,22 @@
Computation times
=================
-**00:08.258** total execution time for **how_to_work_with_schedules** files:
+**00:08.074** 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.734 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``) | 00:05.556 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``) | 00:01.140 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``) | 00:01.146 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``) | 00:00.591 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``) | 00:00.580 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``) | 00:00.563 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``) | 00:00.562 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``) | 00:00.118 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.054 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.053 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``) | 00:00.032 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``) | 00:00.033 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``) | 00:00.027 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
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 5e022e9269..a35aaaf93b 100644
--- a/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
Computation times
=================
-**00:30.862** total execution time for **topic_vta_tutorials_autotvm** files:
+**00:31.012** total execution time for **topic_vta_tutorials_autotvm** files:
+---------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``) | 00:30.856 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``) | 00:31.006 | 0.0 MB |
+---------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``) | 00:00.007 | 0.0 MB |
+---------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
index 7a079f7d27..5c3dd71486 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
@@ -293,7 +293,7 @@ The compilation steps are:
DeprecationWarning,
/workspace/vta/tutorials/frontend/deploy_classification.py:213: DeprecationWarning: legacy graph executor behavior of producing json / lib / params will be removed in the next release. Please see documents of tvm.contrib.graph_executor.GraphModule for the new recommended usage.
relay_prog, target=tvm.target.Target(target, host=env.target_host), params=params
- resnet18_v1 inference graph built in 33.22s!
+ resnet18_v1 inference graph built in 33.15s!
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 742c347ea9..dd7b0393e5 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
@@ -337,7 +337,7 @@ The compilation steps are:
/workspace/python/tvm/relay/build_module.py:348: DeprecationWarning: Please use input parameter mod (tvm.IRModule) instead of deprecated parameter mod (tvm.relay.function.Function)
DeprecationWarning,
- yolov3-tiny inference graph built in 22.60s!
+ yolov3-tiny inference graph built in 22.54s!
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 25d627dec1..d4b84598e3 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:40.047** total execution time for **topic_vta_tutorials_frontend** files:
+**01:39.502** total execution time for **topic_vta_tutorials_frontend** files:
+------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:50.211 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:49.959 | 0.0 MB |
+------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``) | 00:49.836 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``) | 00:49.543 | 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 67775c6e8c..a14ab615b0 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.124** total execution time for **topic_vta_tutorials_optimize** files:
+**00:03.140** total execution time for **topic_vta_tutorials_optimize** files:
+--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``) | 00:02.666 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``) | 00:02.681 | 0.0 MB |
+--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.458 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.459 | 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 96ae754138..0a0812246a 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.766** total execution time for **topic_vta_tutorials** files:
+**00:00.756** total execution time for **topic_vta_tutorials** files:
+---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.397 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.392 | 0.0 MB |
+---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.369 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.364 | 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 a04824e120..fc79e89642 100644
--- a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
@@ -318,7 +318,7 @@ We build the binary and check its correctness and performance.
.. code-block:: none
- Execution time of this operator: 97.154 ms
+ Execution time of this operator: 96.773 ms
@@ -434,7 +434,7 @@ operations.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 30.189 seconds)
+ **Total running time of the script:** ( 1 minutes 41.831 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 87cd3eb0a4..c3f6e2a7bb 100644
--- a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
@@ -454,16 +454,16 @@ reduce variance, we take 5 measurements and average them.
waiting for device...
device available
Get devices for measurement successfully!
- No: 1 GFLOPS: 1.79/1.79 result: MeasureResult(costs=(0.1498897656,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.6563165187835693, timestamp=1677678300.176318) [('tile_y', [-1, 512]), ('tile_x', [-1, 4])],None,29
- No: 2 GFLOPS: 9.90/9.90 result: MeasureResult(costs=(0.027103389600000007,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6756525039672852, timestamp=1677678301.948155) [('tile_y', [-1, 1]), ('tile_x', [-1, 256])],None,80
- No: 3 GFLOPS: 2.31/9.90 result: MeasureResult(costs=(0.11630982699999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.1019110679626465, timestamp=1677678304.0721116) [('tile_y', [-1, 8]), ('tile_x', [-1, 2])],None,13
- No: 4 GFLOPS: 3.11/9.90 result: MeasureResult(costs=(0.086289253,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6055762767791748, timestamp=1677678306.7964268) [('tile_y', [-1, 1]), ('tile_x', [-1, 16])],None,40
- No: 5 GFLOPS: 10.38/10.38 result: MeasureResult(costs=(0.025863295599999996,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6777927875518799, timestamp=1677678307.5894535) [('tile_y', [-1, 32]), ('tile_x', [-1, 256])],None,85
- No: 6 GFLOPS: 9.54/10.38 result: MeasureResult(costs=(0.028148825,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6843481063842773, timestamp=1677678309.35059) [('tile_y', [-1, 512]), ('tile_x', [-1, 32])],None,59
- No: 7 GFLOPS: 9.73/10.38 result: MeasureResult(costs=(0.027589337399999997,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6741876602172852, timestamp=1677678310.0497963) [('tile_y', [-1, 512]), ('tile_x', [-1, 512])],None,99
- No: 8 GFLOPS: 3.25/10.38 result: MeasureResult(costs=(0.0827038036,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5616176128387451, timestamp=1677678311.6303265) [('tile_y', [-1, 16]), ('tile_x', [-1, 4])],None,24
- No: 9 GFLOPS: 11.72/11.72 result: MeasureResult(costs=(0.0229061478,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5728840827941895, timestamp=1677678312.3836262) [('tile_y', [-1, 32]), ('tile_x', [-1, 512])],None,95
- No: 10 GFLOPS: 12.98/12.98 result: MeasureResult(costs=(0.020674351599999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6087906360626221, timestamp=1677678312.9784772) [('tile_y', [-1, 128]), ('tile_x', [-1, 128])],None,77
+ No: 1 GFLOPS: 11.10/11.10 result: MeasureResult(costs=(0.0241780968,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.7306947708129883, timestamp=1677713356.140362) [('tile_y', [-1, 16]), ('tile_x', [-1, 256])],None,84
+ No: 2 GFLOPS: 12.72/12.72 result: MeasureResult(costs=(0.0211045468,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.7344563007354736, timestamp=1677713356.7430134) [('tile_y', [-1, 64]), ('tile_x', [-1, 128])],None,76
+ No: 3 GFLOPS: 9.56/12.72 result: MeasureResult(costs=(0.0280904586,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.8028619289398193, timestamp=1677713358.5507808) [('tile_y', [-1, 512]), ('tile_x', [-1, 64])],None,69
+ No: 4 GFLOPS: 10.98/12.72 result: MeasureResult(costs=(0.024444154000000003,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6866891384124756, timestamp=1677713360.3163846) [('tile_y', [-1, 2]), ('tile_x', [-1, 256])],None,81
+ No: 5 GFLOPS: 2.90/12.72 result: MeasureResult(costs=(0.0924971312,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.73301100730896, timestamp=1677713362.2465057) [('tile_y', [-1, 8]), ('tile_x', [-1, 4])],None,23
+ No: 6 GFLOPS: 0.95/12.72 result: MeasureResult(costs=(0.28136179940000006,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.7526586055755615, timestamp=1677713367.009989) [('tile_y', [-1, 32]), ('tile_x', [-1, 2])],None,15
+ No: 7 GFLOPS: 3.63/12.72 result: MeasureResult(costs=(0.07390784419999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4801898002624512, timestamp=1677713369.5472076) [('tile_y', [-1, 128]), ('tile_x', [-1, 16])],None,47
+ No: 8 GFLOPS: 0.90/12.72 result: MeasureResult(costs=(0.2986684746,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.023548364639282, timestamp=1677713374.5819743) [('tile_y', [-1, 64]), ('tile_x', [-1, 2])],None,16
+ No: 9 GFLOPS: 2.38/12.72 result: MeasureResult(costs=(0.11301246200000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.0194313526153564, timestamp=1677713376.7178986) [('tile_y', [-1, 8]), ('tile_x', [-1, 2])],None,13
+ No: 10 GFLOPS: 3.05/12.72 result: MeasureResult(costs=(0.0880787586,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6186466217041016, timestamp=1677713378.3828144) [('tile_y', [-1, 128]), ('tile_x', [-1, 8])],None,37
diff --git a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
index 2c1382230e..998b8b2ffb 100644
--- a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
@@ -311,7 +311,7 @@ standard deviation.
.. code-block:: none
- {'mean': 527.814952450002, 'median': 528.2855766500063, 'std': 1.8815980713570735}
+ {'mean': 519.401059170001, 'median': 519.4929063500012, 'std': 1.349913173992629}
@@ -545,32 +545,31 @@ the tuning data to.
.. code-block:: none
-
[Task 1/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 1/25] Current/Best: 22.09/ 22.09 GFLOPS | Progress: (4/20) | 10.33 s
[Task 1/25] Current/Best: 16.17/ 22.09 GFLOPS | Progress: (8/20) | 13.88 s
[Task 1/25] Current/Best: 13.59/ 22.09 GFLOPS | Progress: (12/20) | 16.41 s
[Task 1/25] Current/Best: 10.28/ 22.09 GFLOPS | Progress: (16/20) | 19.12 s
[Task 1/25] Current/Best: 7.13/ 22.09 GFLOPS | Progress: (20/20) | 22.06 s Done.
-
[Task 2/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 2/25] Current/Best: 13.04/ 15.80 GFLOPS | Progress: (4/20) | 4.05 s
[Task 2/25] Current/Best: 12.52/ 15.80 GFLOPS | Progress: (8/20) | 6.49 s
[Task 2/25] Current/Best: 14.05/ 17.12 GFLOPS | Progress: (12/20) | 7.92 s
[Task 2/25] Current/Best: 14.81/ 17.12 GFLOPS | Progress: (16/20) | 9.78 s
[Task 2/25] Current/Best: 7.91/ 17.12 GFLOPS | Progress: (20/20) | 11.32 s Done.
-
[Task 3/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 3/25] Current/Best: 21.52/ 21.52 GFLOPS | Progress: (4/20) | 4.43 s
[Task 3/25] Current/Best: 3.00/ 21.52 GFLOPS | Progress: (8/20) | 9.94 s
[Task 3/25] Current/Best: 13.24/ 22.47 GFLOPS | Progress: (12/20) | 12.73 s
[Task 3/25] Current/Best: 11.18/ 22.47 GFLOPS | Progress: (16/20) | 15.18 s
[Task 3/25] Current/Best: 19.00/ 22.47 GFLOPS | Progress: (20/20) | 18.72 s Done.
-
[Task 4/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 4/25] Current/Best: 16.56/ 20.83 GFLOPS | Progress: (4/20) | 4.09 s
[Task 4/25] Current/Best: 12.74/ 20.83 GFLOPS | Progress: (8/20) | 6.98 s
[Task 4/25] Current/Best: 12.95/ 20.83 GFLOPS | Progress: (12/20) | 9.66 s
[Task 4/25] Current/Best: 8.37/ 20.83 GFLOPS | Progress: (16/20) | 14.68 s
[Task 4/25] Current/Best: 9.96/ 20.83 GFLOPS | Progress: (20/20) | 21.21 s Done.
-
[Task 5/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 5/25] Current/Best: 9.68/ 17.83 GFLOPS | Progress: (4/20) | 5.03 s
[Task 5/25] Current/Best: 5.11/ 17.83 GFLOPS | Progress: (8/20) | 7.49 s
[Task 5/25] Current/Best: 10.02/ 17.83 GFLOPS | Progress: (12/20) | 10.48 s
[Task 5/25] Current/Best: 19.65/ 19.65 GFLOPS | Progress: (16/20) | 12.44 s
[Task 5/25] Current/Best: 10.57/ 19.65 GFLOPS | Progress: (20/20) | 14.91 s Done.
-
[Task 6/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 6/25] Current/Best: 5.84/ 19.46 GFLOPS | Progress: (4/20) | 6.81 s
[Task 6/25] Current/Best: 5.67/ 19.46 GFLOPS | Progress: (8/20) | 9.76 s
[Task 6/25] Current/Best: 15.49/ 19.46 GFLOPS | Progress: (12/20) | 12.01 s
[Task 6/25] Current/Best: 15.56/ 19.46 GFLOPS | Progress: (16/20) | 15.45 s
[Task 6/25] Current/Best: 4.56/ 19.46 GFLOPS | Progress: (20/20) | 18.25 s Done.
-
[Task 7/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 7/25] Current/Best: 17.52/ 17.52 GFLOPS | Progress: (4/20) | 5.06 s
[Task 7/25] Current/Best: 15.27/ 17.52 GFLOPS | Progress: (8/20) | 7.35 s
[Task 7/25] Current/Best: 16.73/ 17.93 GFLOPS | Progress: (12/20) | 9.54 s
[Task 7/25] Current/Best: 15.47/ 21.73 GFLOPS | Progress: (16/20) | 11.88 s
[Task 7/25] Current/Best: 13.16/ 21.73 GFLOPS | Progress: (20/20) | 14.23 s Done.
-
[Task 8/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 8/25] Current/Best: 12.52/ 17.83 GFLOPS | Progress: (4/20) | 5.55 s
[Task 8/25] Current/Best: 11.32/ 17.83 GFLOPS | Progress: (8/20) | 11.72 s
[Task 8/25] Current/Best: 7.77/ 17.83 GFLOPS | Progress: (12/20) | 14.66 s
[Task 8/25] Current/Best: 6.36/ 17.83 GFLOPS | Progress: (16/20) | 18.51 s
[Task 8/25] Current/Best: 3.98/ 17.83 GFLOPS | Progress: (20/20) | 21.61 s Done.
-
[Task 9/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 9/25] Current/Best: 6.25/ 22.89 GFLOPS | Progress: (4/20) | 4.15 s
[Task 9/25] Current/Best: 18.90/ 22.89 GFLOPS | Progress: (8/20) | 11.26 s
[Task 9/25] Current/Best: 21.21/ 22.89 GFLOPS | Progress: (12/20) | 16.50 s
[Task 9/25] Current/Best: 20.10/ 22.89 GFLOPS | Progress: (16/20) | 18.07 s
[Task 9/25] Current/Best: 13.01/ 22.89 GFLOPS | Progress: (20/20) | 19.84 s Done.
-
[Task 10/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 10/25] Current/Best: 14.41/ 16.20 GFLOPS | Progress: (4/20) | 5.61 s
[Task 10/25] Current/Best: 9.77/ 20.89 GFLOPS | Progress: (8/20) | 7.91 s
[Task 10/25] Current/Best: 14.50/ 20.89 GFLOPS | Progress: (12/20) | 10.32 s
[Task 10/25] Current/Best: 9.56/ 20.98 GFLOPS | Progress: (16/20) | 12.57 s
[Task 10/25] Current/Best: 10.91/ 20.98 GFLOPS | Progress: (20/20) | 15.41 s Done.
-
[Task 11/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 11/25] Current/Best: 21.18/ 22.75 GFLOPS | Progress: (4/20) | 4.86 s
[Task 11/25] Current/Best: 21.14/ 22.75 GFLOPS | Progress: (8/20) | 7.17 s
[Task 11/25] Current/Best: 13.38/ 22.75 GFLOPS | Progress: (12/20) | 9.56 s
[Task 11/25] Current/Best: 5.62/ 22.75 GFLOPS | Progress: (16/20) | 12.21 s
[Task 11/25] Current/Best: 20.16/ 22.75 GFLOPS | Progress: (20/20) | 14.60 s Done.
-
[Task 12/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 12/25] Current/Best: 15.43/ 15.43 GFLOPS | Progress: (4/20) | 5.29 s
[Task 12/25] Current/Best: 9.71/ 18.11 GFLOPS | Progress: (8/20) | 8.23 s
[Task 12/25] Current/Best: 13.37/ 18.11 GFLOPS | Progress: (12/20) | 11.57 s
[Task 12/25] Current/Best: 15.83/ 18.11 GFLOPS | Progress: (16/20) | 14.69 s
[Task 12/25] Current/Best: 3.39/ 22.74 GFLOPS | Progress: (20/20) | 17.12 s Done.
-
[Task 13/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 13/25] Current/Best: 8.86/ 17.74 GFLOPS | Progress: (4/20) | 5.82 s
[Task 13/25] Current/Best: 9.86/ 20.07 GFLOPS | Progress: (8/20) | 9.16 s
[Task 13/25] Current/Best: 12.03/ 20.07 GFLOPS | Progress: (12/20) | 13.21 s
[Task 13/25] Current/Best: 14.30/ 20.07 GFLOPS | Progress: (16/20) | 16.60 s
[Task 13/25] Current/Best: 10.08/ 20.07 GFLOPS | Progress: (20/20) | 19.31 s Done.
-
[Task 14/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 14/25] Current/Best: 15.93/ 20.81 GFLOPS | Progress: (4/20) | 4.95 s
[Task 14/25] Current/Best: 10.25/ 20.81 GFLOPS | Progress: (8/20) | 7.90 s
[Task 14/25] Current/Best: 14.45/ 20.81 GFLOPS | Progress: (12/20) | 10.91 s
[Task 14/25] Current/Best: 18.05/ 20.81 GFLOPS | Progress: (16/20) | 16.14 s
[Task 14/25] Current/Best: 13.49/ 20.81 GFLOPS | Progress: (20/20) | 19.53 s
[Task 15/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 15/25] Current/Best: 3.09/ 14.17 GFLOPS | Progress: (4/20) | 6.48 s
[Task 15/25] Current/Best: 21.19/ 21.19 GFLOPS | Progress: (8/20) | 8.42 s
[Task 15/25] Current/Best: 12.00/ 21.19 GFLOPS | Progress: (12/20) | 10.75 s
[Task 15/25] Current/Best: 8.67/ 21.19 GFLOPS | Progress: (16/20) | 14.01 s
[Task 15/25] Current/Best: 13.86/ 21.19 GFLOPS | Progress: (20/20
) | 16.01 s Done.
-
[Task 16/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 16/25] Current/Best: 17.67/ 17.67 GFLOPS | Progress: (4/20) | 4.81 s
[Task 16/25] Current/Best: 6.34/ 17.67 GFLOPS | Progress: (8/20) | 6.64 s
[Task 16/25] Current/Best: 10.11/ 17.67 GFLOPS | Progress: (12/20) | 10.25 s
[Task 16/25] Current/Best: 14.76/ 17.67 GFLOPS | Progress: (16/20) | 12.74 s
[Task 16/25] Current/Best: 12.47/ 17.74 GFLOPS | Progress: (20/20) | 14.88 s Done.
-
[Task 17/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 17/25] Current/Best: 7.63/ 19.25 GFLOPS | Progress: (4/20) | 4.94 s
[Task 17/25] Current/Best: 19.40/ 21.80 GFLOPS | Progress: (8/20) | 6.74 s
[Task 17/25] Current/Best: 17.40/ 21.80 GFLOPS | Progress: (12/20) | 10.29 s
[Task 17/25] Current/Best: 7.80/ 22.47 GFLOPS | Progress: (16/20) | 13.39 s
[Task 17/25] Current/Best: 1.56/ 22.47 GFLOPS | Progress: (20/20) | 17.39 s Done.
-
[Task 18/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 18/25] Current/Best: 7.68/ 21.84 GFLOPS | Progress: (4/20) | 7.11 s
[Task 18/25] Current/Best: 13.50/ 21.84 GFLOPS | Progress: (8/20) | 10.28 s
[Task 18/25] Current/Best: 18.01/ 21.84 GFLOPS | Progress: (12/20) | 12.73 s
[Task 18/25] Current/Best: 18.34/ 21.84 GFLOPS | Progress: (16/20) | 14.81 s
[Task 18/25] Current/Best: 15.01/ 21.84 GFLOPS | Progress: (20/20) | 18.65 s Done.
-
[Task 19/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 19/25] Current/Best: 13.72/ 18.95 GFLOPS | Progress: (4/20) | 4.87 s
[Task 19/25] Current/Best: 16.21/ 19.24 GFLOPS | Progress: (8/20) | 7.29 s
[Task 19/25] Current/Best: 3.08/ 19.24 GFLOPS | Progress: (12/20) | 11.33 s
[Task 19/25] Current/Best: 14.51/ 19.24 GFLOPS | Progress: (16/20) | 15.27 s
[Task 19/25] Current/Best: 13.43/ 19.24 GFLOPS | Progress: (20/20) | 20.69 s Done.
-
[Task 20/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 20/25] Current/Best: 13.53/ 14.87 GFLOPS | Progress: (4/20) | 4.68 s
[Task 20/25] Current/Best: 8.98/ 20.60 GFLOPS | Progress: (8/20) | 6.88 s
[Task 20/25] Current/Best: 13.30/ 20.60 GFLOPS | Progress: (12/20) | 8.36 s
[Task 20/25] Current/Best: 6.18/ 20.60 GFLOPS | Progress: (16/20) | 12.70 s
[Task 20/25] Current/Best: 9.70/ 20.60 GFLOPS | Progress: (20/20) | 15.32 s
[Task 21/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 21/25] Current/Best: 8.90/ 22.46 GFLOPS | Progress: (4/20) | 6.99 s
[Task 21/25] Current/Best: 2.74/ 22.46 GFLOPS | Progress: (8/20) | 8.87 s
[Task 21/25] Current/Best: 11.47/ 22.46 GFLOPS | Progress: (12/20) | 10.86 s
[Task 21/25] Current/Best: 18.34/ 22.46 GFLOPS | Progress: (16/20) | 12.57 s
[Task 21/25] Current/Best: 18.89/ 22.46 GFLOPS | Progress: (20/20)
| 15.35 s
[Task 22/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 22/25] Current/Best: 13.66/ 16.93 GFLOPS | Progress: (4/20) | 4.21 s
[Task 22/25] Current/Best: 15.64/ 16.93 GFLOPS | Progress: (8/20) | 6.91 s
[Task 22/25] Current/Best: 5.23/ 20.34 GFLOPS | Progress: (12/20) | 9.48 s
[Task 22/25] Current/Best: 12.50/ 20.34 GFLOPS | Progress: (16/20) | 12.14 s
[Task 22/25] Current/Best: 13.54/ 20.34 GFLOPS | Progress: (20/20) | 14.51 s Done.
-
[Task 23/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 23/25] Current/Best: 8.79/ 23.25 GFLOPS | Progress: (4/20) | 5.13 s
[Task 23/25] Current/Best: 9.37/ 23.25 GFLOPS | Progress: (8/20) | 8.03 s
[Task 23/25] Current/Best: 10.45/ 23.25 GFLOPS | Progress: (12/20) | 11.42 s
[Task 23/25] Current/Best: 2.69/ 23.25 GFLOPS | Progress: (16/20) | 15.21 s
[Task 23/25] Current/Best: 11.53/ 23.25 GFLOPS | Progress: (20/20) | 18.94 s Done.
-
[Task 24/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 24/25] Current/Best: 3.17/ 8.18 GFLOPS | Progress: (4/20) | 13.43 s
[Task 24/25] Current/Best: 4.90/ 8.18 GFLOPS | Progress: (8/20) | 25.66 s
[Task 24/25] Current/Best: 3.79/ 9.18 GFLOPS | Progress: (12/20) | 38.03 s Done.
-
[Task 24/25] Current/Best: 3.75/ 9.18 GFLOPS | Progress: (16/20) | 49.01 s
[Task 24/25] Current/Best: 2.91/ 9.18 GFLOPS | Progress: (20/20) | 53.20 s
[Task 25/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 25/25] Current/Best: 9.02/ 9.02 GFLOPS | Progress: (4/20) | 4.28 s
[Task 25/25] Current/Best: 8.57/ 9.02 GFLOPS | Progress: (8/20) | 15.33 s
[Task 25/25] Current/Best: 9.57/ 9.57 GFLOPS | Progress: (12/20) | 26.31 s
[Task 25/25] Current/Best: 6.73/ 9.57 GFLOPS | Progress: (16/20) | 30.34 s Done.
+
[Task 1/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 1/25] Current/Best: 19.12/ 22.89 GFLOPS | Progress: (4/20) | 8.69 s
[Task 1/25] Current/Best: 9.02/ 22.89 GFLOPS | Progress: (8/20) | 13.69 s
[Task 1/25] Current/Best: 5.61/ 22.89 GFLOPS | Progress: (12/20) | 17.33 s
[Task 1/25] Current/Best: 9.26/ 22.89 GFLOPS | Progress: (16/20) | 23.37 s
[Task 1/25] Current/Best: 8.56/ 22.89 GFLOPS | Progress: (20/20) | 25.90 s Done.
+
[Task 2/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 2/25] Current/Best: 16.03/ 21.29 GFLOPS | Progress: (4/20) | 3.93 s
[Task 2/25] Current/Best: 6.74/ 21.29 GFLOPS | Progress: (8/20) | 5.49 s
[Task 2/25] Current/Best: 21.23/ 21.29 GFLOPS | Progress: (12/20) | 7.64 s
[Task 2/25] Current/Best: 12.88/ 21.29 GFLOPS | Progress: (16/20) | 9.34 s
[Task 2/25] Current/Best: 10.45/ 21.29 GFLOPS | Progress: (20/20) | 10.83 s Done.
+
[Task 3/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 3/25] Current/Best: 10.20/ 14.58 GFLOPS | Progress: (4/20) | 4.86 s
[Task 3/25] Current/Best: 13.75/ 18.29 GFLOPS | Progress: (8/20) | 8.04 s
[Task 3/25] Current/Best: 5.95/ 18.29 GFLOPS | Progress: (12/20) | 10.53 s
[Task 3/25] Current/Best: 20.80/ 20.80 GFLOPS | Progress: (16/20) | 12.59 s
[Task 3/25] Current/Best: 11.70/ 20.80 GFLOPS | Progress: (20/20) | 14.76 s Done.
+
[Task 4/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 4/25] Current/Best: 17.79/ 17.79 GFLOPS | Progress: (4/20) | 5.59 s
[Task 4/25] Current/Best: 5.57/ 17.79 GFLOPS | Progress: (8/20) | 7.63 s
[Task 4/25] Current/Best: 19.87/ 19.87 GFLOPS | Progress: (12/20) | 11.87 s
[Task 4/25] Current/Best: 12.00/ 19.87 GFLOPS | Progress: (16/20) | 16.70 s
[Task 4/25] Current/Best: 5.84/ 19.87 GFLOPS | Progress: (20/20) | 20.12 s Done.
+
[Task 5/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 5/25] Current/Best: 8.36/ 14.17 GFLOPS | Progress: (4/20) | 6.00 s
[Task 5/25] Current/Best: 10.34/ 18.18 GFLOPS | Progress: (8/20) | 8.34 s
[Task 5/25] Current/Best: 8.44/ 18.32 GFLOPS | Progress: (12/20) | 11.10 s
[Task 5/25] Current/Best: 3.25/ 18.80 GFLOPS | Progress: (16/20) | 13.02 s
[Task 5/25] Current/Best: 11.91/ 18.80 GFLOPS | Progress: (20/20) | 15.13 s Done.
+
[Task 6/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 6/25] Current/Best: 15.82/ 17.59 GFLOPS | Progress: (4/20) | 9.12 s
[Task 6/25] Current/Best: 9.18/ 21.69 GFLOPS | Progress: (8/20) | 11.92 s
[Task 6/25] Current/Best: 6.11/ 21.69 GFLOPS | Progress: (12/20) | 14.30 s
[Task 6/25] Current/Best: 16.43/ 21.69 GFLOPS | Progress: (16/20) | 19.19 s
[Task 6/25] Current/Best: 17.49/ 21.69 GFLOPS | Progress: (20/20) | 21.97 s Done.
+
[Task 7/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 7/25] Current/Best: 15.53/ 15.53 GFLOPS | Progress: (4/20) | 6.31 s
[Task 7/25] Current/Best: 22.71/ 22.77 GFLOPS | Progress: (8/20) | 8.33 s
[Task 7/25] Current/Best: 18.44/ 22.77 GFLOPS | Progress: (12/20) | 10.57 s
[Task 7/25] Current/Best: 15.93/ 22.77 GFLOPS | Progress: (16/20) | 13.54 s
[Task 7/25] Current/Best: 4.77/ 22.77 GFLOPS | Progress: (20/20) | 16.87 s Done.
+
[Task 8/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 8/25] Current/Best: 12.54/ 18.15 GFLOPS | Progress: (4/20) | 4.73 s
[Task 8/25] Current/Best: 14.26/ 18.15 GFLOPS | Progress: (8/20) | 10.68 s
[Task 8/25] Current/Best: 5.50/ 18.15 GFLOPS | Progress: (12/20) | 19.65 s
[Task 8/25] Current/Best: 19.62/ 19.62 GFLOPS | Progress: (16/20) | 22.08 s
[Task 8/25] Current/Best: 11.20/ 19.62 GFLOPS | Progress: (20/20) | 27.57 s Done.
+
[Task 9/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 9/25] Current/Best: 9.98/ 17.14 GFLOPS | Progress: (4/20) | 9.81 s
[Task 9/25] Current/Best: 9.89/ 17.14 GFLOPS | Progress: (8/20) | 21.18 s
[Task 9/25] Current/Best: 11.40/ 19.54 GFLOPS | Progress: (12/20) | 23.86 s
[Task 9/25] Current/Best: 14.97/ 21.56 GFLOPS | Progress: (16/20) | 35.36 s
[Task 9/25] Current/Best: 12.39/ 21.56 GFLOPS | Progress: (20/20) | 38.65 s Done.
+
[Task 10/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 10/25] Current/Best: 9.39/ 13.73 GFLOPS | Progress: (4/20) | 6.90 s
[Task 10/25] Current/Best: 14.26/ 14.60 GFLOPS | Progress: (8/20) | 9.75 s
[Task 10/25] Current/Best: 12.57/ 14.60 GFLOPS | Progress: (12/20) | 12.69 s
[Task 10/25] Current/Best: 5.52/ 14.60 GFLOPS | Progress: (16/20) | 15.31 s
[Task 10/25] Current/Best: 10.63/ 15.10 GFLOPS | Progress: (20/20) | 18.66 s Done.
+
[Task 11/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 11/25] Current/Best: 16.75/ 16.75 GFLOPS | Progress: (4/20) | 7.02 s
[Task 11/25] Current/Best: 3.08/ 16.75 GFLOPS | Progress: (8/20) | 10.58 s
[Task 11/25] Current/Best: 19.60/ 20.77 GFLOPS | Progress: (12/20) | 12.81 s
[Task 11/25] Current/Best: 11.78/ 20.77 GFLOPS | Progress: (16/20) | 15.26 s
[Task 11/25] Current/Best: 11.71/ 20.77 GFLOPS | Progress: (20/20) | 17.39 s Done.
+
[Task 12/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 12/25] Current/Best: 18.67/ 18.67 GFLOPS | Progress: (4/20) | 4.94 s
[Task 12/25] Current/Best: 11.41/ 18.67 GFLOPS | Progress: (8/20) | 8.13 s
[Task 12/25] Current/Best: 16.38/ 18.91 GFLOPS | Progress: (12/20) | 11.84 s
[Task 12/25] Current/Best: 5.09/ 18.91 GFLOPS | Progress: (16/20) | 17.29 s
[Task 12/25] Current/Best: 4.91/ 20.76 GFLOPS | Progress: (20/20) | 19.79 s Done.
+
[Task 13/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 13/25] Current/Best: 12.19/ 16.34 GFLOPS | Progress: (4/20) | 5.62 s
[Task 13/25] Current/Best: 10.32/ 20.93 GFLOPS | Progress: (8/20) | 8.21 s
[Task 13/25] Current/Best: 11.81/ 20.93 GFLOPS | Progress: (12/20) | 11.96 s
[Task 13/25] Current/Best: 18.88/ 20.93 GFLOPS | Progress: (16/20) | 14.99 s
[Task 13/25] Current/Best: 11.99/ 20.93 GFLOPS | Progress: (20/20) | 17.58 s Done.
+
[Task 14/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 14/25] Current/Best: 14.06/ 15.24 GFLOPS | Progress: (4/20) | 4.42 s
[Task 14/25] Current/Best: 12.63/ 20.82 GFLOPS | Progress: (8/20) | 7.75 s
[Task 14/25] Current/Best: 10.18/ 20.82 GFLOPS | Progress: (12/20) | 11.69 s
[Task 14/25] Current/Best: 13.33/ 20.82 GFLOPS | Progress: (16/20) | 16.21 s
[Task 14/25] Current/Best: 19.48/ 21.00 GFLOPS | Progress: (20/20) | 22.97 s
[Task 15/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 15/25] Current/Best: 21.09/ 21.09 GFLOPS | Progress: (4/20) | 3.93 s
[Task 15/25] Current/Best: 16.08/ 21.09 GFLOPS | Progress: (8/20) | 7.78 s
[Task 15/25] Current/Best: 10.66/ 21.09 GFLOPS | Progress: (12/20) | 12.33 s
[Task 15/25] Current/Best: 6.30/ 21.09 GFLOPS | Progress: (16/20) | 14.09 s
[Task 15/25] Current/Best: 11.69/ 21.09 GFLOPS | Progress: (20/20
) | 18.67 s
[Task 16/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 16/25] Current/Best: 12.86/ 17.94 GFLOPS | Progress: (4/20) | 4.02 s
[Task 16/25] Current/Best: 10.44/ 17.94 GFLOPS | Progress: (8/20) | 5.84 s
[Task 16/25] Current/Best: 5.81/ 17.94 GFLOPS | Progress: (12/20) | 7.74 s
[Task 16/25] Current/Best: 16.14/ 17.94 GFLOPS | Progress: (16/20) | 10.06 s
[Task 16/25] Current/Best: 9.48/ 18.60 GFLOPS | Progress: (20/20) | 11.72 s Done.
+
[Task 17/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 17/25] Current/Best: 15.49/ 18.90 GFLOPS | Progress: (4/20) | 4.69 s
[Task 17/25] Current/Best: 11.99/ 18.90 GFLOPS | Progress: (8/20) | 6.89 s
[Task 17/25] Current/Best: 7.67/ 18.90 GFLOPS | Progress: (12/20) | 11.00 s
[Task 17/25] Current/Best: 8.95/ 20.58 GFLOPS | Progress: (16/20) | 13.55 s
[Task 17/25] Current/Best: 22.29/ 22.29 GFLOPS | Progress: (20/20) | 15.87 s Done.
+
[Task 18/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 18/25] Current/Best: 5.99/ 15.28 GFLOPS | Progress: (4/20) | 9.82 s
[Task 18/25] Current/Best: 14.07/ 21.18 GFLOPS | Progress: (8/20) | 12.20 s
[Task 18/25] Current/Best: 10.20/ 21.18 GFLOPS | Progress: (12/20) | 19.77 s
[Task 18/25] Current/Best: 17.76/ 21.18 GFLOPS | Progress: (16/20) | 21.59 s
[Task 18/25] Current/Best: 11.70/ 21.18 GFLOPS | Progress: (20/20) | 25.33 s Done.
+
[Task 19/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 19/25] Current/Best: 8.75/ 13.80 GFLOPS | Progress: (4/20) | 6.31 s
[Task 19/25] Current/Best: 16.77/ 16.77 GFLOPS | Progress: (8/20) | 9.13 s
[Task 19/25] Current/Best: 12.41/ 18.18 GFLOPS | Progress: (12/20) | 12.04 s Done.
Done.
- Done.
-
[Task 25/25] Current/Best: 3.00/ 9.57 GFLOPS | Progress: (20/20) | 31.74 s Done.
-
+
[Task 19/25] Current/Best: 9.87/ 18.29 GFLOPS | Progress: (16/20) | 15.53 s
[Task 19/25] Current/Best: 11.60/ 19.88 GFLOPS | Progress: (20/20) | 19.31 s Done.
+
[Task 20/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 20/25] Current/Best: 10.21/ 13.92 GFLOPS | Progress: (4/20) | 4.49 s
[Task 20/25] Current/Best: 16.19/ 16.19 GFLOPS | Progress: (8/20) | 6.73 s
[Task 20/25] Current/Best: 11.25/ 16.19 GFLOPS | Progress: (12/20) | 11.56 s
[Task 20/25] Current/Best: 8.90/ 16.19 GFLOPS | Progress: (16/20) | 13.92 s
[Task 20/25] Current/Best: 13.05/ 17.47 GFLOPS | Progress: (20/20) | 17.52 s
[Task 21/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 21/25] Current/Best: 9.44/ 19.92 GFLOPS | Progress: (4/20) | 5.50 s
[Task 21/25] Current/Best: 10.84/ 19.92 GFLOPS | Progress: (8/20) | 8.33 s
[Task 21/25] Current/Best: 15.91/ 19.92 GFLOPS | Progress: (12/20) | 9.85 s Done.
+
[Task 21/25] Current/Best: 9.72/ 22.27 GFLOPS | Progress: (16/20) | 12.57 s
[Task 21/25] Current/Best: 8.38/ 22.27 GFLOPS | Progress: (20/20) | 15.36 s Done.
+
[Task 22/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 22/25] Current/Best: 11.06/ 17.87 GFLOPS | Progress: (4/20) | 4.76 s
[Task 22/25] Current/Best: 13.60/ 17.87 GFLOPS | Progress: (8/20) | 7.01 s
[Task 22/25] Current/Best: 15.12/ 19.56 GFLOPS | Progress: (12/20) | 8.59 s
[Task 22/25] Current/Best: 16.71/ 19.56 GFLOPS | Progress: (16/20) | 10.44 s
[Task 22/25] Current/Best: 6.84/ 19.56 GFLOPS | Progress: (20/20) | 15.78 s Done.
+
[Task 23/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 23/25] Current/Best: 9.61/ 20.54 GFLOPS | Progress: (4/20) | 5.19 s
[Task 23/25] Current/Best: 11.92/ 20.54 GFLOPS | Progress: (8/20) | 8.48 s
[Task 23/25] Current/Best: 22.63/ 22.63 GFLOPS | Progress: (12/20) | 11.05 s
[Task 23/25] Current/Best: 10.60/ 22.63 GFLOPS | Progress: (16/20) | 15.17 s
[Task 23/25] Current/Best: 11.89/ 23.06 GFLOPS | Progress: (20/20) | 18.68 s Done.
+
[Task 24/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 24/25] Current/Best: 9.13/ 10.11 GFLOPS | Progress: (4/20) | 4.57 s
[Task 24/25] Current/Best: 9.06/ 10.11 GFLOPS | Progress: (8/20) | 15.51 s
[Task 24/25] Current/Best: 3.97/ 10.11 GFLOPS | Progress: (12/20) | 19.40 s
[Task 24/25] Current/Best: 3.04/ 10.11 GFLOPS | Progress: (16/20) | 24.97 s
[Task 24/25] Current/Best: 1.74/ 10.11 GFLOPS | Progress: (20/20) | 35.92 s
[Task 25/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 25/25] Current/Best: 1.54/ 9.53 GFLOPS | Progress: (4/20) | 5.67 s
[Task 25/25] Current/Best: 3.46/ 9.53 GFLOPS | Progress: (8/20) | 9.05 s
[Task 25/25] Current/Best: 8.61/ 9.53 GFLOPS | Progress: (12/20) | 14.24 s
[Task 25/25] Current/Best: 8.93/ 9.53 GFLOPS | Progress: (16/20) | 25.20 s Done.
+
[Task 25/25] Current/Best: 5.75/ 9.53 GFLOPS | Progress: (20/20) | 35.68 s
@@ -666,8 +665,8 @@ Verify that the optimized model runs and produces the same results:
.. code-block:: none
- class='n02123045 tabby, tabby cat' with probability=0.621104
- class='n02123159 tiger cat' with probability=0.356378
+ class='n02123045 tabby, tabby cat' with probability=0.621103
+ class='n02123159 tiger cat' with probability=0.356379
class='n02124075 Egyptian cat' with probability=0.019712
class='n02129604 tiger, Panthera tigris' with probability=0.001215
class='n04040759 radiator' with probability=0.000262
@@ -724,8 +723,8 @@ improvement in comparing the optimized model to the unoptimized model.
.. code-block:: none
- optimized: {'mean': 409.6608285399975, 'median': 406.83311440000125, 'std': 5.119818351999552}
- unoptimized: {'mean': 527.814952450002, 'median': 528.2855766500063, 'std': 1.8815980713570735}
+ optimized: {'mean': 423.67795188999935, 'median': 423.6633814000015, 'std': 3.115211929707337}
+ unoptimized: {'mean': 519.401059170001, 'median': 519.4929063500012, 'std': 1.349913173992629}
@@ -748,7 +747,7 @@ profiling/benchmarking.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 11 minutes 52.143 seconds)
+ **Total running time of the script:** ( 12 minutes 28.248 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 7f2680eeab..944eab0818 100644
--- a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
@@ -274,7 +274,7 @@ device and returns the measured cost. Network overhead is excluded.
.. code-block:: none
- 1.217e-07 secs/op
+ 1.285e-07 secs/op
diff --git a/docs/_sources/tutorial/intro_topi.rst.txt b/docs/_sources/tutorial/intro_topi.rst.txt
index 7ff90a285f..ded95f41bf 100644
--- a/docs/_sources/tutorial/intro_topi.rst.txt
+++ b/docs/_sources/tutorial/intro_topi.rst.txt
@@ -277,7 +277,7 @@ As you can see, scheduled stages of computation have been accumulated and we can
.. code-block:: none
- [stage(a, placeholder(a, 0x12e385d0)), stage(b, placeholder(b, 0x233ec6c0)), stage(T_add, compute(T_add, body=[a[ax0, ax1, ax2] + b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T.Range(0, 10), "DataPar", ""), T.iter_var(ax2, T.Range(0, 10), "DataPar", "")], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[a[ax0, ax1, ax2] * b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T [...]
+ [stage(a, placeholder(a, 0x2288d4e0)), stage(b, placeholder(b, 0xc950610)), stage(T_add, compute(T_add, body=[a[ax0, ax1, ax2] + b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T.Range(0, 10), "DataPar", ""), T.iter_var(ax2, T.Range(0, 10), "DataPar", "")], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[a[ax0, ax1, ax2] * b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T. [...]
diff --git a/docs/_sources/tutorial/sg_execution_times.rst.txt b/docs/_sources/tutorial/sg_execution_times.rst.txt
index a43658c3c5..fd60f0cdfe 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
=================
-**15:22.124** total execution time for **tutorial** files:
+**16:19.807** total execution time for **tutorial** files:
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``) | 11:52.143 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``) | 12:28.248 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:30.189 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:41.831 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``) | 01:00.139 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``) | 01:01.314 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``) | 00:36.079 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``) | 00:36.882 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``) | 00:21.096 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``) | 00:28.835 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``) | 00:01.461 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``) | 00:01.660 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``) | 00:00.847 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``) | 00:00.861 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.170 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.177 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_tutorial_uma.py` (``uma.py``) | 00:00.000 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``) | 00:00.000 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_install.py` (``install.py``) | 00:00.000 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``) | 00:00.000 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``) | 00:00.000 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``) | 00:00.000 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_install.py` (``install.py``) | 00:00.000 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``) | 00:00.000 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
index 4b06a1a38e..798dee3bb3 100644
--- a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
+++ b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
@@ -392,7 +392,7 @@ compile and run this new schedule with the parallel operation applied:
.. code-block:: none
- parallel: 0.000007
+ parallel: 0.000008
@@ -447,7 +447,7 @@ factor to be the number of threads on your CPU.
.. code-block:: none
- vector: 0.000047
+ vector: 0.000025
# from tvm.script import ir as I
# from tvm.script import tir as T
@@ -504,10 +504,10 @@ We can now compare the different schedules
.. code-block:: none
Operator Timing Performance
- numpy 7.110679998731939e-06 1.0
- naive 6.6512e-06 0.9353817076828266
- parallel 6.919000000000001e-06 0.9730433659275737
- vector 4.72755e-05 6.648520255226044
+ numpy 6.697500000427681e-06 1.0
+ naive 6.647000000000001e-06 0.9924598730235975
+ parallel 8.1817e-06 1.2216050764430821
+ vector 2.4604200000000004e-05 3.673639417458583
@@ -928,7 +928,7 @@ matrix multiplication.
.. code-block:: none
- Numpy running time: 0.018355
+ Numpy running time: 0.018883
@@ -986,7 +986,7 @@ optimizations.
.. code-block:: none
- none: 3.334594
+ none: 3.392660
@@ -1086,7 +1086,7 @@ schedule.
.. code-block:: none
- blocking: 0.305230
+ blocking: 0.323441
@@ -1170,7 +1170,7 @@ already cache friendly from our previous optimizations.
.. code-block:: none
- vectorization: 0.336494
+ vectorization: 0.348708
# from tvm.script import ir as I
# from tvm.script import tir as T
@@ -1236,7 +1236,7 @@ more cache friendly.
.. code-block:: none
- loop permutation: 0.118662
+ loop permutation: 0.118979
# from tvm.script import ir as I
# from tvm.script import tir as T
@@ -1327,7 +1327,7 @@ optimized schedule.
.. code-block:: none
- array packing: 0.109332
+ array packing: 0.108114
# from tvm.script import ir as I
# from tvm.script import tir as T
@@ -1410,7 +1410,7 @@ to `C` when all the block results are ready.
.. code-block:: none
- block caching: 0.111767
+ block caching: 0.110879
# from tvm.script import ir as I
# from tvm.script import tir as T
@@ -1484,7 +1484,7 @@ of thread-level parallelization.
.. code-block:: none
- parallelization: 0.146529
+ parallelization: 0.147009
# from tvm.script import ir as I
# from tvm.script import tir as T
@@ -1554,13 +1554,13 @@ working, we can compare the results.
.. code-block:: none
Operator Timing Performance
- none 3.3345937704 1.0
- blocking 0.3052298265 0.09153433596902158
- vectorization 0.3364938783 0.10091000627630753
- loop permutation 0.1186615503 0.03558500929058174
- array packing 0.10933167080000002 0.03278710341586381
- block caching 0.111766946 0.033517409824283646
- parallelization 0.14652879000000002 0.043942021154325855
+ none 3.3926597581 1.0
+ blocking 0.32344056959999995 0.09533539837815543
+ vectorization 0.3487080333 0.10278308411783911
+ loop permutation 0.11897932689999999 0.035069631316826264
+ array packing 0.10811414400000001 0.031867075306292264
+ block caching 0.11087912520000001 0.03268206454693114
+ parallelization 0.1470086859 0.04333139671581144
@@ -1602,7 +1602,7 @@ the computation for specific platforms.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 0.139 seconds)
+ **Total running time of the script:** ( 1 minutes 1.314 seconds)
.. _sphx_glr_download_tutorial_tensor_expr_get_started.py:
diff --git a/docs/commit_hash b/docs/commit_hash
index 1265400599..f65d382bc8 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-6c04ac52bd43065156cabb609f76cd2323449d27
+69acdfb0422b3aef558f539ee6f1296f96cd8778
diff --git a/docs/how_to/compile_models/from_darknet.html b/docs/how_to/compile_models/from_darknet.html
index 4ae1831b34..ef6ea0f454 100644
--- a/docs/how_to/compile_models/from_darknet.html
+++ b/docs/how_to/compile_models/from_darknet.html
@@ -585,7 +585,7 @@ class:['truck 0.9266'] left:471 top:83 right:689 bottom:169
class:['bicycle 0.9984'] 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 17.745 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 18.424 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 0da144890d..3f1009ad14 100644
--- a/docs/how_to/compile_models/from_keras.html
+++ b/docs/how_to/compile_models/from_keras.html
@@ -506,7 +506,7 @@ Tensorflow is also required since it’s used as the default backend of keras.</
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Relay top-1 id: 285, class name: Egyptian cat
1/1 [==============================] - ETA: 0s
-1/1 [==============================] - 1s 953ms/step
+1/1 [==============================] - 1s 956ms/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 94bfb9b176..365e0d3469 100644
--- a/docs/how_to/compile_models/from_mxnet.html
+++ b/docs/how_to/compile_models/from_mxnet.html
@@ -439,7 +439,7 @@
<span class="nb">print</span><span class="p">(</span><span class="s2">"x"</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.zip36892ddb-a11c-408b-b48e-de7085098a6d 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.zip5a687be5-7a6f-471c-bb48-bfd02bbe3a61 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 b25832dc9e..5a328cd658 100644
--- a/docs/how_to/compile_models/from_oneflow.html
+++ b/docs/how_to/compile_models/from_oneflow.html
@@ -449,12 +449,13 @@ Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdo
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: "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, 48.3MB/s]
- 39%|###8 | 16.0M/41.5M [00:00<00:00, 51.1MB/s]
- 58%|#####7 | 24.0M/41.5M [00:00<00:00, 53.2MB/s]
- 77%|#######7 | 32.0M/41.5M [00:00<00:00, 62.1MB/s]
- 92%|#########2| 38.3M/41.5M [00:00<00:00, 57.5MB/s]
-100%|##########| 41.5M/41.5M [00:00<00:00, 57.3MB/s]
+ 19%|#9 | 7.99M/41.5M [00:00<00:00, 61.3MB/s]
+ 35%|###4 | 14.3M/41.5M [00:00<00:00, 57.0MB/s]
+ 48%|####7 | 19.8M/41.5M [00:00<00:00, 46.7MB/s]
+ 59%|#####8 | 24.3M/41.5M [00:00<00:00, 28.9MB/s]
+ 77%|#######7 | 32.0M/41.5M [00:00<00:00, 31.9MB/s]
+ 96%|#########6| 40.0M/41.5M [00:01<00:00, 39.5MB/s]
+100%|##########| 41.5M/41.5M [00:01<00:00, 40.4MB/s]
</pre></div>
</div>
</div>
diff --git a/docs/how_to/compile_models/from_onnx.html b/docs/how_to/compile_models/from_onnx.html
index 7d3f031860..34607b6940 100644
--- a/docs/how_to/compile_models/from_onnx.html
+++ b/docs/how_to/compile_models/from_onnx.html
@@ -460,7 +460,7 @@ provides a static definition of the input size.</p>
<span class="p">)</span><span class="o">.</span><span class="n">evaluate</span><span class="p">()</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/workspace/python/tvm/relay/frontend/onnx.py:7183: UserWarning: Mismatched attribute type in ' : kernel_shape'
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/workspace/python/tvm/relay/frontend/onnx.py:7294: UserWarning: Mismatched attribute type in ' : kernel_shape'
==> Context: Bad node spec for node. Name: OpType: Conv
warnings.warn(str(e))
diff --git a/docs/how_to/compile_models/from_pytorch.html b/docs/how_to/compile_models/from_pytorch.html
index 3ca8e8c518..c1993a1f5b 100644
--- a/docs/how_to/compile_models/from_pytorch.html
+++ b/docs/how_to/compile_models/from_pytorch.html
@@ -432,11 +432,11 @@ be unstable.</p>
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]
- 20%|#9 | 8.93M/44.7M [00:00<00:00, 93.6MB/s]
- 40%|###9 | 17.9M/44.7M [00:00<00:00, 62.0MB/s]
- 72%|#######1 | 32.0M/44.7M [00:00<00:00, 89.2MB/s]
- 93%|#########2| 41.3M/44.7M [00:00<00:00, 85.6MB/s]
-100%|##########| 44.7M/44.7M [00:00<00:00, 86.1MB/s]
+ 21%|## | 9.18M/44.7M [00:00<00:00, 96.2MB/s]
+ 48%|####7 | 21.3M/44.7M [00:00<00:00, 115MB/s]
+ 72%|#######2 | 32.3M/44.7M [00:00<00:00, 93.0MB/s]
+ 96%|#########6| 43.0M/44.7M [00:00<00:00, 99.7MB/s]
+100%|##########| 44.7M/44.7M [00:00<00:00, 102MB/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 50e345c31d..d710871c10 100644
--- a/docs/how_to/compile_models/from_tensorflow.html
+++ b/docs/how_to/compile_models/from_tensorflow.html
@@ -649,7 +649,7 @@ banana (score = 0.00022)
desk (score = 0.00019)
</pre></div>
</div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 22.981 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 23.866 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 523e131d26..048d418878 100644
--- a/docs/how_to/compile_models/sg_execution_times.html
+++ b/docs/how_to/compile_models/sg_execution_times.html
@@ -340,7 +340,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-compile-models-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>06:29.948</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
+<p><strong>06:34.735</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 81%" />
@@ -349,43 +349,43 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="from_tensorflow.html#sphx-glr-how-to-compile-models-from-tensorflow-py"><span class="std std-ref">Compile Tensorflow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tensorflow.py</span></code>)</p></td>
-<td><p>01:22.981</p></td>
+<td><p>01:23.866</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="from_darknet.html#sphx-glr-how-to-compile-models-from-darknet-py"><span class="std std-ref">Compile YOLO-V2 and YOLO-V3 in DarkNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_darknet.py</span></code>)</p></td>
-<td><p>01:17.745</p></td>
+<td><p>01:18.424</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:53.684</p></td>
+<td><p>00:54.521</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="from_oneflow.html#sphx-glr-how-to-compile-models-from-oneflow-py"><span class="std std-ref">Compile OneFlow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_oneflow.py</span></code>)</p></td>
-<td><p>00:36.941</p></td>
+<td><p>00:37.492</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="from_coreml.html#sphx-glr-how-to-compile-models-from-coreml-py"><span class="std std-ref">Compile CoreML Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_coreml.py</span></code>)</p></td>
-<td><p>00:31.841</p></td>
+<td><p>00:31.754</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="from_mxnet.html#sphx-glr-how-to-compile-models-from-mxnet-py"><span class="std std-ref">Compile MXNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_mxnet.py</span></code>)</p></td>
-<td><p>00:31.464</p></td>
+<td><p>00:31.723</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:26.839</p></td>
+<td><p>00:27.153</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="from_pytorch.html#sphx-glr-how-to-compile-models-from-pytorch-py"><span class="std std-ref">Compile PyTorch Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_pytorch.py</span></code>)</p></td>
-<td><p>00:24.769</p></td>
+<td><p>00:25.243</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:21.028</p></td>
+<td><p>00:21.842</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.655</p></td>
+<td><p>00:02.715</p></td>
<td><p>0.0 MB</p></td>
</tr>
</tbody>
diff --git a/docs/how_to/deploy_models/deploy_model_on_adreno.html b/docs/how_to/deploy_models/deploy_model_on_adreno.html
index 56043cbc2d..5f94ecaaeb 100644
--- a/docs/how_to/deploy_models/deploy_model_on_adreno.html
+++ b/docs/how_to/deploy_models/deploy_model_on_adreno.html
@@ -920,7 +920,7 @@ Top5 predictions:
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 2753.9312 2752.5750 2760.9698 2751.4474 2.8650
+ 2758.0511 2758.4103 2761.5826 2755.3605 1.9217
</pre></div>
</div>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-model-on-adreno-py">
diff --git a/docs/how_to/deploy_models/deploy_model_on_android.html b/docs/how_to/deploy_models/deploy_model_on_android.html
index 8c76f33461..d5071cdda0 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.1955 16.1578 16.4410 15.9977 0.1524
+ 16.1852 16.0682 16.8788 15.9980 0.2718
</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 39b0fdedc4..16b2365e00 100644
--- a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
+++ b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
@@ -454,23 +454,30 @@ be unstable.</p>
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.5M/170M [00:00<00:01, 132MB/s]
- 15%|#4 | 25.1M/170M [00:00<00:01, 86.1MB/s]
- 20%|## | 34.2M/170M [00:00<00:01, 80.3MB/s]
- 26%|##5 | 43.5M/170M [00:00<00:01, 85.7MB/s]
- 33%|###2 | 56.0M/170M [00:00<00:01, 88.2MB/s]
- 38%|###8 | 64.6M/170M [00:00<00:01, 81.4MB/s]
- 45%|####5 | 76.7M/170M [00:00<00:01, 93.4MB/s]
- 51%|##### | 85.9M/170M [00:00<00:00, 93.8MB/s]
- 57%|#####6 | 96.0M/170M [00:01<00:00, 86.9MB/s]
- 62%|######1 | 105M/170M [00:01<00:00, 76.5MB/s]
- 69%|######8 | 117M/170M [00:01<00:00, 88.9MB/s]
- 74%|#######3 | 126M/170M [00:01<00:00, 81.9MB/s]
- 79%|#######9 | 135M/170M [00:01<00:00, 85.7MB/s]
- 84%|########4 | 143M/170M [00:01<00:00, 83.4MB/s]
- 89%|########9 | 152M/170M [00:01<00:00, 76.8MB/s]
- 94%|#########4| 160M/170M [00:02<00:00, 69.9MB/s]
-100%|##########| 170M/170M [00:02<00:00, 84.1MB/s]
+ 5%|4 | 7.99M/170M [00:00<00:02, 72.2MB/s]
+ 9%|8 | 15.0M/170M [00:00<00:02, 73.0MB/s]
+ 13%|#3 | 22.3M/170M [00:00<00:02, 70.6MB/s]
+ 17%|#7 | 29.1M/170M [00:00<00:02, 69.0MB/s]
+ 21%|## | 35.6M/170M [00:00<00:02, 58.1MB/s]
+ 24%|##4 | 41.4M/170M [00:00<00:02, 47.5MB/s]
+ 29%|##8 | 49.0M/170M [00:00<00:02, 55.6MB/s]
+ 33%|###3 | 56.6M/170M [00:00<00:01, 62.0MB/s]
+ 38%|###7 | 64.0M/170M [00:01<00:02, 52.7MB/s]
+ 42%|####2 | 72.0M/170M [00:01<00:01, 56.5MB/s]
+ 47%|####7 | 80.0M/170M [00:01<00:01, 58.6MB/s]
+ 52%|#####1 | 88.0M/170M [00:01<00:01, 58.1MB/s]
+ 57%|#####6 | 96.0M/170M [00:01<00:01, 56.1MB/s]
+ 61%|######1 | 104M/170M [00:01<00:01, 48.5MB/s]
+ 67%|######6 | 113M/170M [00:02<00:01, 57.8MB/s]
+ 70%|####### | 119M/170M [00:02<00:00, 58.2MB/s]
+ 74%|#######3 | 125M/170M [00:02<00:00, 58.3MB/s]
+ 77%|#######7 | 131M/170M [00:02<00:00, 59.0MB/s]
+ 81%|######## | 137M/170M [00:02<00:00, 59.7MB/s]
+ 85%|########4 | 144M/170M [00:02<00:00, 64.1MB/s]
+ 89%|########9 | 152M/170M [00:02<00:00, 63.2MB/s]
+ 94%|#########4| 160M/170M [00:02<00:00, 57.1MB/s]
+ 99%|#########8| 168M/170M [00:02<00:00, 62.4MB/s]
+100%|##########| 170M/170M [00:03<00:00, 59.2MB/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=& [...]
@@ -568,7 +575,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 38.471 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes 38.884 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 df30e8fc01..1a4836fc18 100644
--- a/docs/how_to/deploy_models/deploy_prequantized.html
+++ b/docs/how_to/deploy_models/deploy_prequantized.html
@@ -495,8 +495,8 @@ training. Other models require a full post training calibration.</p>
Downloading: "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, 76.6MB/s]
-100%|##########| 13.6M/13.6M [00:00<00:00, 97.0MB/s]
+ 59%|#####8 | 7.99M/13.6M [00:00<00:00, 42.1MB/s]
+100%|##########| 13.6M/13.6M [00:00<00:00, 60.4MB/s]
</pre></div>
</div>
</div>
@@ -587,7 +587,7 @@ output values are identical out of 1000 outputs from mobilenet v2.</p>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 90.7666 90.6479 94.5772 90.4677 0.5786
+ 90.3257 90.2823 90.9095 90.1550 0.1561
</pre></div>
</div>
<div class="admonition note">
@@ -626,7 +626,7 @@ This includes support for the VNNI 8 bit dot product instruction (CascadeLake or
<div class="section" id="deploy-a-quantized-tflite-model">
<h2>Deploy a quantized TFLite Model<a class="headerlink" href="#deploy-a-quantized-tflite-model" title="Permalink to this headline">¶</a></h2>
<p>TODO</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 16.375 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 16.858 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 05cef54442..5bbbef0392 100644
--- a/docs/how_to/deploy_models/deploy_prequantized_tflite.html
+++ b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
@@ -580,7 +580,7 @@ TFLite Top-5 labels: [387 102 386 341 349]
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 118.8949 118.7243 129.1887 118.0525 1.2197
+ 120.5431 120.4356 124.2705 119.4579 0.5607
</pre></div>
</div>
<div class="admonition note">
@@ -608,7 +608,7 @@ network for ARM CPU</span></a>.</p></li>
</ul>
</div></blockquote>
</div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes 29.917 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes 35.025 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 34a9894c94..be0fc89fd9 100644
--- a/docs/how_to/deploy_models/deploy_quantized.html
+++ b/docs/how_to/deploy_models/deploy_quantized.html
@@ -521,7 +521,7 @@ for calibration. But the accuracy might be impacted.</p>
DeprecationWarning,
</pre></div>
</div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 36.506 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 39.875 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 0530dc0204..6212ff0d1f 100644
--- a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
+++ b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
@@ -463,24 +463,23 @@ to your device.</p>
Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
0%| | 0/132723 [00:00<?, ?KB/s]
- 5%|4 | 6332/132723 [00:00<00:01, 63314.32KB/s]
- 11%|#1 | 14681/132723 [00:00<00:01, 75175.75KB/s]
- 17%|#6 | 22199/132723 [00:00<00:01, 68289.74KB/s]
- 23%|##3 | 30592/132723 [00:00<00:01, 74107.12KB/s]
- 29%|##9 | 38936/132723 [00:00<00:01, 77343.66KB/s]
- 36%|###5 | 47350/132723 [00:00<00:01, 79592.59KB/s]
- 42%|####1 | 55356/132723 [00:00<00:01, 73910.76KB/s]
- 48%|####8 | 63781/132723 [00:00<00:00, 76995.12KB/s]
- 54%|#####3 | 71569/132723 [00:00<00:00, 74487.54KB/s]
- 60%|#####9 | 79165/132723 [00:01<00:00, 74914.44KB/s]
- 65%|######5 | 86746/132723 [00:01<00:00, 75175.73KB/s]
- 71%|#######1 | 94356/132723 [00:01<00:00, 75444.13KB/s]
- 77%|#######6 | 101996/132723 [00:01<00:00, 75726.81KB/s]
- 83%|########2 | 109623/132723 [00:01<00:00, 75885.60KB/s]
- 88%|########8 | 117225/132723 [00:01<00:00, 75771.17KB/s]
- 94%|#########4| 124812/132723 [00:01<00:00, 75548.55KB/s]
-100%|##########| 132723/132723 [00:01<00:00, 76511.00KB/s]
-100%|##########| 132723/132723 [00:01<00:00, 75312.07KB/s]
+ 4%|4 | 5912/132723 [00:00<00:02, 59113.71KB/s]
+ 11%|# | 13939/132723 [00:00<00:01, 71551.76KB/s]
+ 16%|#5 | 21095/132723 [00:00<00:01, 71405.30KB/s]
+ 22%|##1 | 29093/132723 [00:00<00:01, 74784.03KB/s]
+ 28%|##7 | 36572/132723 [00:00<00:01, 67456.31KB/s]
+ 34%|###3 | 44610/132723 [00:00<00:01, 71551.14KB/s]
+ 40%|###9 | 52670/132723 [00:00<00:01, 74370.30KB/s]
+ 46%|####5 | 60713/132723 [00:00<00:00, 76234.83KB/s]
+ 52%|#####1 | 68779/132723 [00:00<00:00, 77586.29KB/s]
+ 58%|#####7 | 76860/132723 [00:01<00:00, 78562.74KB/s]
+ 64%|######3 | 84918/132723 [00:01<00:00, 79170.63KB/s]
+ 70%|####### | 92925/132723 [00:01<00:00, 79436.96KB/s]
+ 76%|#######6 | 101007/132723 [00:01<00:00, 79851.01KB/s]
+ 82%|########2 | 109015/132723 [00:01<00:00, 79916.27KB/s]
+ 88%|########8 | 117139/132723 [00:01<00:00, 80311.94KB/s]
+ 94%|#########4| 125190/132723 [00:01<00:00, 80368.99KB/s]
+100%|##########| 132723/132723 [00:01<00:00, 76887.43KB/s]
</pre></div>
</div>
<p>Create TVM runtime and do inference
@@ -519,7 +518,7 @@ Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from h
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>
</div>
-<img src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" srcset="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" alt="deploy ssd gluoncv" class = "sphx-glr-single-img"/><p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes 48.678 seconds)</p>
+<img src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" srcset="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" alt="deploy ssd gluoncv" class = "sphx-glr-single-img"/><p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes 50.395 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 dedfbb8cbf..8e5e22f8c7 100644
--- a/docs/how_to/deploy_models/sg_execution_times.html
+++ b/docs/how_to/deploy_models/sg_execution_times.html
@@ -340,7 +340,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-deploy-models-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>15:24.145</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
+<p><strong>15:35.121</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_ssd_gluoncv.html#sphx-glr-how-to-deploy-models-deploy-ssd-gluoncv-py"><span class="std std-ref">Deploy Single Shot Multibox Detector(SSD) model</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_ssd_gluoncv.py</span></code>)</p></td>
-<td><p>03:48.678</p></td>
+<td><p>03:50.395</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="deploy_object_detection_pytorch.html#sphx-glr-how-to-deploy-models-deploy-object-detection-pytorch-py"><span class="std std-ref">Compile PyTorch Object Detection Models</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_object_detection_pytorch.py</span></code>)</p></td>
-<td><p>03:38.471</p></td>
+<td><p>03:38.884</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:29.917</p></td>
+<td><p>02:35.025</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:36.506</p></td>
+<td><p>01:39.875</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:16.375</p></td>
+<td><p>01:16.858</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="deploy_model_on_adreno.html#sphx-glr-how-to-deploy-models-deploy-model-on-adreno-py"><span class="std std-ref">Deploy the Pretrained Model on Adreno</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_adreno.py</span></code>)</p></td>
-<td><p>00:56.978</p></td>
+<td><p>00:56.894</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="deploy_model_on_android.html#sphx-glr-how-to-deploy-models-deploy-model-on-android-py"><span class="std std-ref">Deploy the Pretrained Model on Android</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_android.py</span></code>)</p></td>
-<td><p>00:42.107</p></td>
+<td><p>00:42.361</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="deploy_model_on_nano.html#sphx-glr-how-to-deploy-models-deploy-model-on-nano-py"><span class="std std-ref">Deploy the Pretrained Model on Jetson Nano</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_nano.py</span></code>)</p></td>
-<td><p>00:27.659</p></td>
+<td><p>00:27.625</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="deploy_model_on_rasp.html#sphx-glr-how-to-deploy-models-deploy-model-on-rasp-py"><span class="std std-ref">Deploy the Pretrained Model on Raspberry Pi</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_rasp.py</span></code>)</p></td>
-<td><p>00:27.447</p></td>
+<td><p>00:27.198</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="deploy_sparse.html#sphx-glr-how-to-deploy-models-deploy-sparse-py"><span class="std std-ref">Deploy a Hugging Face Pruned Model on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_sparse.py</span></code>)</p></td>
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 ec017504d3..a83b4b19a6 100644
--- a/docs/how_to/extend_tvm/bring_your_own_datatypes.html
+++ b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
@@ -619,7 +619,7 @@ In this alpha state of the Bring Your Own Datatypes framework, we have not imple
<span class="n">module</span><span class="p">,</span> <a href="https://docs.python.org/3/library/stdtypes.html#dict" title="builtins.dict" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">params</span></a> <span class="o">=</span> <span class="n">get_mobilenet</span><span class="p">()</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip3ec3ad98-fdd9-41bd-b683-159c11e6219e 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.zip6f770df4-0064-4421-b0c9-d6d07aa21e3c 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 9a29e6a932..71250713f6 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:54.029</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
+<p><strong>00:53.949</strong> total execution time for <strong>how_to_extend_tvm</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="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:50.163</p></td>
+<td><p>00:50.027</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.763</p></td>
+<td><p>00:02.808</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.095</p></td>
+<td><p>00:01.105</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>
diff --git a/docs/how_to/extend_tvm/use_pass_instrument.html b/docs/how_to/extend_tvm/use_pass_instrument.html
index 357c6f6b6c..8f397b850c 100644
--- a/docs/how_to/extend_tvm/use_pass_instrument.html
+++ b/docs/how_to/extend_tvm/use_pass_instrument.html
@@ -526,10 +526,10 @@ profile the execution time of each passes.</p>
</pre></div>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 22539us [22539us] (49.16%; 49.16%)
-FoldScaleAxis: 23312us [7us] (50.84%; 50.84%)
- FoldConstant: 23304us [1719us] (50.83%; 99.97%)
- InferType: 21585us [21585us] (47.08%; 92.62%)
+InferType: 22137us [22137us] (47.66%; 47.66%)
+FoldScaleAxis: 24306us [8us] (52.34%; 52.34%)
+ FoldConstant: 24298us [1754us] (52.32%; 99.97%)
+ InferType: 22545us [22545us] (48.54%; 92.78%)
</pre></div>
</div>
</div>
@@ -551,10 +551,10 @@ Refer to following sections and <a class="reference internal" href="../../refere
</pre></div>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 22201us [22201us] (48.85%; 48.85%)
-FoldScaleAxis: 23249us [8us] (51.15%; 51.15%)
- FoldConstant: 23242us [1772us] (51.14%; 99.97%)
- InferType: 21470us [21470us] (47.24%; 92.38%)
+InferType: 22086us [22086us] (47.83%; 47.83%)
+FoldScaleAxis: 24090us [7us] (52.17%; 52.17%)
+ FoldConstant: 24083us [1812us] (52.15%; 99.97%)
+ InferType: 22271us [22271us] (48.23%; 92.48%)
</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 f9f442576f..a184dcea61 100644
--- a/docs/how_to/optimize_operators/opt_conv_cuda.html
+++ b/docs/how_to/optimize_operators/opt_conv_cuda.html
@@ -575,7 +575,7 @@ latency of convolution.</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Convolution: </span><span class="si">%f</span><span class="s2"> ms"</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: 47.690334 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 51.684768 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 709eec0a8e..df66aa929d 100644
--- a/docs/how_to/optimize_operators/opt_conv_tensorcore.html
+++ b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
@@ -867,7 +867,7 @@ be able to run on our build server</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"conv2d with tensor core: </span><span class="si">%f</span><span class="s2"> ms"</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: 13.022621 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 8.853888 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 d14829baad..4e30328d3e 100644
--- a/docs/how_to/optimize_operators/opt_gemm.html
+++ b/docs/how_to/optimize_operators/opt_gemm.html
@@ -472,8 +472,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
<span class="nb">print</span><span class="p">(</span><span class="s2">"Baseline: </span><span class="si">%f</span><span class="s2">"</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.019299
-Baseline: 3.338252
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.019118
+Baseline: 3.424818
</pre></div>
</div>
<p>In TVM, we can always inspect lower level IR to debug or optimize our schedule.
@@ -532,7 +532,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
<span class="nb">print</span><span class="p">(</span><span class="s2">"Opt1: </span><span class="si">%f</span><span class="s2">"</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.333044
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.321386
</pre></div>
</div>
<p>Here is the generated IR after blocking.</p>
@@ -589,7 +589,7 @@ vastly.</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Opt2: </span><span class="si">%f</span><span class="s2">"</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.351266
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.354678
</pre></div>
</div>
<p>Here is the generated IR after vectorization.</p>
@@ -644,7 +644,7 @@ the access pattern for A matrix is more cache friendly.</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Opt3: </span><span class="si">%f</span><span class="s2">"</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.117798
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.124853
</pre></div>
</div>
<p>Here is the generated IR after loop permutation.</p>
@@ -721,7 +721,7 @@ flattening.</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Opt4: </span><span class="si">%f</span><span class="s2">"</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.109775
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.109579
</pre></div>
</div>
<p>Here is the generated IR after array packing.</p>
@@ -799,7 +799,7 @@ write to C when all the block results are ready.</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Opt5: </span><span class="si">%f</span><span class="s2">"</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.110994
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.111068
</pre></div>
</div>
<p>Here is the generated IR after blocking.</p>
@@ -879,7 +879,7 @@ class Module:
<span class="nb">print</span><span class="p">(</span><span class="s2">"Opt6: </span><span class="si">%f</span><span class="s2">"</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.147178
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.147286
</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 d07d31c701..61048409a3 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:35.437</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
+<p><strong>00:35.735</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:32.776</p></td>
+<td><p>00:33.139</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.583</p></td>
+<td><p>00:01.522</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.074</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 ea1e07bb54..0bedaf8784 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:48.031</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
+<p><strong>10:04.100</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 85%" />
@@ -349,27 +349,27 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="tune_conv2d_layer_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-conv2d-layer-cuda-py"><span class="std std-ref">Auto-scheduling a Convolution Layer for GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_layer_cuda.py</span></code>)</p></td>
-<td><p>06:00.469</p></td>
+<td><p>06:11.716</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:41.591</p></td>
+<td><p>01:41.999</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="tune_network_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-cuda-py"><span class="std std-ref">Auto-scheduling a Neural Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_cuda.py</span></code>)</p></td>
-<td><p>01:07.913</p></td>
+<td><p>01:09.020</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="tune_sparse_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-sparse-x86-py"><span class="std std-ref">Auto-scheduling Sparse Matrix Multiplication on CPU with Custom Sketch Rule</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_sparse_x86.py</span></code>)</p></td>
-<td><p>00:30.931</p></td>
+<td><p>00:33.758</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:13.791</p></td>
+<td><p>00:14.144</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:13.335</p></td>
+<td><p>00:13.464</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 abd3e42f55..4937ef8c22 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
@@ -1575,7 +1575,7 @@ In the example below we resume the status and do more 5 trials.</p>
Get devices for measurement successfully!
</pre></div>
</div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 6 minutes 0.469 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 6 minutes 11.716 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 90794a006b..5bd85b930d 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
@@ -916,7 +916,7 @@ so we can read the log file and load the best schedules.</p>
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 7.9219 7.9219 7.9317 7.9122 0.0080
+ 7.9329 7.9385 7.9391 7.9209 0.0084
</pre></div>
</div>
</div>
@@ -938,7 +938,7 @@ to learn how to use the RPC Tracker and RPC Server.
To use the RPC Tracker in auto-scheduler, replace the runner in <code class="code docutils literal notranslate"><span class="pre">TuningOptions</span></code>
with <a class="reference internal" href="../../reference/api/python/auto_scheduler.html#tvm.auto_scheduler.RPCRunner" title="tvm.auto_scheduler.RPCRunner"><code class="xref any py py-class docutils literal notranslate"><span class="pre">auto_scheduler.RPCRunner</span></code></a>.</p></li>
</ol>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 7.913 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 9.020 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 dc8238abdb..43ae684143 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
@@ -935,7 +935,7 @@ so we can read the log file and load the best schedules.</p>
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 760.5360 761.2203 761.2380 759.1496 0.9803
+ 753.7289 752.1321 759.1879 749.8668 3.9693
</pre></div>
</div>
</div>
@@ -957,7 +957,7 @@ to learn how to use the RPC Tracker and RPC Server.
To use the RPC Tracker in auto-scheduler, replace the runner in <code class="code docutils literal notranslate"><span class="pre">TuningOptions</span></code>
with <a class="reference internal" href="../../reference/api/python/auto_scheduler.html#tvm.auto_scheduler.RPCRunner" title="tvm.auto_scheduler.RPCRunner"><code class="xref any py py-class docutils literal notranslate"><span class="pre">auto_scheduler.RPCRunner</span></code></a>.</p></li>
</ol>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 41.591 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 41.999 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 191d759ba5..b598adce6a 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
@@ -632,12 +632,12 @@ class Module:
@T.prim_func
def main(placeholder: T.Buffer((128, 256), "float32"), placeholder_1: T.Buffer((4916, 16, 1), "float32"), placeholder_2: T.Buffer((4916,), "int32"), placeholder_3: T.Buffer((33,), "int32"), placeholder_4: T.Buffer((128, 512), "float32"), compute: T.Buffer((128, 512), "float32")):
T.func_attr({"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True})
- compute_1 = T.allocate([4096], "float32", "global")
- for i1_outer in range(16):
+ for i0_outer_i1_outer_fused in T.parallel(16):
+ compute_1 = T.allocate([4096], "float32", "global")
compute_2 = T.Buffer((4096,), data=compute_1)
- for i_outer_inner, nb_j_inner in T.grid(4, 2):
- for i_inner_init in range(32):
- cse_var_1: T.int32 = i_outer_inner * 1024 + i_inner_init * 32 + nb_j_inner * 16
+ for i_outer_inner, nb_j_inner in T.grid(2, 2):
+ for i_inner_init in range(64):
+ cse_var_1: T.int32 = i_outer_inner * 2048 + i_inner_init * 32 + nb_j_inner * 16
compute_2[cse_var_1] = T.float32(0)
compute_2[cse_var_1 + 1] = T.float32(0)
compute_2[cse_var_1 + 2] = T.float32(0)
@@ -654,13 +654,13 @@ class Module:
compute_2[cse_var_1 + 13] = T.float32(0)
compute_2[cse_var_1 + 14] = T.float32(0)
compute_2[cse_var_1 + 15] = T.float32(0)
- for elem_idx, i_inner in T.grid(T.let(cse_var_2, i1_outer * 2 + nb_j_inner, placeholder_5[cse_var_2 + 1] - placeholder_5[cse_var_2]), 32):
+ for elem_idx, i_inner in T.grid(T.let(cse_var_2, i0_outer_i1_outer_fused * 2 + nb_j_inner, placeholder_5[cse_var_2 + 1] - placeholder_5[cse_var_2]), 64):
cse_var_2 = T.int32()
placeholder_5 = T.Buffer((33,), "int32", data=placeholder_3.data)
cse_var_21: T.int32 = elem_idx * 16
- cse_var_20: T.int32 = i1_outer * 2 + nb_j_inner
- cse_var_19: T.int32 = i_outer_inner * 8192 + i_inner * 256
- cse_var_18: T.int32 = i_outer_inner * 1024 + i_inner * 32 + nb_j_inner * 16
+ cse_var_20: T.int32 = i0_outer_i1_outer_fused * 2 + nb_j_inner
+ cse_var_19: T.int32 = i_outer_inner * 16384 + i_inner * 256
+ cse_var_18: T.int32 = i_outer_inner * 2048 + i_inner * 32 + nb_j_inner * 16
cse_var_17: T.int32 = cse_var_18 + 9
cse_var_16: T.int32 = cse_var_18 + 8
cse_var_15: T.int32 = cse_var_18 + 7
@@ -695,11 +695,11 @@ class Module:
compute_2[cse_var_7] = compute_2[cse_var_7] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 13] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
compute_2[cse_var_8] = compute_2[cse_var_8] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 14] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
compute_2[cse_var_9] = compute_2[cse_var_9] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 15] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
- for i0_inner, i1_inner in T.grid(128, 32):
- cse_var_22: T.int32 = i0_inner * 512 + i1_outer * 32 + i1_inner
+ for i0_inner in range(128):
+ cse_var_22: T.int32 = i0_inner * 512 + i0_outer_i1_outer_fused * 32
compute_3 = T.Buffer((65536,), data=compute.data)
placeholder_5 = T.Buffer((65536,), data=placeholder_4.data)
- compute_3[cse_var_22] = T.max(compute_2[i0_inner * 32 + i1_inner] + placeholder_5[cse_var_22], T.float32(0))
+ compute_3[cse_var_22:cse_var_22 + 32] = T.max(compute_2[i0_inner * 32:i0_inner * 32 + 32] + placeholder_5[cse_var_22:cse_var_22 + 32], T.Broadcast(T.float32(0), 32))
</pre></div>
</div>
</div>
@@ -733,7 +733,7 @@ class Module:
<span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.683 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.856 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 db0dbd5783..9d4becaf82 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:47.984</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
+<p><strong>00:38.744</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 84%" />
@@ -349,7 +349,7 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="tune_conv2d_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-conv2d-cuda-py"><span class="std std-ref">Tuning High Performance Convolution on NVIDIA GPUs</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_cuda.py</span></code>)</p></td>
-<td><p>00:47.951</p></td>
+<td><p>00:38.711</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="tune_relay_x86.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-x86-py"><span class="std std-ref">Auto-tuning a Convolutional Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_x86.py</span></code>)</p></td>
diff --git a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
index 07595c518c..85bea17a90 100644
--- a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
+++ b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
@@ -568,8 +568,7 @@ for this template</p>
waiting for device...
device available
Get devices for measurement successfully!
-No: 1 GFLOPS: 26.68/26.68 result: MeasureResult(costs=(0.00867671382352941,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.2997496128082275, timestamp=1677679869.428613) [('tile_f', [-1, 4, 4, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2094914
-No: 2 GFLOPS: 0.00/26.68 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 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -691,9 +690,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 32, 8, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 16, 32]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5383872
-No: 3 GFLOPS: 4.91/26.68 result: MeasureResult(costs=(0.04716875075,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.350210905075073, timestamp=1677679871.755255) [('tile_f', [-1, 2, 2, 32]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4907291
-No: 4 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 16, 1, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 256, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7966744
+No: 2 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -815,8 +813,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 2, 64]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 16, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1464525
-No: 5 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 32, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 8, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6663233
+No: 3 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -938,8 +936,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 128, 2, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 32, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7278551
-No: 6 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 16, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 64, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,3021044
+No: 4 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1061,8 +1059,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 2, 32]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10107653
-No: 7 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 1, 16]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 32, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,890506
+No: 5 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1184,8 +1182,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 4, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 32, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6280078
-No: 8 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 16, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,886908
+No: 6 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1307,8 +1305,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 2, 128]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 16, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8570313
-No: 9 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 4, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7330297
+No: 7 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1430,8 +1428,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 1, 32]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10174308
-No: 10 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 128, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 64]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9268167
+No: 8 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1553,8 +1551,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 1, 4]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 16, 32]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4221683
-No: 11 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 1, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1688776
+No: 9 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1676,8 +1674,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 32, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 512]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8708962
-No: 12 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 16, 8]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,564898
+No: 10 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1799,8 +1797,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 128, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 32]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6159658
-No: 13 GFLOPS: 0.00/26.68 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, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 64, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1059222
+No: 11 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1922,26 +1920,9 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 32, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 16, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4781793
-No: 14 GFLOPS: 0.00/26.68 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, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7671503
-No: 15 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 1, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4398376
+No: 12 GFLOPS: 47.42/47.42 result: MeasureResult(costs=(0.00488152312,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4767069816589355, timestamp=1677714965.0030162) [('tile_f', [-1, 4, 4, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 8, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1075381
+No: 13 GFLOPS: 0.00/47.42 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -2063,8 +2044,9 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 256, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 16, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8988419
-No: 16 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 2, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 64, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2800886
+No: 14 GFLOPS: 102.46/102.46 result: MeasureResult(costs=(0.0022594799791666666,), error_no=MeasureErrorNo.NO_ERROR, all_cost=8.367532968521118, timestamp=1677714973.5663285) [('tile_f', [-1, 4, 1, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10113677
+No: 15 GFLOPS: 0.00/102.46 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -2186,8 +2168,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 1, 16]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 32, 4]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2990186
-No: 17 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 64, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6355236
+No: 16 GFLOPS: 0.00/102.46 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -2309,26 +2291,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 2, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9804272
-No: 18 GFLOPS: 0.00/26.68 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, 4, 4, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 32]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8859737
-No: 19 GFLOPS: 0.00/26.68 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 16, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2305247
+No: 17 GFLOPS: 0.00/102.46 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -2450,8 +2414,376 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 4, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6914529
-No: 20 GFLOPS: 175.74/175.74 result: MeasureResult(costs=(0.001317304396039604,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7212941646575928, timestamp=1677679896.079014) [('tile_f', [-1, 8, 1, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6204543
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 32, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6495762
+No: 18 GFLOPS: 0.00/102.46 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ func = build(s, args, target=target, runtime=runtime)
+ File "/workspace/python/tvm/driver/build_module.py", line 227, in build
+ input_mod = lower(inputs, args, name=name, binds=binds)
+ File "/workspace/python/tvm/driver/build_module.py", line 134, in lower
+ return ffi.lower_schedule(inp, args, name, binds, simple_mode)
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 276, in tvm._ffi._cy3.core.FuncCall
+ File "tvm/_ffi/_cython/./base.pxi", line 181, in tvm._ffi._cy3.core.CHECK_CALL
+tvm._ffi.base.TVMError: Traceback (most recent call last):
+ 24: TVMFuncCall
+ at ../src/runtime/c_runtime_api.cc:477
+ 23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 22: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 21: operator()
+ at ../include/tvm/runtime/packed_func.h:1734
+ 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:1674
+ 19: run<>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1649
+ 13: operator()
+ at ../src/driver/driver_api.cc:402
+ 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:388
+ 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+ at ../src/driver/driver_api.cc:283
+ 10: tvm::transform::Pass::operator()(tvm::IRModule) const
+ at ../src/ir/transform.cc:258
+ 9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:451
+ 7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/tir/ir/transform.cc:100
+ 5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+ at ../include/tvm/runtime/packed_func.h:1753
+ 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:1697
+ 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:1621
+ 2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 1: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 0: operator()
+ at ../src/runtime/c_runtime_api.cc:534
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+ raise InstantiationError("Skipped because of invalid gpu kernel")
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+Traceback (most recent call last):
+ 24: TVMFuncCall
+ at ../src/runtime/c_runtime_api.cc:477
+ 23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 22: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 21: operator()
+ at ../include/tvm/runtime/packed_func.h:1734
+ 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:1674
+ 19: run<>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1649
+ 13: operator()
+ at ../src/driver/driver_api.cc:402
+ 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:388
+ 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+ at ../src/driver/driver_api.cc:283
+ 10: tvm::transform::Pass::operator()(tvm::IRModule) const
+ at ../src/ir/transform.cc:258
+ 9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:451
+ 7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/tir/ir/transform.cc:100
+ 5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+ at ../include/tvm/runtime/packed_func.h:1753
+ 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:1697
+ 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:1621
+ 2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 1: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 0: operator()
+ at ../src/runtime/c_runtime_api.cc:534
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+ raise InstantiationError("Skipped because of invalid gpu kernel")
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 16, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7913216
+No: 19 GFLOPS: 0.00/102.46 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ func = build(s, args, target=target, runtime=runtime)
+ File "/workspace/python/tvm/driver/build_module.py", line 227, in build
+ input_mod = lower(inputs, args, name=name, binds=binds)
+ File "/workspace/python/tvm/driver/build_module.py", line 134, in lower
+ return ffi.lower_schedule(inp, args, name, binds, simple_mode)
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 276, in tvm._ffi._cy3.core.FuncCall
+ File "tvm/_ffi/_cython/./base.pxi", line 181, in tvm._ffi._cy3.core.CHECK_CALL
+tvm._ffi.base.TVMError: Traceback (most recent call last):
+ 24: TVMFuncCall
+ at ../src/runtime/c_runtime_api.cc:477
+ 23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 22: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 21: operator()
+ at ../include/tvm/runtime/packed_func.h:1734
+ 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:1674
+ 19: run<>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1649
+ 13: operator()
+ at ../src/driver/driver_api.cc:402
+ 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:388
+ 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+ at ../src/driver/driver_api.cc:283
+ 10: tvm::transform::Pass::operator()(tvm::IRModule) const
+ at ../src/ir/transform.cc:258
+ 9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:451
+ 7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/tir/ir/transform.cc:100
+ 5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+ at ../include/tvm/runtime/packed_func.h:1753
+ 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:1697
+ 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:1621
+ 2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 1: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 0: operator()
+ at ../src/runtime/c_runtime_api.cc:534
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+ raise InstantiationError("Skipped because of invalid gpu kernel")
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+Traceback (most recent call last):
+ 24: TVMFuncCall
+ at ../src/runtime/c_runtime_api.cc:477
+ 23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 22: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 21: operator()
+ at ../include/tvm/runtime/packed_func.h:1734
+ 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:1674
+ 19: run<>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1649
+ 13: operator()
+ at ../src/driver/driver_api.cc:402
+ 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:388
+ 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+ at ../src/driver/driver_api.cc:283
+ 10: tvm::transform::Pass::operator()(tvm::IRModule) const
+ at ../src/ir/transform.cc:258
+ 9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:451
+ 7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/tir/ir/transform.cc:100
+ 5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+ at ../include/tvm/runtime/packed_func.h:1753
+ 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:1697
+ 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:1621
+ 2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 1: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 0: operator()
+ at ../src/runtime/c_runtime_api.cc:534
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+ raise InstantiationError("Skipped because of invalid gpu kernel")
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 8, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 32, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3734241
+No: 20 GFLOPS: 0.00/102.46 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ func = build(s, args, target=target, runtime=runtime)
+ File "/workspace/python/tvm/driver/build_module.py", line 227, in build
+ input_mod = lower(inputs, args, name=name, binds=binds)
+ File "/workspace/python/tvm/driver/build_module.py", line 134, in lower
+ return ffi.lower_schedule(inp, args, name, binds, simple_mode)
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 276, in tvm._ffi._cy3.core.FuncCall
+ File "tvm/_ffi/_cython/./base.pxi", line 181, in tvm._ffi._cy3.core.CHECK_CALL
+tvm._ffi.base.TVMError: Traceback (most recent call last):
+ 24: TVMFuncCall
+ at ../src/runtime/c_runtime_api.cc:477
+ 23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 22: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 21: operator()
+ at ../include/tvm/runtime/packed_func.h:1734
+ 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:1674
+ 19: run<>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1649
+ 13: operator()
+ at ../src/driver/driver_api.cc:402
+ 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:388
+ 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+ at ../src/driver/driver_api.cc:283
+ 10: tvm::transform::Pass::operator()(tvm::IRModule) const
+ at ../src/ir/transform.cc:258
+ 9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:451
+ 7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/tir/ir/transform.cc:100
+ 5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+ at ../include/tvm/runtime/packed_func.h:1753
+ 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:1697
+ 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:1621
+ 2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 1: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 0: operator()
+ at ../src/runtime/c_runtime_api.cc:534
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+ raise InstantiationError("Skipped because of invalid gpu kernel")
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+Traceback (most recent call last):
+ 24: TVMFuncCall
+ at ../src/runtime/c_runtime_api.cc:477
+ 23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 22: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 21: operator()
+ at ../include/tvm/runtime/packed_func.h:1734
+ 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:1674
+ 19: run<>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1634
+ 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+ at ../include/tvm/runtime/packed_func.h:1649
+ 13: operator()
+ at ../src/driver/driver_api.cc:402
+ 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:388
+ 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+ at ../src/driver/driver_api.cc:283
+ 10: tvm::transform::Pass::operator()(tvm::IRModule) const
+ at ../src/ir/transform.cc:258
+ 9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:451
+ 7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/ir/transform.cc:274
+ 6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+ at ../src/tir/ir/transform.cc:100
+ 5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+ at ../include/tvm/runtime/packed_func.h:1753
+ 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:1697
+ 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:1621
+ 2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+ at ../include/tvm/runtime/packed_func.h:1217
+ 1: Call
+ at ../include/tvm/runtime/packed_func.h:1213
+ 0: operator()
+ at ../src/runtime/c_runtime_api.cc:534
+ File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+ raise InstantiationError("Skipped because of invalid gpu kernel")
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 16, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 8, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1463598
</pre></div>
</div>
<p>Finally we can inspect the best config from log file, check correctness,
@@ -2490,9 +2822,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:
-[('tile_f', [-1, 8, 1, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6204543
+[('tile_f', [-1, 4, 1, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10113677
Finish loading 20 records
-Time cost of this operator: 0.001492
+Time cost of this operator: 0.002369
</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 1c670f274d..31e59b8f57 100644
--- a/docs/how_to/work_with_microtvm/micro_autotune.html
+++ b/docs/how_to/work_with_microtvm/micro_autotune.html
@@ -643,10 +643,10 @@ the tuned operator.</p>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>########## Build without Autotuning ##########
Node Name Ops Time(us) Time(%) Shape Inputs Outputs Measurements(us)
--------- --- -------- ------- ----- ------ ------- ----------------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 315.1 98.737 (1, 2, 10, 10, 3) 2 1 [315.1]
-tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 3.069 0.962 (1, 6, 10, 10) 1 1 [3.069]
-tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.962 0.301 (1, 1, 10, 10, 3) 1 1 [0.962]
-Total_time - 319.13 - - - - -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 315.1 98.741 (1, 2, 10, 10, 3) 2 1 [315.1]
+tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 3.059 0.958 (1, 6, 10, 10) 1 1 [3.059]
+tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.96 0.301 (1, 1, 10, 10, 3) 1 1 [0.96]
+Total_time - 319.118 - - - - -
</pre></div>
</div>
</div>
@@ -698,13 +698,13 @@ 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 103.0 97.42 (1, 6, 10, 10, 1) 2 1 [103.0]
-tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.773 1.677 (1, 6, 10, 10) 1 1 [1.773]
-tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.954 0.903 (1, 1, 10, 10, 3) 1 1 [0.954]
-Total_time - 105.727 - - - - -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 100.9 97.366 (1, 6, 10, 10, 1) 2 1 [100.9]
+tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.762 1.7 (1, 6, 10, 10) 1 1 [1.762]
+tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.968 0.934 (1, 1, 10, 10, 3) 1 1 [0.968]
+Total_time - 103.63 - - - - -
</pre></div>
</div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 15.282 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 15.109 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-autotune-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../../_downloads/9ccca8fd489a1486ac71b55a55c320c5/micro_autotune.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_autotune.py</span></code></a></p>
diff --git a/docs/how_to/work_with_microtvm/micro_pytorch.html b/docs/how_to/work_with_microtvm/micro_pytorch.html
index 4043341b4d..cf8fff02f4 100644
--- a/docs/how_to/work_with_microtvm/micro_pytorch.html
+++ b/docs/how_to/work_with_microtvm/micro_pytorch.html
@@ -454,8 +454,8 @@ download a cat image and preprocess it to use as the model input.</p>
Downloading: "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]
- 69%|######8 | 2.35M/3.42M [00:00<00:00, 24.7MB/s]
-100%|##########| 3.42M/3.42M [00:00<00:00, 34.3MB/s]
+ 61%|###### | 2.09M/3.42M [00:00<00:00, 19.2MB/s]
+100%|##########| 3.42M/3.42M [00:00<00:00, 30.0MB/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.
@@ -581,7 +581,7 @@ via the host <cite>main.cc`</cite> or if a Zephyr emulated board is selected as
Torch top-1 id: 282, class name: tiger cat
</pre></div>
</div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 14.113 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 13.985 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 9db09b9091..c50991a308 100644
--- a/docs/how_to/work_with_microtvm/micro_train.html
+++ b/docs/how_to/work_with_microtvm/micro_train.html
@@ -523,7 +523,7 @@ take about <strong>2 minutes</strong> to download the Stanford Cars, while COCO
<a href="https://docs.python.org/3/library/shutil.html#shutil.move" title="shutil.move" class="sphx-glr-backref-module-shutil sphx-glr-backref-type-py-function"><span class="n">shutil</span><span class="o">.</span><span class="n">move</span></a><span class="p">(</span><span class="sa">f</span><span class="s2">"</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>'/tmp/tmptqeolsd1/images/random'
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>'/tmp/tmpo3loes4a/images/random'
</pre></div>
</div>
</div>
@@ -583,8 +583,8 @@ objects to other stuff? We can display some examples from our datasets using <co
<span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">"off"</span><span class="p">)</span>
</pre></div>
</div>
-<img src="../../_images/sphx_glr_micro_train_001.png" srcset="../../_images/sphx_glr_micro_train_001.png" alt="[1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.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/tmptqeolsd1/images/target contains 8144 images
-/tmp/tmptqeolsd1/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], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmpo3loes4a/images/target contains 8144 images
+/tmp/tmpo3loes4a/images/random contains 5000 images
</pre></div>
</div>
</div>
@@ -696,13 +696,13 @@ the time on our validation set).</p>
</pre></div>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Epoch 1/3
-328/328 - 47s - loss: 0.2269 - accuracy: 0.9220 - val_loss: 0.0900 - val_accuracy: 0.9668 - 47s/epoch - 144ms/step
+328/328 - 47s - loss: 0.2116 - accuracy: 0.9257 - val_loss: 0.1621 - val_accuracy: 0.9415 - 47s/epoch - 143ms/step
Epoch 2/3
-328/328 - 44s - loss: 0.1070 - accuracy: 0.9592 - val_loss: 0.0892 - val_accuracy: 0.9679 - 44s/epoch - 133ms/step
+328/328 - 44s - loss: 0.1023 - accuracy: 0.9644 - val_loss: 0.0990 - val_accuracy: 0.9622 - 44s/epoch - 133ms/step
Epoch 3/3
-328/328 - 43s - loss: 0.0726 - accuracy: 0.9737 - val_loss: 0.1847 - val_accuracy: 0.9362 - 43s/epoch - 132ms/step
+328/328 - 43s - loss: 0.0686 - accuracy: 0.9727 - val_loss: 0.0964 - val_accuracy: 0.9675 - 43s/epoch - 132ms/step
-<keras.callbacks.History object at 0x7f3dba490bd0>
+<keras.callbacks.History object at 0x7ff45a51dc10>
</pre></div>
</div>
</div>
@@ -966,7 +966,7 @@ as intended.</p>
<p>From here, we could modify the model to read live images from the camera - we have another
Arduino tutorial for how to do that <a class="reference external" href="https://github.com/guberti/tvm-arduino-demos/tree/master/examples/person_detection">on GitHub</a>. Alternatively, we could also
<a class="reference external" href="https://tvm.apache.org/docs/how_to/work_with_microtvm/micro_autotune.html">use TVM’s autotuning capabilities</a> to dramatically improve the model’s performance.</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 5 minutes 17.370 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 4 minutes 50.147 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 638a35178e..aa73b362c8 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>08:03.094</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
+<p><strong>07:36.009</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 82%" />
@@ -349,23 +349,23 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="micro_train.html#sphx-glr-how-to-work-with-microtvm-micro-train-py"><span class="std std-ref">5. Training Vision Models for microTVM on Arduino</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_train.py</span></code>)</p></td>
-<td><p>05:17.370</p></td>
+<td><p>04:50.147</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="micro_autotune.html#sphx-glr-how-to-work-with-microtvm-micro-autotune-py"><span class="std std-ref">6. Model Tuning with microTVM</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_autotune.py</span></code>)</p></td>
-<td><p>01:15.282</p></td>
+<td><p>01:15.109</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="micro_pytorch.html#sphx-glr-how-to-work-with-microtvm-micro-pytorch-py"><span class="std std-ref">4. microTVM PyTorch Tutorial</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_pytorch.py</span></code>)</p></td>
-<td><p>01:14.113</p></td>
+<td><p>01:13.985</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="micro_aot.html#sphx-glr-how-to-work-with-microtvm-micro-aot-py"><span class="std std-ref">3. microTVM Ahead-of-Time (AOT) Compilation</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_aot.py</span></code>)</p></td>
-<td><p>00:09.500</p></td>
+<td><p>00:09.712</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="micro_tflite.html#sphx-glr-how-to-work-with-microtvm-micro-tflite-py"><span class="std std-ref">2. microTVM TFLite Tutorial</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tflite.py</span></code>)</p></td>
-<td><p>00:06.830</p></td>
+<td><p>00:07.054</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="micro_ethosu.html#sphx-glr-how-to-work-with-microtvm-micro-ethosu-py"><span class="std std-ref">7. Running TVM on bare metal Arm(R) Cortex(R)-M55 CPU and Ethos(TM)-U55 NPU with CMSIS-NN</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_ethosu.py</span></code>)</p></td>
diff --git a/docs/how_to/work_with_relay/sg_execution_times.html b/docs/how_to/work_with_relay/sg_execution_times.html
index 70004315a9..4565fac7b3 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:45.984</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
+<p><strong>00:46.245</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:34.167</p></td>
+<td><p>00:34.221</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.269</p></td>
+<td><p>00:10.415</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.542</p></td>
+<td><p>00:01.602</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 6f7fb0e3f2..b9e3a0affd 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">"tir.exp"</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="s2">"cuda"</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><function my_cuda_math_rule at 0x7f3c702d1f80>
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span><function my_cuda_math_rule at 0x7ff306ed4d40>
</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 3f4e0be459..cf4c936436 100644
--- a/docs/how_to/work_with_schedules/sg_execution_times.html
+++ b/docs/how_to/work_with_schedules/sg_execution_times.html
@@ -340,7 +340,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-work-with-schedules-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:08.258</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
+<p><strong>00:08.074</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,19 +349,19 @@
</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.734</p></td>
+<td><p>00:05.556</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.140</p></td>
+<td><p>00:01.146</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.591</p></td>
+<td><p>00:00.580</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.563</p></td>
+<td><p>00:00.562</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>
@@ -369,11 +369,11 @@
<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.054</p></td>
+<td><p>00:00.053</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="tedd.html#sphx-glr-how-to-work-with-schedules-tedd-py"><span class="std std-ref">Use Tensor Expression Debug Display (TEDD) for Visualization</span></a> (<code class="docutils literal notranslate"><span class="pre">tedd.py</span></code>)</p></td>
-<td><p>00:00.032</p></td>
+<td><p>00:00.033</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="tuple_inputs.html#sphx-glr-how-to-work-with-schedules-tuple-inputs-py"><span class="std std-ref">Compute and Reduce with Tuple Inputs</span></a> (<code class="docutils literal notranslate"><span class="pre">tuple_inputs.py</span></code>)</p></td>
diff --git a/docs/install/nnpack.html b/docs/install/nnpack.html
index 23d2181e9d..1ef28de467 100644
--- a/docs/install/nnpack.html
+++ b/docs/install/nnpack.html
@@ -229,17 +229,7 @@
<p class="caption" role="heading"><span class="caption-text">Getting Started</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Installing TVM</a><ul class="current">
-<li class="toctree-l2 current"><a class="reference internal" href="from_source.html">Install from Source</a><ul class="current">
-<li class="toctree-l3"><a class="reference internal" href="from_source.html#developers-get-source-from-github">Developers: Get Source from Github</a></li>
-<li class="toctree-l3"><a class="reference internal" href="from_source.html#build-the-shared-library">Build the Shared Library</a></li>
-<li class="toctree-l3"><a class="reference internal" href="from_source.html#python-package-installation">Python Package Installation</a></li>
-<li class="toctree-l3 current"><a class="reference internal" href="from_source.html#install-contrib-libraries">Install Contrib Libraries</a><ul class="current">
-<li class="toctree-l4 current"><a class="current reference internal" href="#">NNPACK Contrib Installation</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="from_source.html#enable-c-tests">Enable C++ Tests</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="from_source.html">Install from Source</a></li>
<li class="toctree-l2"><a class="reference internal" href="docker.html">Docker Images</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">NNPACK Contrib Installation</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#conditions">Conditions</a></li>
diff --git a/docs/reference/api/doxygen/annotated.html b/docs/reference/api/doxygen/annotated.html
index debf1b0d95..7bc062d00e 100644
--- a/docs/reference/api/doxygen/annotated.html
+++ b/docs/reference/api/doxygen/annotated.html
@@ -375,183 +375,184 @@ $(function() {
<tr id="row_1_5_69_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html" target="_self">DFPatternFunctor< R(const DFPattern &n, Args...)></a></td><td class="desc"></td></tr>
<tr id="row_1_5_70_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPatternNode.html" target="_self">DFPatternNode</a></td><td class="desc">Base type of all dataflow patterns </td></tr>
<tr id="row_1_5_71_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPatternVisitor.html" target="_self">DFPatternVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor.html" title="A dynamical functor that dispatches on in the first DFPattern argument. ">DFPatt [...]
-<tr id="row_1_5_72_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DilateAttrs.html" target="_self">DilateAttrs</a></td><td class="desc">Attributes used in dilate operator </td></tr>
-<tr id="row_1_5_73_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Dilation2DAttrs.html" target="_self">Dilation2DAttrs</a></td><td class="desc">Attributes used in dilation operators </td></tr>
-<tr id="row_1_5_74_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DominatorPattern.html" target="_self">DominatorPattern</a></td><td class="desc">A pattern which matches a variable length dominator path </td></tr>
-<tr id="row_1_5_75_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DominatorPatternNode.html" target="_self">DominatorPatternNode</a></td><td class="desc">Dominated Graph <a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> <a class="el" href="cla [...]
-<tr id="row_1_5_76_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html" target="_self">DropoutAttrs</a></td><td class="desc">Attributes used in dropout operator </td></tr>
-<tr id="row_1_5_77_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DynExpandDimsAttrs.html" target="_self">DynExpandDimsAttrs</a></td><td class="desc">Attributes used in dynamic expand_dims operators </td></tr>
-<tr id="row_1_5_78_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1EinsumAttrs.html" target="_self">EinsumAttrs</a></td><td class="desc">Attributes used in einsum operator </td></tr>
-<tr id="row_1_5_79_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ErrorBuilder.html" target="_self">ErrorBuilder</a></td><td class="desc">A wrapper around std::stringstream to build error. <a class="el" href="ir_2type_8h.html" title="IR/AST nodes for the unified type system in TVM. ">include/tvm/ir/type.h</a> Can be consumed b [...]
-<tr id="row_1_5_80_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ErrorReporter.html" target="_self">ErrorReporter</a></td><td class="desc">An abstraction around how errors are stored and reported. Designed to be opaque to users, so we can support a robust and simpler error reporting mode, as well as a more complex mode </td></tr>
-<tr id="row_1_5_81_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Executor.html" target="_self">Executor</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1relay_1_1ExecutorNode.html" title="Executor information. ">ExecutorNode</a> </td></tr>
-<tr id="row_1_5_82_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExecutorNode.html" target="_self">ExecutorNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Executor.html" title="Managed reference class to ExecutorNode. ">Executor</a> information </td></tr>
-<tr id="row_1_5_83_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExecutorRegEntry.html" target="_self">ExecutorRegEntry</a></td><td class="desc">Helper structure to register Executors </td></tr>
-<tr id="row_1_5_84_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ExpandDimsAttrs.html" target="_self">ExpandDimsAttrs</a></td><td class="desc">Attributes used in expand_dims operators </td></tr>
-<tr id="row_1_5_85_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html" target="_self">ExprFunctor</a></td><td class="desc">A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerful Visitor, since it allows you to define function signatures of Visit <a class="el" href="cl [...]
-<tr id="row_1_5_86_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html" target="_self">ExprFunctor< R(const Expr &n, Args...)></a></td><td class="desc"></td></tr>
-<tr id="row_1_5_87_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprMutator.html" target="_self">ExprMutator</a></td><td class="desc">A wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerfu...">Expr [...]
-<tr id="row_1_5_88_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprPattern.html" target="_self">ExprPattern</a></td><td class="desc">A pattern which matches a literal expression </td></tr>
-<tr id="row_1_5_89_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprPatternNode.html" target="_self">ExprPatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> for Relay Expression </td></tr>
-<tr id="row_1_5_90_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprRewriter.html" target="_self">ExprRewriter</a></td><td class="desc">A non-iterating Expression Rewriter </td></tr>
-<tr id="row_1_5_91_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html" target="_self">ExprVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more p [...]
-<tr id="row_1_5_92_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1FeatureSet.html" target="_self">FeatureSet</a></td><td class="desc">A finite set of Feature </td></tr>
-<tr id="row_1_5_93_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FIFOBufferAttrs.html" target="_self">FIFOBufferAttrs</a></td><td class="desc">Attributes for FIFO buffer operator </td></tr>
-<tr id="row_1_5_94_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyAttrs.html" target="_self">FixedPointMultiplyAttrs</a></td><td class="desc">Attributes for FixedPointMultiply operator </td></tr>
-<tr id="row_1_5_95_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyPerAxisAttrs.html" target="_self">FixedPointMultiplyPerAxisAttrs</a></td><td class="desc">Attributes for per channel/per axes FixedPointMultiply operator </td></tr>
-<tr id="row_1_5_96_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Function.html" target="_self">Function</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relay_1_1FunctionNode.html" title="Relay Function container. ">FunctionNode</a> </td></tr>
-<tr id="row_1_5_97_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1FunctionNode.html" target="_self">FunctionNode</a></td><td class="desc">Relay <a class="el" href="classtvm_1_1relay_1_1Function.html" title="Managed reference to FunctionNode. ">Function</a> container </td></tr>
-<tr id="row_1_5_98_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1FunctionPattern.html" target="_self">FunctionPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relay_1_1FunctionNode.html" title="Relay Function container. ">FunctionNode</a> </td></tr>
-<tr id="row_1_5_99_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1FunctionPatternNode.html" target="_self">FunctionPatternNode</a></td><td class="desc">Relay <a class="el" href="classtvm_1_1relay_1_1Function.html" title="Managed reference to FunctionNode. ">Function</a> container </td></tr>
-<tr id="row_1_5_100_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GatherAttrs.html" target="_self">GatherAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_101_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GatherNDAttrs.html" target="_self">GatherNDAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_102_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GetValidCountsAttrs.html" target="_self">GetValidCountsAttrs</a></td><td class="desc">Attributes used in get_valid_counts operator </td></tr>
-<tr id="row_1_5_103_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GlobalPool2DAttrs.html" target="_self">GlobalPool2DAttrs</a></td><td class="desc">Attributes for global pool operator </td></tr>
-<tr id="row_1_5_104_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GridSampleAttrs.html" target="_self">GridSampleAttrs</a></td><td class="desc">Attributes used in image grid_sample operator </td></tr>
-<tr id="row_1_5_105_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GroupNormAttrs.html" target="_self">GroupNormAttrs</a></td><td class="desc">Attributes used in group_norm operator </td></tr>
-<tr id="row_1_5_106_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Id.html" target="_self">Id</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_107_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1IdNode.html" target="_self">IdNode</a></td><td class="desc">The unique identifier of variables </td></tr>
-<tr id="row_1_5_108_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1If.html" target="_self">If</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_109_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1IfNode.html" target="_self">IfNode</a></td><td class="desc">Container of <a class="el" href="classtvm_1_1relay_1_1If.html">If</a> </td></tr>
-<tr id="row_1_5_110_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1IfPattern.html" target="_self">IfPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_111_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1IfPatternNode.html" target="_self">IfPatternNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_112_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1InitOpAttrs.html" target="_self">InitOpAttrs</a></td><td class="desc">Attributes that specify a tensor </td></tr>
-<tr id="row_1_5_113_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1InstanceNormAttrs.html" target="_self">InstanceNormAttrs</a></td><td class="desc">Attributes used in instance_norm operator </td></tr>
-<tr id="row_1_5_114_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1InterpreterClosure.html" target="_self">InterpreterClosure</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_115_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1InterpreterClosureObj.html" target="_self">InterpreterClosureObj</a></td><td class="desc">The container type of Closures used by the interpreter </td></tr>
-<tr id="row_1_5_116_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1L2NormalizeAttrs.html" target="_self">L2NormalizeAttrs</a></td><td class="desc">Attributes for L2Normalize operator </td></tr>
-<tr id="row_1_5_117_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LayerNormAttrs.html" target="_self">LayerNormAttrs</a></td><td class="desc">Attributes used in layer_norm operator </td></tr>
-<tr id="row_1_5_118_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LayoutTransformAttrs.html" target="_self">LayoutTransformAttrs</a></td><td class="desc">Attributes for LayoutTransform operator </td></tr>
-<tr id="row_1_5_119_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LeakyReluAttrs.html" target="_self">LeakyReluAttrs</a></td><td class="desc">Attributes for leaky relu operator </td></tr>
-<tr id="row_1_5_120_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Let.html" target="_self">Let</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_121_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1LetNode.html" target="_self">LetNode</a></td><td class="desc">A binding of a sub-network </td></tr>
-<tr id="row_1_5_122_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1LetPattern.html" target="_self">LetPattern</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Let.html">Let</a> binding that binds a local var </td></tr>
-<tr id="row_1_5_123_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1LetPatternNode.html" target="_self">LetPatternNode</a></td><td class="desc">A binding of a sub-network </td></tr>
-<tr id="row_1_5_124_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LRNAttrs.html" target="_self">LRNAttrs</a></td><td class="desc">Attributes for LRN operator </td></tr>
-<tr id="row_1_5_125_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Match.html" target="_self">Match</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_126_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1MatchNode.html" target="_self">MatchNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Match.html">Match</a> container node </td></tr>
-<tr id="row_1_5_127_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MatmulAttrs.html" target="_self">MatmulAttrs</a></td><td class="desc">Attributes for matmul operator </td></tr>
-<tr id="row_1_5_128_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MatrixSetDiagAttrs.html" target="_self">MatrixSetDiagAttrs</a></td><td class="desc">Attributes used in matrix_set_diag operator </td></tr>
-<tr id="row_1_5_129_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool1DAttrs.html" target="_self">MaxPool1DAttrs</a></td><td class="desc">Attributes for 1D max pool operator </td></tr>
-<tr id="row_1_5_130_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool2DAttrs.html" target="_self">MaxPool2DAttrs</a></td><td class="desc">Attributes for max pool operator </td></tr>
-<tr id="row_1_5_131_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool3DAttrs.html" target="_self">MaxPool3DAttrs</a></td><td class="desc">Attributes for 3D max pool operator </td></tr>
-<tr id="row_1_5_132_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MeshgridAttrs.html" target="_self">MeshgridAttrs</a></td><td class="desc">Attributes used in meshgrid operators </td></tr>
-<tr id="row_1_5_133_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MetaScheduleLayoutTransformAttrs.html" target="_self">MetaScheduleLayoutTransformAttrs</a></td><td class="desc">Attributes for MetaScheduleLayoutTransform operator </td></tr>
-<tr id="row_1_5_134_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html" target="_self">MirrorPadAttrs</a></td><td class="desc">Attributes used for the MirrorPadding operator </td></tr>
-<tr id="row_1_5_135_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1MixedModeMutator.html" target="_self">MixedModeMutator</a></td><td class="desc">Non-recursive DFS Graph Traversal for Custom Rewriting Passes </td></tr>
-<tr id="row_1_5_136_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1MixedModeVisitor.html" target="_self">MixedModeVisitor</a></td><td class="desc">A wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html" title="A simple visitor wrapper around ExprFunctor. Recursively visit the content. ">ExprVisitor</a> which [...]
-<tr id="row_1_5_137_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html" target="_self">MultiBoxPriorAttrs</a></td><td class="desc">Attributes used in multibox_prior operators </td></tr>
-<tr id="row_1_5_138_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html" target="_self">MultiBoxTransformLocAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_139_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultinomialAttrs.html" target="_self">MultinomialAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_140_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html" target="_self">NdarraySizeAttrs</a></td><td class="desc">Attributes for ndarray_size operator </td></tr>
-<tr id="row_1_5_141_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html" target="_self">NLLLossAttrs</a></td><td class="desc">Attributes used in NLLLoss operator </td></tr>
-<tr id="row_1_5_142_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html" target="_self">NonMaximumSuppressionAttrs</a></td><td class="desc">Attributes used in non_maximum_suppression operator </td></tr>
-<tr id="row_1_5_143_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NormalAttrs.html" target="_self">NormalAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_144_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OnDeviceAttrs.html" target="_self">OnDeviceAttrs</a></td><td class="desc">Attributes for the "on_device" annotation (ie operator) </td></tr>
-<tr id="row_1_5_145_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OneHotAttrs.html" target="_self">OneHotAttrs</a></td><td class="desc">Attributes used in one-hot operator </td></tr>
-<tr id="row_1_5_146_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpImplementation.html" target="_self">OpImplementation</a></td><td class="desc">Operator implementation class </td></tr>
-<tr id="row_1_5_147_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpImplementationNode.html" target="_self">OpImplementationNode</a></td><td class="desc">Operator implementation that includes compute and schedule function </td></tr>
-<tr id="row_1_5_148_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpSpecialization.html" target="_self">OpSpecialization</a></td><td class="desc">Operator specialization class </td></tr>
-<tr id="row_1_5_149_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpSpecializationNode.html" target="_self">OpSpecializationNode</a></td><td class="desc">Specialized implementations for operators under certain conditions </td></tr>
-<tr id="row_1_5_150_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpStrategy.html" target="_self">OpStrategy</a></td><td class="desc">Operator strategy class </td></tr>
-<tr id="row_1_5_151_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpStrategyNode.html" target="_self">OpStrategyNode</a></td><td class="desc">Operator strategy to choose implementation </td></tr>
-<tr id="row_1_5_152_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PadAttrs.html" target="_self">PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
-<tr id="row_1_5_153_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Pattern.html" target="_self">Pattern</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> is the base type for an ADT match pattern in Relay </td></tr>
-<tr id="row_1_5_154_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternConstructor.html" target="_self">PatternConstructor</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_155_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternConstructorNode.html" target="_self">PatternConstructorNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> container node </td></tr>
-<tr id="row_1_5_156_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternFunctor.html" target="_self">PatternFunctor</a></td><td class="desc">A dynamical functor on ADT patterns that dispatches on its first argument. You can use this as a more powerful visitor, since it allows you to define the types of further arguments to Vi [...]
-<tr id="row_1_5_157_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html" target="_self">PatternFunctor< R(const Pattern &n, Args...)></a></td><td class="desc"></td></tr>
-<tr id="row_1_5_158_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternMutator.html" target="_self">PatternMutator</a></td><td class="desc">A wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerfu.. [...]
-<tr id="row_1_5_159_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternNode.html" target="_self">PatternNode</a></td><td class="desc">Base type for declaring relay pattern </td></tr>
-<tr id="row_1_5_160_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternTuple.html" target="_self">PatternTuple</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_161_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternTupleNode.html" target="_self">PatternTupleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> container node </td></tr>
-<tr id="row_1_5_162_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternVar.html" target="_self">PatternVar</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_163_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternVarNode.html" target="_self">PatternVarNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> container node </td></tr>
-<tr id="row_1_5_164_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternVisitor.html" target="_self">PatternVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relay_1_1PatternFunctor.html" title="A dynamical functor on ADT patterns that dispatches on its first argument. You can us [...]
-<tr id="row_1_5_165_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html" target="_self">PatternWildcard</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_166_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternWildcardNode.html" target="_self">PatternWildcardNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html">PatternWildcard</a> container node </td></tr>
-<tr id="row_1_5_167_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PReluAttrs.html" target="_self">PReluAttrs</a></td><td class="desc">Attributes for prelu operator </td></tr>
-<tr id="row_1_5_168_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ProposalAttrs.html" target="_self">ProposalAttrs</a></td><td class="desc">Attributes used in proposal operators </td></tr>
-<tr id="row_1_5_169_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RecClosure.html" target="_self">RecClosure</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_170_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RecClosureObj.html" target="_self">RecClosureObj</a></td><td class="desc">The container type of <a class="el" href="classtvm_1_1relay_1_1RecClosure.html">RecClosure</a> </td></tr>
-<tr id="row_1_5_171_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReduceAttrs.html" target="_self">ReduceAttrs</a></td><td class="desc">Attributes for Reduce operators </td></tr>
-<tr id="row_1_5_172_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefCreate.html" target="_self">RefCreate</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_173_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefCreateNode.html" target="_self">RefCreateNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_174_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefRead.html" target="_self">RefRead</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_175_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefReadNode.html" target="_self">RefReadNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_176_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefValue.html" target="_self">RefValue</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_177_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1RefValueObj.html" target="_self">RefValueObj</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_178_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefWrite.html" target="_self">RefWrite</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_179_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefWriteNode.html" target="_self">RefWriteNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_180_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RelayNode.html" target="_self">RelayNode</a></td><td class="desc">This is the base node container of all relay structures </td></tr>
-<tr id="row_1_5_181_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1RepeatAttrs.html" target="_self">RepeatAttrs</a></td><td class="desc">Attributes used in repeat operators </td></tr>
-<tr id="row_1_5_182_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeAttrs.html" target="_self">ReshapeAttrs</a></td><td class="desc">Attributes used in reshape operators </td></tr>
-<tr id="row_1_5_183_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeLikeAttrs.html" target="_self">ReshapeLikeAttrs</a></td><td class="desc">Attributes used in MXNet-style reshape_like operators </td></tr>
-<tr id="row_1_5_184_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeTensorAttrs.html" target="_self">ReshapeTensorAttrs</a></td><td class="desc">Attributes for VM reshape_tensor operator </td></tr>
-<tr id="row_1_5_185_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize1DAttrs.html" target="_self">Resize1DAttrs</a></td><td class="desc">Attributes used in image resize1d operator </td></tr>
-<tr id="row_1_5_186_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize2DAttrs.html" target="_self">Resize2DAttrs</a></td><td class="desc">Attributes used in image resize2d operator </td></tr>
-<tr id="row_1_5_187_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize3DAttrs.html" target="_self">Resize3DAttrs</a></td><td class="desc">Attributes used in image resize3d operator </td></tr>
-<tr id="row_1_5_188_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReverseAttrs.html" target="_self">ReverseAttrs</a></td><td class="desc">Attributes used in reverse operators </td></tr>
-<tr id="row_1_5_189_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReverseSequenceAttrs.html" target="_self">ReverseSequenceAttrs</a></td><td class="desc">Attributes used in reverse_sequence operators </td></tr>
-<tr id="row_1_5_190_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIAlignAttrs.html" target="_self">ROIAlignAttrs</a></td><td class="desc">Attributes used in roi_align operators </td></tr>
-<tr id="row_1_5_191_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIPoolAttrs.html" target="_self">ROIPoolAttrs</a></td><td class="desc">Attributes used in roi_pool operators </td></tr>
-<tr id="row_1_5_192_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Runtime.html" target="_self">Runtime</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1relay_1_1RuntimeNode.html" title="Runtime information. ">RuntimeNode</a> </td></tr>
-<tr id="row_1_5_193_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RuntimeNode.html" target="_self">RuntimeNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Runtime.html" title="Managed reference class to RuntimeNode. ">Runtime</a> information </td></tr>
-<tr id="row_1_5_194_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RuntimeRegEntry.html" target="_self">RuntimeRegEntry</a></td><td class="desc">Helper structure to register Runtimes </td></tr>
-<tr id="row_1_5_195_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScanopAttrs.html" target="_self">ScanopAttrs</a></td><td class="desc">Attributes used in cumsum and cumprod operator </td></tr>
-<tr id="row_1_5_196_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterElementsAttrs.html" target="_self">ScatterElementsAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_197_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterNDAttrs.html" target="_self">ScatterNDAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_198_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SearchSortedAttrs.html" target="_self">SearchSortedAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_199_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SequenceMaskAttrs.html" target="_self">SequenceMaskAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_200_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeFuncAttrs.html" target="_self">ShapeFuncAttrs</a></td><td class="desc">Options for the shape function operator </td></tr>
-<tr id="row_1_5_201_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeOfAttrs.html" target="_self">ShapeOfAttrs</a></td><td class="desc">Attributes for ShapeOf operator </td></tr>
-<tr id="row_1_5_202_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ShapePattern.html" target="_self">ShapePattern</a></td><td class="desc">A pattern which matches a type in another pattern </td></tr>
-<tr id="row_1_5_203_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ShapePatternNode.html" target="_self">ShapePatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> for Shapes </td></tr>
-<tr id="row_1_5_204_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SliceLikeAttrs.html" target="_self">SliceLikeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_205_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SlidingWindowAttrs.html" target="_self">SlidingWindowAttrs</a></td><td class="desc">Attributes used for the sliding_window operator </td></tr>
-<tr id="row_1_5_206_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SoftmaxAttrs.html" target="_self">SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
-<tr id="row_1_5_207_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SpaceToBatchNDAttrs.html" target="_self">SpaceToBatchNDAttrs</a></td><td class="desc">Attributes used in SpaceToBatchND operator </td></tr>
-<tr id="row_1_5_208_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseConv2DAttrs.html" target="_self">SparseConv2DAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
-<tr id="row_1_5_209_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseDenseAttrs.html" target="_self">SparseDenseAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
-<tr id="row_1_5_210_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseToDenseAttrs.html" target="_self">SparseToDenseAttrs</a></td><td class="desc">Attributes used in sparse_to_dense operator </td></tr>
-<tr id="row_1_5_211_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseTransposeAttrs.html" target="_self">SparseTransposeAttrs</a></td><td class="desc">Attributes for sparse_transpose operator </td></tr>
-<tr id="row_1_5_212_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SplitAttrs.html" target="_self">SplitAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_213_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SqueezeAttrs.html" target="_self">SqueezeAttrs</a></td><td class="desc">Attributes used in squeeze operators </td></tr>
-<tr id="row_1_5_214_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StackAttrs.html" target="_self">StackAttrs</a></td><td class="desc">Attributes used in stack operators </td></tr>
-<tr id="row_1_5_215_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StftAttrs.html" target="_self">StftAttrs</a></td><td class="desc">Attributes used in stft operator </td></tr>
-<tr id="row_1_5_216_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StridedSliceAttrs.html" target="_self">StridedSliceAttrs</a></td><td class="desc">Attributes for StridedSlice operator </td></tr>
-<tr id="row_1_5_217_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SubPixelAttrs.html" target="_self">SubPixelAttrs</a></td><td class="desc">Attributes used in subpixel operators </td></tr>
-<tr id="row_1_5_218_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TakeAttrs.html" target="_self">TakeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_219_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TempExpr.html" target="_self">TempExpr</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_220_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TempExprNode.html" target="_self">TempExprNode</a></td><td class="desc">Base class of the temporary expression </td></tr>
-<tr id="row_1_5_221_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ThreefryGenerateAttrs.html" target="_self">ThreefryGenerateAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_222_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TileAttrs.html" target="_self">TileAttrs</a></td><td class="desc">Attributes used in tile operators </td></tr>
-<tr id="row_1_5_223_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TopKAttrs.html" target="_self">TopKAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_224_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TransposeAttrs.html" target="_self">TransposeAttrs</a></td><td class="desc">Attributes used in transpose operators </td></tr>
-<tr id="row_1_5_225_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TriluAttrs.html" target="_self">TriluAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_226_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Tuple.html" target="_self">Tuple</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_227_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItem.html" target="_self">TupleGetItem</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_228_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItemNode.html" target="_self">TupleGetItemNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_229_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItemPattern.html" target="_self">TupleGetItemPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_230_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItemPatternNode.html" target="_self">TupleGetItemPatternNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_231_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleNode.html" target="_self">TupleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Tuple.html">Tuple</a> container </td></tr>
-<tr id="row_1_5_232_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TuplePattern.html" target="_self">TuplePattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_233_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TuplePatternNode.html" target="_self">TuplePatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Tuple.html">Tuple</a> container </td></tr>
-<tr id="row_1_5_234_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TypePattern.html" target="_self">TypePattern</a></td><td class="desc">A pattern which matches a type in another pattern </td></tr>
-<tr id="row_1_5_235_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TypePatternNode.html" target="_self">TypePatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> for Types </td></tr>
-<tr id="row_1_5_236_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UniformAttrs.html" target="_self">UniformAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_237_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UniqueAttrs.html" target="_self">UniqueAttrs</a></td><td class="desc">Attributes used in unique operator </td></tr>
-<tr id="row_1_5_238_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSampling3DAttrs.html" target="_self">UpSampling3DAttrs</a></td><td class="desc">Attributes for upsampling3d operator </td></tr>
-<tr id="row_1_5_239_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSamplingAttrs.html" target="_self">UpSamplingAttrs</a></td><td class="desc">Attributes for upsampling operator </td></tr>
-<tr id="row_1_5_240_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1v__info.html" target="_self">v_info</a></td><td class="desc">A struct to keep info of traversed expr in ExpandDataflow function </td></tr>
-<tr id="row_1_5_241_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Var.html" target="_self">Var</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_242_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1VarianceAttrs.html" target="_self">VarianceAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_243_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1VarNode.html" target="_self">VarNode</a></td><td class="desc">Container for <a class="el" href="classtvm_1_1relay_1_1Var.html">Var</a> </td></tr>
-<tr id="row_1_5_244_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1VarPattern.html" target="_self">VarPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_245_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1VarPatternNode.html" target="_self">VarPatternNode</a></td><td class="desc">Container for <a class="el" href="classtvm_1_1relay_1_1Var.html">Var</a> </td></tr>
-<tr id="row_1_5_246_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1WildcardPattern.html" target="_self">WildcardPattern</a></td><td class="desc">A pattern which matches anything </td></tr>
-<tr id="row_1_5_247_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1WildcardPatternNode.html" target="_self">WildcardPatternNode</a></td><td class="desc">Wildcard <a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> </td></tr>
-<tr id="row_1_5_248_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1YoloReorgAttrs.html" target="_self">YoloReorgAttrs</a></td><td class="desc">Attributes used in yolo reorg operators </td></tr>
+<tr id="row_1_5_72_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DFTAttrs.html" target="_self">DFTAttrs</a></td><td class="desc">Attributes used in DFT operator </td></tr>
+<tr id="row_1_5_73_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DilateAttrs.html" target="_self">DilateAttrs</a></td><td class="desc">Attributes used in dilate operator </td></tr>
+<tr id="row_1_5_74_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Dilation2DAttrs.html" target="_self">Dilation2DAttrs</a></td><td class="desc">Attributes used in dilation operators </td></tr>
+<tr id="row_1_5_75_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DominatorPattern.html" target="_self">DominatorPattern</a></td><td class="desc">A pattern which matches a variable length dominator path </td></tr>
+<tr id="row_1_5_76_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DominatorPatternNode.html" target="_self">DominatorPatternNode</a></td><td class="desc">Dominated Graph <a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> <a class="el" href="cla [...]
+<tr id="row_1_5_77_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html" target="_self">DropoutAttrs</a></td><td class="desc">Attributes used in dropout operator </td></tr>
+<tr id="row_1_5_78_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DynExpandDimsAttrs.html" target="_self">DynExpandDimsAttrs</a></td><td class="desc">Attributes used in dynamic expand_dims operators </td></tr>
+<tr id="row_1_5_79_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1EinsumAttrs.html" target="_self">EinsumAttrs</a></td><td class="desc">Attributes used in einsum operator </td></tr>
+<tr id="row_1_5_80_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ErrorBuilder.html" target="_self">ErrorBuilder</a></td><td class="desc">A wrapper around std::stringstream to build error. <a class="el" href="ir_2type_8h.html" title="IR/AST nodes for the unified type system in TVM. ">include/tvm/ir/type.h</a> Can be consumed b [...]
+<tr id="row_1_5_81_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ErrorReporter.html" target="_self">ErrorReporter</a></td><td class="desc">An abstraction around how errors are stored and reported. Designed to be opaque to users, so we can support a robust and simpler error reporting mode, as well as a more complex mode </td></tr>
+<tr id="row_1_5_82_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Executor.html" target="_self">Executor</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1relay_1_1ExecutorNode.html" title="Executor information. ">ExecutorNode</a> </td></tr>
+<tr id="row_1_5_83_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExecutorNode.html" target="_self">ExecutorNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Executor.html" title="Managed reference class to ExecutorNode. ">Executor</a> information </td></tr>
+<tr id="row_1_5_84_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExecutorRegEntry.html" target="_self">ExecutorRegEntry</a></td><td class="desc">Helper structure to register Executors </td></tr>
+<tr id="row_1_5_85_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ExpandDimsAttrs.html" target="_self">ExpandDimsAttrs</a></td><td class="desc">Attributes used in expand_dims operators </td></tr>
+<tr id="row_1_5_86_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html" target="_self">ExprFunctor</a></td><td class="desc">A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerful Visitor, since it allows you to define function signatures of Visit <a class="el" href="cl [...]
+<tr id="row_1_5_87_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html" target="_self">ExprFunctor< R(const Expr &n, Args...)></a></td><td class="desc"></td></tr>
+<tr id="row_1_5_88_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprMutator.html" target="_self">ExprMutator</a></td><td class="desc">A wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerfu...">Expr [...]
+<tr id="row_1_5_89_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprPattern.html" target="_self">ExprPattern</a></td><td class="desc">A pattern which matches a literal expression </td></tr>
+<tr id="row_1_5_90_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprPatternNode.html" target="_self">ExprPatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> for Relay Expression </td></tr>
+<tr id="row_1_5_91_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprRewriter.html" target="_self">ExprRewriter</a></td><td class="desc">A non-iterating Expression Rewriter </td></tr>
+<tr id="row_1_5_92_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html" target="_self">ExprVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more p [...]
+<tr id="row_1_5_93_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1FeatureSet.html" target="_self">FeatureSet</a></td><td class="desc">A finite set of Feature </td></tr>
+<tr id="row_1_5_94_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FIFOBufferAttrs.html" target="_self">FIFOBufferAttrs</a></td><td class="desc">Attributes for FIFO buffer operator </td></tr>
+<tr id="row_1_5_95_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyAttrs.html" target="_self">FixedPointMultiplyAttrs</a></td><td class="desc">Attributes for FixedPointMultiply operator </td></tr>
+<tr id="row_1_5_96_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyPerAxisAttrs.html" target="_self">FixedPointMultiplyPerAxisAttrs</a></td><td class="desc">Attributes for per channel/per axes FixedPointMultiply operator </td></tr>
+<tr id="row_1_5_97_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Function.html" target="_self">Function</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relay_1_1FunctionNode.html" title="Relay Function container. ">FunctionNode</a> </td></tr>
+<tr id="row_1_5_98_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1FunctionNode.html" target="_self">FunctionNode</a></td><td class="desc">Relay <a class="el" href="classtvm_1_1relay_1_1Function.html" title="Managed reference to FunctionNode. ">Function</a> container </td></tr>
+<tr id="row_1_5_99_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1FunctionPattern.html" target="_self">FunctionPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relay_1_1FunctionNode.html" title="Relay Function container. ">FunctionNode</a> </td></tr>
+<tr id="row_1_5_100_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1FunctionPatternNode.html" target="_self">FunctionPatternNode</a></td><td class="desc">Relay <a class="el" href="classtvm_1_1relay_1_1Function.html" title="Managed reference to FunctionNode. ">Function</a> container </td></tr>
+<tr id="row_1_5_101_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GatherAttrs.html" target="_self">GatherAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_102_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GatherNDAttrs.html" target="_self">GatherNDAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_103_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GetValidCountsAttrs.html" target="_self">GetValidCountsAttrs</a></td><td class="desc">Attributes used in get_valid_counts operator </td></tr>
+<tr id="row_1_5_104_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GlobalPool2DAttrs.html" target="_self">GlobalPool2DAttrs</a></td><td class="desc">Attributes for global pool operator </td></tr>
+<tr id="row_1_5_105_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GridSampleAttrs.html" target="_self">GridSampleAttrs</a></td><td class="desc">Attributes used in image grid_sample operator </td></tr>
+<tr id="row_1_5_106_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GroupNormAttrs.html" target="_self">GroupNormAttrs</a></td><td class="desc">Attributes used in group_norm operator </td></tr>
+<tr id="row_1_5_107_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Id.html" target="_self">Id</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_108_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1IdNode.html" target="_self">IdNode</a></td><td class="desc">The unique identifier of variables </td></tr>
+<tr id="row_1_5_109_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1If.html" target="_self">If</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_110_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1IfNode.html" target="_self">IfNode</a></td><td class="desc">Container of <a class="el" href="classtvm_1_1relay_1_1If.html">If</a> </td></tr>
+<tr id="row_1_5_111_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1IfPattern.html" target="_self">IfPattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_112_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1IfPatternNode.html" target="_self">IfPatternNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_113_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1InitOpAttrs.html" target="_self">InitOpAttrs</a></td><td class="desc">Attributes that specify a tensor </td></tr>
+<tr id="row_1_5_114_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1InstanceNormAttrs.html" target="_self">InstanceNormAttrs</a></td><td class="desc">Attributes used in instance_norm operator </td></tr>
+<tr id="row_1_5_115_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1InterpreterClosure.html" target="_self">InterpreterClosure</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_116_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1InterpreterClosureObj.html" target="_self">InterpreterClosureObj</a></td><td class="desc">The container type of Closures used by the interpreter </td></tr>
+<tr id="row_1_5_117_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1L2NormalizeAttrs.html" target="_self">L2NormalizeAttrs</a></td><td class="desc">Attributes for L2Normalize operator </td></tr>
+<tr id="row_1_5_118_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LayerNormAttrs.html" target="_self">LayerNormAttrs</a></td><td class="desc">Attributes used in layer_norm operator </td></tr>
+<tr id="row_1_5_119_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LayoutTransformAttrs.html" target="_self">LayoutTransformAttrs</a></td><td class="desc">Attributes for LayoutTransform operator </td></tr>
+<tr id="row_1_5_120_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LeakyReluAttrs.html" target="_self">LeakyReluAttrs</a></td><td class="desc">Attributes for leaky relu operator </td></tr>
+<tr id="row_1_5_121_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Let.html" target="_self">Let</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_122_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1LetNode.html" target="_self">LetNode</a></td><td class="desc">A binding of a sub-network </td></tr>
+<tr id="row_1_5_123_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1LetPattern.html" target="_self">LetPattern</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Let.html">Let</a> binding that binds a local var </td></tr>
+<tr id="row_1_5_124_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1LetPatternNode.html" target="_self">LetPatternNode</a></td><td class="desc">A binding of a sub-network </td></tr>
+<tr id="row_1_5_125_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LRNAttrs.html" target="_self">LRNAttrs</a></td><td class="desc">Attributes for LRN operator </td></tr>
+<tr id="row_1_5_126_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Match.html" target="_self">Match</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_127_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1MatchNode.html" target="_self">MatchNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Match.html">Match</a> container node </td></tr>
+<tr id="row_1_5_128_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MatmulAttrs.html" target="_self">MatmulAttrs</a></td><td class="desc">Attributes for matmul operator </td></tr>
+<tr id="row_1_5_129_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MatrixSetDiagAttrs.html" target="_self">MatrixSetDiagAttrs</a></td><td class="desc">Attributes used in matrix_set_diag operator </td></tr>
+<tr id="row_1_5_130_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool1DAttrs.html" target="_self">MaxPool1DAttrs</a></td><td class="desc">Attributes for 1D max pool operator </td></tr>
+<tr id="row_1_5_131_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool2DAttrs.html" target="_self">MaxPool2DAttrs</a></td><td class="desc">Attributes for max pool operator </td></tr>
+<tr id="row_1_5_132_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool3DAttrs.html" target="_self">MaxPool3DAttrs</a></td><td class="desc">Attributes for 3D max pool operator </td></tr>
+<tr id="row_1_5_133_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MeshgridAttrs.html" target="_self">MeshgridAttrs</a></td><td class="desc">Attributes used in meshgrid operators </td></tr>
+<tr id="row_1_5_134_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MetaScheduleLayoutTransformAttrs.html" target="_self">MetaScheduleLayoutTransformAttrs</a></td><td class="desc">Attributes for MetaScheduleLayoutTransform operator </td></tr>
+<tr id="row_1_5_135_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html" target="_self">MirrorPadAttrs</a></td><td class="desc">Attributes used for the MirrorPadding operator </td></tr>
+<tr id="row_1_5_136_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1MixedModeMutator.html" target="_self">MixedModeMutator</a></td><td class="desc">Non-recursive DFS Graph Traversal for Custom Rewriting Passes </td></tr>
+<tr id="row_1_5_137_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1MixedModeVisitor.html" target="_self">MixedModeVisitor</a></td><td class="desc">A wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html" title="A simple visitor wrapper around ExprFunctor. Recursively visit the content. ">ExprVisitor</a> which [...]
+<tr id="row_1_5_138_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html" target="_self">MultiBoxPriorAttrs</a></td><td class="desc">Attributes used in multibox_prior operators </td></tr>
+<tr id="row_1_5_139_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html" target="_self">MultiBoxTransformLocAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_140_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultinomialAttrs.html" target="_self">MultinomialAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_141_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html" target="_self">NdarraySizeAttrs</a></td><td class="desc">Attributes for ndarray_size operator </td></tr>
+<tr id="row_1_5_142_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html" target="_self">NLLLossAttrs</a></td><td class="desc">Attributes used in NLLLoss operator </td></tr>
+<tr id="row_1_5_143_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html" target="_self">NonMaximumSuppressionAttrs</a></td><td class="desc">Attributes used in non_maximum_suppression operator </td></tr>
+<tr id="row_1_5_144_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NormalAttrs.html" target="_self">NormalAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_145_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OnDeviceAttrs.html" target="_self">OnDeviceAttrs</a></td><td class="desc">Attributes for the "on_device" annotation (ie operator) </td></tr>
+<tr id="row_1_5_146_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OneHotAttrs.html" target="_self">OneHotAttrs</a></td><td class="desc">Attributes used in one-hot operator </td></tr>
+<tr id="row_1_5_147_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpImplementation.html" target="_self">OpImplementation</a></td><td class="desc">Operator implementation class </td></tr>
+<tr id="row_1_5_148_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpImplementationNode.html" target="_self">OpImplementationNode</a></td><td class="desc">Operator implementation that includes compute and schedule function </td></tr>
+<tr id="row_1_5_149_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpSpecialization.html" target="_self">OpSpecialization</a></td><td class="desc">Operator specialization class </td></tr>
+<tr id="row_1_5_150_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpSpecializationNode.html" target="_self">OpSpecializationNode</a></td><td class="desc">Specialized implementations for operators under certain conditions </td></tr>
+<tr id="row_1_5_151_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpStrategy.html" target="_self">OpStrategy</a></td><td class="desc">Operator strategy class </td></tr>
+<tr id="row_1_5_152_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpStrategyNode.html" target="_self">OpStrategyNode</a></td><td class="desc">Operator strategy to choose implementation </td></tr>
+<tr id="row_1_5_153_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PadAttrs.html" target="_self">PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
+<tr id="row_1_5_154_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Pattern.html" target="_self">Pattern</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> is the base type for an ADT match pattern in Relay </td></tr>
+<tr id="row_1_5_155_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternConstructor.html" target="_self">PatternConstructor</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_156_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternConstructorNode.html" target="_self">PatternConstructorNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> container node </td></tr>
+<tr id="row_1_5_157_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternFunctor.html" target="_self">PatternFunctor</a></td><td class="desc">A dynamical functor on ADT patterns that dispatches on its first argument. You can use this as a more powerful visitor, since it allows you to define the types of further arguments to Vi [...]
+<tr id="row_1_5_158_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html" target="_self">PatternFunctor< R(const Pattern &n, Args...)></a></td><td class="desc"></td></tr>
+<tr id="row_1_5_159_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternMutator.html" target="_self">PatternMutator</a></td><td class="desc">A wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerfu.. [...]
+<tr id="row_1_5_160_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternNode.html" target="_self">PatternNode</a></td><td class="desc">Base type for declaring relay pattern </td></tr>
+<tr id="row_1_5_161_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternTuple.html" target="_self">PatternTuple</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_162_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternTupleNode.html" target="_self">PatternTupleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> container node </td></tr>
+<tr id="row_1_5_163_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternVar.html" target="_self">PatternVar</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_164_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternVarNode.html" target="_self">PatternVarNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> container node </td></tr>
+<tr id="row_1_5_165_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternVisitor.html" target="_self">PatternVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relay_1_1PatternFunctor.html" title="A dynamical functor on ADT patterns that dispatches on its first argument. You can us [...]
+<tr id="row_1_5_166_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html" target="_self">PatternWildcard</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_167_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternWildcardNode.html" target="_self">PatternWildcardNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html">PatternWildcard</a> container node </td></tr>
+<tr id="row_1_5_168_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PReluAttrs.html" target="_self">PReluAttrs</a></td><td class="desc">Attributes for prelu operator </td></tr>
+<tr id="row_1_5_169_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ProposalAttrs.html" target="_self">ProposalAttrs</a></td><td class="desc">Attributes used in proposal operators </td></tr>
+<tr id="row_1_5_170_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RecClosure.html" target="_self">RecClosure</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_171_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RecClosureObj.html" target="_self">RecClosureObj</a></td><td class="desc">The container type of <a class="el" href="classtvm_1_1relay_1_1RecClosure.html">RecClosure</a> </td></tr>
+<tr id="row_1_5_172_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReduceAttrs.html" target="_self">ReduceAttrs</a></td><td class="desc">Attributes for Reduce operators </td></tr>
+<tr id="row_1_5_173_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefCreate.html" target="_self">RefCreate</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_174_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefCreateNode.html" target="_self">RefCreateNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_175_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefRead.html" target="_self">RefRead</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_176_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefReadNode.html" target="_self">RefReadNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_177_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefValue.html" target="_self">RefValue</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_178_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1RefValueObj.html" target="_self">RefValueObj</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_179_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefWrite.html" target="_self">RefWrite</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_180_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefWriteNode.html" target="_self">RefWriteNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_181_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RelayNode.html" target="_self">RelayNode</a></td><td class="desc">This is the base node container of all relay structures </td></tr>
+<tr id="row_1_5_182_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1RepeatAttrs.html" target="_self">RepeatAttrs</a></td><td class="desc">Attributes used in repeat operators </td></tr>
+<tr id="row_1_5_183_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeAttrs.html" target="_self">ReshapeAttrs</a></td><td class="desc">Attributes used in reshape operators </td></tr>
+<tr id="row_1_5_184_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeLikeAttrs.html" target="_self">ReshapeLikeAttrs</a></td><td class="desc">Attributes used in MXNet-style reshape_like operators </td></tr>
+<tr id="row_1_5_185_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeTensorAttrs.html" target="_self">ReshapeTensorAttrs</a></td><td class="desc">Attributes for VM reshape_tensor operator </td></tr>
+<tr id="row_1_5_186_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize1DAttrs.html" target="_self">Resize1DAttrs</a></td><td class="desc">Attributes used in image resize1d operator </td></tr>
+<tr id="row_1_5_187_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize2DAttrs.html" target="_self">Resize2DAttrs</a></td><td class="desc">Attributes used in image resize2d operator </td></tr>
+<tr id="row_1_5_188_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize3DAttrs.html" target="_self">Resize3DAttrs</a></td><td class="desc">Attributes used in image resize3d operator </td></tr>
+<tr id="row_1_5_189_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReverseAttrs.html" target="_self">ReverseAttrs</a></td><td class="desc">Attributes used in reverse operators </td></tr>
+<tr id="row_1_5_190_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReverseSequenceAttrs.html" target="_self">ReverseSequenceAttrs</a></td><td class="desc">Attributes used in reverse_sequence operators </td></tr>
+<tr id="row_1_5_191_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIAlignAttrs.html" target="_self">ROIAlignAttrs</a></td><td class="desc">Attributes used in roi_align operators </td></tr>
+<tr id="row_1_5_192_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIPoolAttrs.html" target="_self">ROIPoolAttrs</a></td><td class="desc">Attributes used in roi_pool operators </td></tr>
+<tr id="row_1_5_193_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Runtime.html" target="_self">Runtime</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1relay_1_1RuntimeNode.html" title="Runtime information. ">RuntimeNode</a> </td></tr>
+<tr id="row_1_5_194_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RuntimeNode.html" target="_self">RuntimeNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Runtime.html" title="Managed reference class to RuntimeNode. ">Runtime</a> information </td></tr>
+<tr id="row_1_5_195_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RuntimeRegEntry.html" target="_self">RuntimeRegEntry</a></td><td class="desc">Helper structure to register Runtimes </td></tr>
+<tr id="row_1_5_196_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScanopAttrs.html" target="_self">ScanopAttrs</a></td><td class="desc">Attributes used in cumsum and cumprod operator </td></tr>
+<tr id="row_1_5_197_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterElementsAttrs.html" target="_self">ScatterElementsAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_198_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterNDAttrs.html" target="_self">ScatterNDAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_199_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SearchSortedAttrs.html" target="_self">SearchSortedAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_200_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SequenceMaskAttrs.html" target="_self">SequenceMaskAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_201_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeFuncAttrs.html" target="_self">ShapeFuncAttrs</a></td><td class="desc">Options for the shape function operator </td></tr>
+<tr id="row_1_5_202_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeOfAttrs.html" target="_self">ShapeOfAttrs</a></td><td class="desc">Attributes for ShapeOf operator </td></tr>
+<tr id="row_1_5_203_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ShapePattern.html" target="_self">ShapePattern</a></td><td class="desc">A pattern which matches a type in another pattern </td></tr>
+<tr id="row_1_5_204_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ShapePatternNode.html" target="_self">ShapePatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> for Shapes </td></tr>
+<tr id="row_1_5_205_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SliceLikeAttrs.html" target="_self">SliceLikeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_206_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SlidingWindowAttrs.html" target="_self">SlidingWindowAttrs</a></td><td class="desc">Attributes used for the sliding_window operator </td></tr>
+<tr id="row_1_5_207_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SoftmaxAttrs.html" target="_self">SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
+<tr id="row_1_5_208_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SpaceToBatchNDAttrs.html" target="_self">SpaceToBatchNDAttrs</a></td><td class="desc">Attributes used in SpaceToBatchND operator </td></tr>
+<tr id="row_1_5_209_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseConv2DAttrs.html" target="_self">SparseConv2DAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
+<tr id="row_1_5_210_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseDenseAttrs.html" target="_self">SparseDenseAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
+<tr id="row_1_5_211_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseToDenseAttrs.html" target="_self">SparseToDenseAttrs</a></td><td class="desc">Attributes used in sparse_to_dense operator </td></tr>
+<tr id="row_1_5_212_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseTransposeAttrs.html" target="_self">SparseTransposeAttrs</a></td><td class="desc">Attributes for sparse_transpose operator </td></tr>
+<tr id="row_1_5_213_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SplitAttrs.html" target="_self">SplitAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_214_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SqueezeAttrs.html" target="_self">SqueezeAttrs</a></td><td class="desc">Attributes used in squeeze operators </td></tr>
+<tr id="row_1_5_215_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StackAttrs.html" target="_self">StackAttrs</a></td><td class="desc">Attributes used in stack operators </td></tr>
+<tr id="row_1_5_216_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StftAttrs.html" target="_self">StftAttrs</a></td><td class="desc">Attributes used in stft operator </td></tr>
+<tr id="row_1_5_217_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StridedSliceAttrs.html" target="_self">StridedSliceAttrs</a></td><td class="desc">Attributes for StridedSlice operator </td></tr>
+<tr id="row_1_5_218_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SubPixelAttrs.html" target="_self">SubPixelAttrs</a></td><td class="desc">Attributes used in subpixel operators </td></tr>
+<tr id="row_1_5_219_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TakeAttrs.html" target="_self">TakeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_220_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TempExpr.html" target="_self">TempExpr</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_221_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TempExprNode.html" target="_self">TempExprNode</a></td><td class="desc">Base class of the temporary expression </td></tr>
+<tr id="row_1_5_222_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ThreefryGenerateAttrs.html" target="_self">ThreefryGenerateAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_223_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TileAttrs.html" target="_self">TileAttrs</a></td><td class="desc">Attributes used in tile operators </td></tr>
+<tr id="row_1_5_224_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TopKAttrs.html" target="_self">TopKAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_225_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TransposeAttrs.html" target="_self">TransposeAttrs</a></td><td class="desc">Attributes used in transpose operators </td></tr>
+<tr id="row_1_5_226_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TriluAttrs.html" target="_self">TriluAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_227_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Tuple.html" target="_self">Tuple</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_228_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItem.html" target="_self">TupleGetItem</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_229_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItemNode.html" target="_self">TupleGetItemNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_230_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItemPattern.html" target="_self">TupleGetItemPattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_231_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItemPatternNode.html" target="_self">TupleGetItemPatternNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_232_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleNode.html" target="_self">TupleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Tuple.html">Tuple</a> container </td></tr>
+<tr id="row_1_5_233_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TuplePattern.html" target="_self">TuplePattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_234_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TuplePatternNode.html" target="_self">TuplePatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Tuple.html">Tuple</a> container </td></tr>
+<tr id="row_1_5_235_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TypePattern.html" target="_self">TypePattern</a></td><td class="desc">A pattern which matches a type in another pattern </td></tr>
+<tr id="row_1_5_236_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TypePatternNode.html" target="_self">TypePatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> for Types </td></tr>
+<tr id="row_1_5_237_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UniformAttrs.html" target="_self">UniformAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_238_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UniqueAttrs.html" target="_self">UniqueAttrs</a></td><td class="desc">Attributes used in unique operator </td></tr>
+<tr id="row_1_5_239_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSampling3DAttrs.html" target="_self">UpSampling3DAttrs</a></td><td class="desc">Attributes for upsampling3d operator </td></tr>
+<tr id="row_1_5_240_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSamplingAttrs.html" target="_self">UpSamplingAttrs</a></td><td class="desc">Attributes for upsampling operator </td></tr>
+<tr id="row_1_5_241_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1v__info.html" target="_self">v_info</a></td><td class="desc">A struct to keep info of traversed expr in ExpandDataflow function </td></tr>
+<tr id="row_1_5_242_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Var.html" target="_self">Var</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_243_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1VarianceAttrs.html" target="_self">VarianceAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_244_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1VarNode.html" target="_self">VarNode</a></td><td class="desc">Container for <a class="el" href="classtvm_1_1relay_1_1Var.html">Var</a> </td></tr>
+<tr id="row_1_5_245_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1VarPattern.html" target="_self">VarPattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_246_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1VarPatternNode.html" target="_self">VarPatternNode</a></td><td class="desc">Container for <a class="el" href="classtvm_1_1relay_1_1Var.html">Var</a> </td></tr>
+<tr id="row_1_5_247_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1WildcardPattern.html" target="_self">WildcardPattern</a></td><td class="desc">A pattern which matches anything </td></tr>
+<tr id="row_1_5_248_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1WildcardPatternNode.html" target="_self">WildcardPatternNode</a></td><td class="desc">Wildcard <a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> </td></tr>
+<tr id="row_1_5_249_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1YoloReorgAttrs.html" target="_self">YoloReorgAttrs</a></td><td class="desc">Attributes used in yolo reorg operators </td></tr>
<tr id="row_1_6_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_6_" class="arrow" onclick="toggleFolder('1_6_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime.html" target="_self">runtime</a></td><td class="desc"></td></tr>
<tr id="row_1_6_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_6_0_" class="arrow" onclick="toggleFolder('1_6_0_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1metadata.html" target="_self">metadata</a></td><td class="desc"></td></tr>
<tr id="row_1_6_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor.html" target="_self">ArrayAccessor</a></td><td class="desc">A span-like class which permits access to <a class="el" href="classtvm_1_1runtime_1_1Array.html" title="Array, container representing a contiguous sequence of ObjectRefs. ">A [...]
diff --git a/docs/reference/api/doxygen/classes.html b/docs/reference/api/doxygen/classes.html
index bc9b65b681..214e7d8825 100644
--- a/docs/reference/api/doxygen/classes.html
+++ b/docs/reference/api/doxygen/classes.html
@@ -65,260 +65,260 @@ $(function() {
<div class="qindex"><a class="qindex" href="#letter_a">a</a> | <a class="qindex" href="#letter_b">b</a> | <a class="qindex" href="#letter_c">c</a> | <a class="qindex" href="#letter_d">d</a> | <a class="qindex" href="#letter_e">e</a> | <a class="qindex" href="#letter_f">f</a> | <a class="qindex" href="#letter_g">g</a> | <a class="qindex" href="#letter_h">h</a> | <a class="qindex" href="#letter_i">i</a> |& [...]
<table class="classindex">
<tr><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  a  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DTransposeAttrs.html">Conv3DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1IntImmNode.html">IntImmNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVisitor.html">PatternVisitor</a> (<a class="el" href="namespacetvm_1_1re [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DWinogradAttrs.html">Conv3DWinogradAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntSet.html">IntSet</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html">PatternWildcard</a> (<a class="el" href="na [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzer.html">AccessAnalyzer</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConvGemmWeightTransformAttrs.html">ConvGemmWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1In [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzerNode.html">AccessAnalyzerNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConvWinogradWeightTransformAttrs.html">ConvWinogradWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtv [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool1DAttrs.html">AdaptivePool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CorrelationAttrs.html">CorrelationAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">IRBuilder</a [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool2DAttrs.html">AdaptivePool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1CostModel.html">CostModel</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrame.ht [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool3DAttrs.html">AdaptivePool3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CostModel.html">CostModel</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrame [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Add.html">Add</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1CostModelNode.html">CostModelNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html">IRBuilderNode</a> (<a class= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AddNode.html">AddNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CostModelNode.html">CostModelNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IRDocsifier.html">IRDocsifier</a> (<a cla [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ADT.html">ADT</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html">CountNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IRDocsifierFunctor.html">IRDocs [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ADTObj.html">ADTObj</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CropAndResizeAttrs.html">CropAndResizeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IRDocsifierNode.html">IRDocsifierNode</a> (<a cla [...]
+</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DTransposeAttrs.html">Conv3DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1IntImm.html">IntImm</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVarNode.html">PatternVarNode</a> (<a class="el" href="namespacetvm_1_1relay.html [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DWinogradAttrs.html">Conv3DWinogradAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1IntImmNode.html">IntImmNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVisitor.html">PatternVisitor</a> (<a class="el" href="namespacetvm_1_1relay [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzer.html">AccessAnalyzer</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConvGemmWeightTransformAttrs.html">ConvGemmWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1In [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzerNode.html">AccessAnalyzerNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConvWinogradWeightTransformAttrs.html">ConvWinogradWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtv [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool1DAttrs.html">AdaptivePool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CorrelationAttrs.html">CorrelationAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntSetNode.html">IntSetNode</a> (<a class="e [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool2DAttrs.html">AdaptivePool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1CostModel.html">CostModel</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">I [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool3DAttrs.html">AdaptivePool3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CostModel.html">CostModel</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrame [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Add.html">Add</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1CostModelNode.html">CostModelNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">IRBuilderFrameNode</a> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AddNode.html">AddNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CostModelNode.html">CostModelNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html">IRBuilderNode</a> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ADT.html">ADT</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html">CountNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IRDocsifier.html">IRDocsifier</ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ADTObj.html">ADTObj</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CropAndResizeAttrs.html">CropAndResizeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IRDocsifierFunctor.html">IRDocsifierFunctor</a> ( [...]
<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AffineGridAttrs.html">AffineGridAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_d"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  d  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1IRModule.html">IRModule</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1PoolInfoNode.html">PoolInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1StageNode.html">StageNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)& [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AffineType.html">AffineType</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1ir_1_1IRModuleFrame.html">IRModuleFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1ir.html">tvm::script::ir_builder::ir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1PoolInfoProperties.html">PoolInfoProperties [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AffineTypeNode.html">AffineTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1Database.html">Database</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1ir_1_1IRModuleFrameNode.html">IRModuleFrameNode</a> (<a [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllClassNonMaximumSuppressionAttrs.html">AllClassNonMaximumSuppressionAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1DatabaseNode.html">DatabaseNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1IRModu [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Allocate.html">Allocate</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataProducer.html">DataProducer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1is__specialized.html">is_specialized</a> (<a class="el" href="namespacetvm_1_1detail.h [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AllocateConst.html">AllocateConst</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataProducerNode.html">DataProducerNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1is__specialized_3_01Container_3_01Args_8_8_8_01_4_00_01Container_01_ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrame.html">AllocateConstFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DataType.html">DataType</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1ru [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html">AllocateConstFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataTypeLegalizer.html">DataTypeLegalizer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="s [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AllocateConstNode.html">AllocateConstNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DataTypePattern.html">DataTypePattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1IterAdapter.html">IterAdapter</a> (<a class="el" href="n [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfo.html">AllocatedPoolInfo</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DataTypePatternNode.html">DataTypePatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1MapNode_1_1iterator.html"> [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html">AllocatedPoolInfoNode</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DebugAttrs.html">DebugAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Map_1_1iterator.html">Map::iterato [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrame.html">AllocateFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DeclBuffer.html">DeclBuffer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1It [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html">AllocateFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrame.html">DeclBufferFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)  [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AllocateNode.html">AllocateNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html">DeclBufferFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto_ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Allocator.html">Allocator</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DeclBufferNode.html">DeclBufferNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1auto__scheduler_1_1AttachMapNode_1_1IterKeyHash.html">AttachMa [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllocStorageAttrs.html">AllocStorageAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DeformableConv2DAttrs.html">DeformableConv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapExpr.html">IterMapExpr</a> (<a [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllocTensorAttrs.html">AllocTensorAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DenseAttrs.html">DenseAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapExprNode.html">IterMapExprNode</a> (<a class="el" href= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AltPattern.html">AltPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DenseMapNode.html">DenseMapNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapResult.html">IterMapResult</a> (<a class="el" href="namespa [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AltPatternNode.html">AltPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DensePackAttrs.html">DensePackAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapResultNode.html">IterMapResultNode</a> (<a class="el [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Dependency.html">Dependency</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMark.html">IterMark</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arit [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1And.html">And</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DependencyNode.html">DependencyNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMarkNode.html">IterMarkNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arit [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AndNode.html">AndNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1qnn_1_1DequantizeAttrs.html">DequantizeAttrs</a> (<a class="el" href="namespacetvm_1_1relay_1_1qnn.html">tvm::relay::qnn</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSplitExpr.html">IterSplitExpr</a> (<a class="el" href= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AnnotationStep.html">AnnotationStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html">DeviceAPI</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSplitExprNode.html">IterSplitEx [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AnnotationStepNode.html">AnnotationStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DeviceCopyAttrs.html">DeviceCopyAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSumExpr.html">It [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Any.html">Any</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html">DeviceWrapper</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSumExprNode.html">IterSumExprNode</a> (<a c [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AnyNode.html">AnyNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperNode.html">DeviceWrapperNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IterVar.html">IterVar</a> (<a cl [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArangeAttrs.html">ArangeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPattern.html">DFPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarAttr.html">IterVarAttr</a> (<a class="el" href="namespacetvm_1_1te.html [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ArgInfo.html">ArgInfo</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternCallback.html">DFPatternCallback</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarAttrNode.html">IterVarAttrNode</a> (<a [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ArgInfoNode.html">ArgInfoNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternCallbackNode.html">DFPatternCallbackNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IterVarNode.html">IterVarNod [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArgReduceAttrs.html">ArgReduceAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor.html">DFPatternFunctor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarRelation.html">IterVarRelation</a> (<a class="el" h [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArgsortAttrs.html">ArgsortAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html">DFPatternFunctor< R(const DFPattern &n, Args...)></a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a c [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternNode.html">DFPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IRDocsifierNode.html">IRDocsifierNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1PoolInfo.html">PoolInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1StageNode.html">StageNode</a> (<a class="el" href="namespacetvm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AffineType.html">AffineType</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1IRModule.html">IRModule</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1PoolInfoNode.html">PoolInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AffineTypeNode.html">AffineTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1Database.html">Database</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1ir_1_1IRModuleFrame.html">IRModuleFrame</a> (<a class=" [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllClassNonMaximumSuppressionAttrs.html">AllClassNonMaximumSuppressionAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1DatabaseNode.html">DatabaseNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Allocate.html">Allocate</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataProducer.html">DataProducer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1IRModuleNode.html">IRModuleNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)  & [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AllocateConst.html">AllocateConst</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataProducerNode.html">DataProducerNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1is__specialized.html">is_specialized</a> (<a class="el" href="namesp [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrame.html">AllocateConstFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DataType.html">DataType</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1de [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html">AllocateConstFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataTypeLegalizer.html">DataTypeLegalizer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="s [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AllocateConstNode.html">AllocateConstNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DataTypePattern.html">DataTypePattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1is__valid__iterator_3_01Optional_3_01T_01_4_00_01IterTy [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfo.html">AllocatedPoolInfo</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DataTypePatternNode.html">DataTypePatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1IterAdapter.html">IterAdap [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html">AllocatedPoolInfoNode</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DebugAttrs.html">DebugAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Map_1_1iterator.html">Map::iterato [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrame.html">AllocateFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DeclBuffer.html">DeclBuffer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1MapNode_1_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html">AllocateFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrame.html">DeclBufferFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)  [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AllocateNode.html">AllocateNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html">DeclBufferFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1suppo [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Allocator.html">Allocator</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DeclBufferNode.html">DeclBufferNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1IteratorNode.html">IteratorNode</a> (<a clas [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllocStorageAttrs.html">AllocStorageAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DeformableConv2DAttrs.html">DeformableConv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1auto__scheduler_1_1AttachMapNode_1_1IterKeyHas [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllocTensorAttrs.html">AllocTensorAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DenseAttrs.html">DenseAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapExpr.html">IterMapExpr</a> (<a class="el" href="namespa [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AltPattern.html">AltPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DenseMapNode.html">DenseMapNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapExprNode.html">IterMapExprNode</a> (<a class="el" href="nam [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AltPatternNode.html">AltPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DensePackAttrs.html">DensePackAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapResult.html">IterMapResult</a> (<a class="el" href=" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Dependency.html">Dependency</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapResultNode.html">IterMapResultNode</a> (<a class="el" href="namespacetvm_1_1ari [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1And.html">And</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DependencyNode.html">DependencyNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMark.html">IterMark</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&# [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AndNode.html">AndNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1qnn_1_1DequantizeAttrs.html">DequantizeAttrs</a> (<a class="el" href="namespacetvm_1_1relay_1_1qnn.html">tvm::relay::qnn</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMarkNode.html">IterMarkNode</a> (<a class="el" href="n [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AnnotationStep.html">AnnotationStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html">DeviceAPI</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSplitExpr.html">IterSplitExpr</ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AnnotationStepNode.html">AnnotationStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DeviceCopyAttrs.html">DeviceCopyAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSplitExprNode.ht [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Any.html">Any</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html">DeviceWrapper</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSumExpr.html">IterSumExpr</a> (<a class="el [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AnyNode.html">AnyNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperNode.html">DeviceWrapperNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSumExprNode.html">IterSumE [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArangeAttrs.html">ArangeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPattern.html">DFPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IterVar.html">IterVar</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm: [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ArgInfo.html">ArgInfo</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternCallback.html">DFPatternCallback</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarAttr.html">IterVarAttr</a> (<a class=" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ArgInfoNode.html">ArgInfoNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternCallbackNode.html">DFPatternCallbackNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarAttrNode.html">IterVar [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArgReduceAttrs.html">ArgReduceAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor.html">DFPatternFunctor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IterVarNode.html">IterVarNode</a> (<a class="el" href="na [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArgsortAttrs.html">ArgsortAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html">DFPatternFunctor< R(const DFPattern &n, Args...)></a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a c [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternNode.html">DFPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarRelationNode.html">IterVarRelationNode</a> (<a class="el" href="namesp [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor.html">ArrayAccessor</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternVisitor.html">DFPatternVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cel [...]
</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ProgramBuilder.html">ProgramBuilder</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1StructuralEqual.html">StructuralEqual</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor.html">ArrayAccessor</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternVisitor.html">DFPatternVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ProgramB [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4.html">ArrayAccessor< const char *, ::tvm::runtime::String ></a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1Diagnostic.html">Diagnostic</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td va [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1ArrayHandler.html">SimpleObjAllocator::ArrayHandler</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticBuilder.html">DiagnosticBuilder</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1LambdaDoc.html">LambdaD [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1ArrayIndexPath.html">ArrayIndexPath</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticContext.html">DiagnosticContext</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1LambdaDocNode.html">LambdaDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1ArrayIndexPathNode.html">ArrayIndexPathNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticContextNode.html">DiagnosticContextNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThreadFrame.html">LaunchThreadFrame</a> (<a class="el" href [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4.html">ArrayAccessor< const char *, ::tvm::runtime::String ></a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DFTAttrs.html">DFTAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>) & [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1ArrayHandler.html">SimpleObjAllocator::ArrayHandler</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1Diagnostic.html">Diagnostic</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1L2NormalizeAttrs.html">L2NormalizeAttrs</a> (<a [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1ArrayIndexPath.html">ArrayIndexPath</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticBuilder.html">DiagnosticBuilder</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1LambdaDoc.html">LambdaDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">t [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1ArrayIndexPathNode.html">ArrayIndexPathNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticContext.html">DiagnosticContext</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1LambdaDocNode.html">LambdaDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayIterator.html">ArrayIterator</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticContextNode.html">DiagnosticContextNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThre [...]
</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayIterator.html">ArrayIterator</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticNode.html">DiagnosticNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThreadFrameNode.ht [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ArrayNode.html">ArrayNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticRenderer.html">DiagnosticRenderer</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LayerNormAttrs.html">LayerNormAttrs</a> (<a class="el" href="namespacetvm_1_1rel [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AssertDoc.html">AssertDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticRendererNode.html">DiagnosticRendererNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Layout.html">Layout</a> (<a class="el" href="na [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AssertDocNode.html">AssertDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DictAttrs.html">DictAttrs</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LayoutAxis.html">LayoutAxis</a> (<a class="el" href="namespacetvm [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AssertFrame.html">AssertFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DictAttrsNode.html">DictAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LayoutNode.html">LayoutNode</a> [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AssertFrameNode.html">AssertFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1DictDoc.html">DictDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" h [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AssertStmt.html">AssertStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1DictDocNode.html">DictDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LE.html">LE</a> (<a class="el" href="namespacetv [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AssertStmtNode.html">AssertStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DilateAttrs.html">DilateAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LeakyReluAttrs.html">LeakyReluAttrs</a> (<a class="el" href="namespace [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AssignDoc.html">AssignDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Dilation2DAttrs.html">Dilation2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1tir_1_1LENode.html">LENode</a> (<a class= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AssignDocNode.html">AssignDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Div.html">Div</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Let.html">Let</a> (<a class="el" href="namespacetvm_1_1tir [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AttachMap.html">AttachMap</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DivNode.html">DivNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Let.html">Let</a> (<a class="el" href="namespacetvm_1_1relay. [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AttachMapNode.html">AttachMapNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1Doc.html">Doc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AttrAccessDoc.html">AttrAccessDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1DocNode.html">DocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__bui [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AttrAccessDocNode.html">AttrAccessDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1DocStringDoc.html">DocStringDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrDocEntry.html">AttrDocEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1DocStringDocNode.html">DocStringDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetNode.html">LetNode</ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrDocVisitor.html">AttrDocVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPattern.html">DominatorPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetPattern.html">LetPattern</a> (<a class="el" href=" [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1AttrError.html">AttrError</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPatternNode.html">DominatorPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetPatternNode.html">LetPatternNode</a> (<a class="el" href="namespacetvm_1_1relay [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrExistVisitor.html">AttrExistVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html">DropoutAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmt.html">LetStmt</a> (<a class="el" href="namespacetv [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ArrayNode.html">ArrayNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticNode.html">DiagnosticNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThreadFrameNode.html">LaunchThreadFrameNode</a> (<a class="e [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AssertDoc.html">AssertDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticRenderer.html">DiagnosticRenderer</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LayerNormAttrs.html">LayerNormAttrs</a> (<a class="e [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AssertDocNode.html">AssertDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticRendererNode.html">DiagnosticRendererNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Layout.html">Layout</a> (<a class="el" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AssertFrame.html">AssertFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DictAttrs.html">DictAttrs</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LayoutAxis.html">LayoutAxis</a> (<a cla [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AssertFrameNode.html">AssertFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1DictAttrsNode.html">DictAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LayoutNode.html">Layout [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AssertStmt.html">AssertStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1DictDoc.html">DictDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LayoutTransformAttrs.html">LayoutTransformAttrs</a> ( [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AssertStmtNode.html">AssertStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1DictDocNode.html">DictDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LE.html">LE</a> (<a class="el" href="nam [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AssignDoc.html">AssignDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DilateAttrs.html">DilateAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LeakyReluAttrs.html">LeakyReluAttrs</a> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AssignDocNode.html">AssignDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Dilation2DAttrs.html">Dilation2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1tir_1_1LENode.html">LENode</a> (< [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AttachMap.html">AttachMap</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Div.html">Div</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Let.html">Let</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::t [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AttachMapNode.html">AttachMapNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DivNode.html">DivNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Let.html">Let</a> (<a class="el" href="namespacetvm_1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AttrAccessDoc.html">AttrAccessDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1Doc.html">Doc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AttrAccessDocNode.html">AttrAccessDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1DocNode.html">DocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrDocEntry.html">AttrDocEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1DocStringDoc.html">DocStringDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetNode.html">LetNode</a> (<a cla [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrDocVisitor.html">AttrDocVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1DocStringDocNode.html">DocStringDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetNode.html">LetNo [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1AttrError.html">AttrError</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPattern.html">DominatorPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetPattern.html">LetPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::rela [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrExistVisitor.html">AttrExistVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPatternNode.html">DominatorPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetPatternNode.html">LetPatternNode</a> ( [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrFieldInfo.html">AttrFieldInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html">DropoutAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmt.html">LetStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)  [...]
</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Tensor.html">Tensor</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrFieldInfo.html">AttrFieldInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html">DurationNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmtNode.html">LetStmtNode</a> (<a class="el" h [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrFieldInfoNode.html">AttrFieldInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DynExpandDimsAttrs.html">DynExpandDimsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1support_1_1LinearCongruentialEngine.html">LinearCongruentialEngine</a> (<a clas [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AttrFrame.html">AttrFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_e"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  e  </div></td></tr></table>
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrFieldInfoNode.html">AttrFieldInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html">DurationNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmtNode.html">LetStmtNode</a> (<a clas [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AttrFrame.html">AttrFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DynExpandDimsAttrs.html">DynExpandDimsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1suppor [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AttrFrameNode.html">AttrFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_e"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  e  </div></td></tr></table>
</td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ListDoc.html">ListDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_r"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  r  </div></td></tr></table>
</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1TensorComputeOp.html">TensorComputeOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AttrFrameNode.html">AttrFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ListDocNode.html">ListDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="e [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttributeAccessPath.html">AttributeAccessPath</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1EinsumAttrs.html">EinsumAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1LiteralDoc.html">LiteralDoc</a> (<a class="el" href="namespacetvm_1_ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttributeAccessPathNode.html">AttributeAccessPathNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1topi_1_1EinsumEquation.html">EinsumEquation</a> (<a class="el" href="namespacetvm_1_1topi.html">tvm::topi</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1LiteralDocNode.html">LiteralDocNode</a> (<a class="el" hr [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrInitEntry.html">AttrInitEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ElseFrame.html">ElseFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Load.h [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrInitVisitor.html">AttrInitVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ElseFrameNode.html">ElseFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1ti [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrNonDefaultVisitor.html">AttrNonDefaultVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1EnvFunc.html">EnvFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalBuilder.html">LocalBuilder</a> (<a class="el" href="namespacetvm_1_ [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrNopEntry.html">AttrNopEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1EnvFuncNode.html">EnvFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalBuilderNode.html">LocalBuilderNode</a> (<a class="el" href="namespacetvm_1_1 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrNormalVisitor.html">AttrNormalVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EQ.html">EQ</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalRunner.html">LocalRunner</a> (<a class="el" href="namespacetvm_1_1 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AttrPattern.html">AttrPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EQNode.html">EQNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalRunnerNode.html">LocalRunnerNode</a> (<a class="el" href="namespacetvm_1_ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AttrPatternNode.html">AttrPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ErrorBuilder.html">ErrorBuilder</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LoopRV.html">LoopRV</a> (<a class="el" href="namespacetvm_1_1ti [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistry.html">AttrRegistry</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ErrorReporter.html">ErrorReporter</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LoopRVNode.html">LoopRVNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)& [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistryMap.html">AttrRegistryMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Evaluate.html">Evaluate</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LRNAttrs.html">LRNAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>) &# [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistryMapContainerMap.html">AttrRegistryMapContainerMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EvaluateNode.html">EvaluateNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LT.html">LT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1Attrs.html">Attrs</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Executable.html">Executable</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LTNode.html">LTNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>) & [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrsNode.html">AttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Executor.html">Executor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  m  </div></td> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttributeAccessPath.html">AttributeAccessPath</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ListDocNode.html">ListDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1TensorComputeOpNode.html">TensorComputeOpNode</a> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttributeAccessPathNode.html">AttributeAccessPathNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1EinsumAttrs.html">EinsumAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1LiteralDoc.html">LiteralDoc</a> (<a class="el" href="namespa [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrInitEntry.html">AttrInitEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1topi_1_1EinsumEquation.html">EinsumEquation</a> (<a class="el" href="namespacetvm_1_1topi.html">tvm::topi</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1LiteralDocNode.html">LiteralDocNode</a> (<a clas [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrInitVisitor.html">AttrInitVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ElseFrame.html">ElseFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Loa [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrNonDefaultVisitor.html">AttrNonDefaultVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ElseFrameNode.html">ElseFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="cl [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrNopEntry.html">AttrNopEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1EnvFunc.html">EnvFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalBuilder.html">LocalBuilder</a> (<a class="el" href="namespacetvm_1_1auto__scheduler. [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrNormalVisitor.html">AttrNormalVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1EnvFuncNode.html">EnvFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalBuilderNode.html">LocalBuilderNode</a> (<a class="el" href="namespa [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AttrPattern.html">AttrPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EQ.html">EQ</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalRunner.html">LocalRunner</a> (<a class="el" href="namespacetvm_1_1auto__scheduler [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AttrPatternNode.html">AttrPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EQNode.html">EQNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalRunnerNode.html">LocalRunnerNode</a> (<a class="el" href="namespa [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistry.html">AttrRegistry</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ErrorBuilder.html">ErrorBuilder</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LoopRV.html">LoopRV</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)  [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistryMap.html">AttrRegistryMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ErrorReporter.html">ErrorReporter</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LoopRVNode.html">LoopRVNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistryMapContainerMap.html">AttrRegistryMapContainerMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Evaluate.html">Evaluate</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LRNAttrs.html">LRNAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1Attrs.html">Attrs</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EvaluateNode.html">EvaluateNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LT.html">LT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrsNode.html">AttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Executable.html">Executable</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LTNode.html">LTNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSEqualVisitor.html">AttrsSEqualVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Executor.html">Executor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div c [...]
</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1RecordReader.html">RecordReader</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1TensorTypeNode.html">TensorTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSEqualVisitor.html">AttrsSEqualVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExecutorNode.html">ExecutorNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1RecordReaderNode.html">RecordReaderNode</a> [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSHashVisitor.html">AttrsSHashVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExecutorRegEntry.html">ExecutorRegEntry</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a> (<a class="el" href="namesp [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AttrStmt.html">AttrStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ExpandDimsAttrs.html">ExpandDimsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1MapNode.html">MapNode</a> (<a class="el" href="namespacetvm_1_1runtime.ht [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AttrStmtNode.html">AttrStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1tir_1_1ExprDeepEqual.html">ExprDeepEqual</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MapValuePath.html">MapValuePath</a> (<a class="el" href="namespacetvm.html">tvm</a>)&# [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrTriggerNonDefaultEntry.html">AttrTriggerNonDefaultEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ExprDoc.html">ExprDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MapValuePathNode.html [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrVisitor.html">AttrVisitor</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ExprDocNode.html">ExprDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Match.html">Match</a> (<a class="el" href="namespacetvm_1_1rela [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AutoSchedulerLayoutTransformAttrs.html">AutoSchedulerLayoutTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprFunctor.html">ExprFunctor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MatchBufferRegion.html">MatchBuffer [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool1DAttrs.html">AvgPool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html">ExprFunctor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MatchBufferRegionNode.html">MatchBufferRegionNode</a> (<a class="el [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool2DAttrs.html">AvgPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html">ExprFunctor< R(const Expr &n, Args...)></a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href=" [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool3DAttrs.html">AvgPool3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprFunctor_3_01R_07const_01PrimExpr_01_6n_00_01Args_8_8_8_08_4.html">ExprFunctor< R(const PrimExpr &n, Args...)></a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSHashVisitor.html">AttrsSHashVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExecutorNode.html">ExecutorNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1RecordReaderNode.html">RecordReaderNode</a> ( [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AttrStmt.html">AttrStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExecutorRegEntry.html">ExecutorRegEntry</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AttrStmtNode.html">AttrStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ExpandDimsAttrs.html">ExpandDimsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1MapNode.html">MapNode</a> (<a class="el" href="namespacetvm_1_1ru [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrTriggerNonDefaultEntry.html">AttrTriggerNonDefaultEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1tir_1_1ExprDeepEqual.html">ExprDeepEqual</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MapValuePath.html">MapValuePath</a> (<a class="e [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrVisitor.html">AttrVisitor</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ExprDoc.html">ExprDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MapValuePathNode.html">MapValuePathNode</a> (<a class="el" href="namespacetvm.ht [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AutoSchedulerLayoutTransformAttrs.html">AutoSchedulerLayoutTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ExprDocNode.html">ExprDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1re [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool1DAttrs.html">AvgPool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprFunctor.html">ExprFunctor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MatchBufferRegion.html">MatchBufferRegion</a> (<a class="el" href="namesp [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool2DAttrs.html">AvgPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html">ExprFunctor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MatchBufferRegionNode.html">MatchBufferRegionNode</a> (<a class="el [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool3DAttrs.html">AvgPool3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html">ExprFunctor< R(const Expr &n, Args...)></a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href=" [...]
<tr><td rowspan="2" valign="bottom"><a name="letter_b"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  b  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprMutator.html">ExprMutator</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MatrixSetDiagAttrs.html">MatrixSetDiagAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1RefRead.html">RefRead</a> (<a class="el" href="namespacetvm_1_ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprMutator.html">ExprMutator</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Max.html">Max</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1RefReadNode.html">RefReadNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay< [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseAttrsNode.html">BaseAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprPattern.html">ExprPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MaxNode.html">MaxNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)  [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1BaseComputeOpNode.html">BaseComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprPatternNode.html">ExprPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool1DAttrs.html">MaxPool1DAttrs</a> (<a class="el" href= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprRewriter.html">ExprRewriter</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool2DAttrs.html">MaxPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay< [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseExprNode.html">BaseExprNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ExprStmtDoc.html">ExprStmtDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool3DAttrs.html">MaxPool3DAttrs</a> (<a class="el" href= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseFunc.html">BaseFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ExprStmtDocNode.html">ExprStmtDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCallback.html">MeasureCallback</a> (<a class= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseFuncNode.html">BaseFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprVisitor.html">ExprVisitor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureCallback.html">MeasureCallback</a> (<a class="el" href="namespacetvm_1_1auto__schedu [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseTensorType.html">BaseTensorType</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html">ExprVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCallbackNode.html">MeasureCallbackNode</a> (<a class="el" href="namespacetv [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseTensorTypeNode.html">BaseTensorTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ExternOp.html">ExternOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureCallbackNode.html">MeasureCallbackNode</a> (<a class="el" href="namespacetvm_1_1a [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseValueEqual.html">BaseValueEqual</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ExternOpNode.html">ExternOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCandidate.html">MeasureCandidate</a> (<a class="el" href="namespacetvm_1_1meta__sc [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseValueHash.html">BaseValueHash</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ExtractedTask.html">ExtractedTask</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.html">MeasureCandidateNode</a> (< [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchMatmulAttrs.html">BatchMatmulAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html">ExtractedTaskNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureInput. [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchNormAttrs.html">BatchNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncObj_1_1Extractor.html">PackedFuncObj::Extractor</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureInputNode.htm [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchToSpaceNDAttrs.html">BatchToSpaceNDAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_f"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  f  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprFunctor_3_01R_07const_01PrimExpr_01_6n_00_01Args_8_8_8_08_4.html">ExprFunctor< R(const PrimExpr &n, Args...)></a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MatmulAttrs.html">MatmulAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="cla [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprMutator.html">ExprMutator</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MatrixSetDiagAttrs.html">MatrixSetDiagAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1RefRead.html">RefRead</a> (<a class="el" href="namespacetvm_1_1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseAttrsNode.html">BaseAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprMutator.html">ExprMutator</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Max.html">Max</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)    [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1BaseComputeOpNode.html">BaseComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprPattern.html">ExprPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MaxNode.html">MaxNode</a> (<a class="el" href="namespacetvm_1_1tir.html [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprPatternNode.html">ExprPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool1DAttrs.html">MaxPool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm:: [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseExprNode.html">BaseExprNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprRewriter.html">ExprRewriter</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool2DAttrs.html">MaxPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseFunc.html">BaseFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ExprStmtDoc.html">ExprStmtDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool3DAttrs.html">MaxPool3DAttrs</a> (<a class="el" href="namespa [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseFuncNode.html">BaseFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ExprStmtDocNode.html">ExprStmtDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCallback.html">MeasureCallback</a> (< [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseTensorType.html">BaseTensorType</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprVisitor.html">ExprVisitor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureCallback.html">MeasureCallback</a> (<a class="el" href="namespacetvm_1_1auto__sc [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseTensorTypeNode.html">BaseTensorTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html">ExprVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCallbackNode.html">MeasureCallbackNode</a> (<a class="el" href="nam [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseValueEqual.html">BaseValueEqual</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ExternOp.html">ExternOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureCallbackNode.html">MeasureCallbackNode</a> (<a class="el" href="namespacetvm_1_1auto__sch [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseValueHash.html">BaseValueHash</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ExternOpNode.html">ExternOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCandidate.html">MeasureCandidate</a> (<a class="el" href="namespacetvm_1_1meta__sche [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchMatmulAttrs.html">BatchMatmulAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ExtractedTask.html">ExtractedTask</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.h [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchNormAttrs.html">BatchNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html">ExtractedTaskNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureInput.html [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchToSpaceNDAttrs.html">BatchToSpaceNDAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncObj_1_1Extractor.html">PackedFuncObj::Extractor</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureInp [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BiasAddAttrs.html">BiasAddAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_f"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  f  </div></td></tr></table>
</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureResult.html">MeasureResult</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ReorderStepNode.html">ReorderStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1TupleAffin [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BiasAddAttrs.html">BiasAddAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureResultNode.html">MeasureResultNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1RepeatAttrs.html">RepeatAtt [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BijectiveLayout.html">BijectiveLayout</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1FeatureExtractor.html">FeatureExtractor</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MemoryInfo.html">MemoryInfo</a> (<a class=" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BijectiveLayoutNode.html">BijectiveLayoutNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1FeatureExtractorNode.html">FeatureExtractorNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MemoryInfoNode.html">Memory [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BinaryConv2DAttrs.html">BinaryConv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FeatureSet.html">FeatureSet</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1MemoryManager.html">MemoryManager</a> (<a class="el" [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BinaryDenseAttrs.html">BinaryDenseAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1FIFOBufferAttrs.html">FIFOBufferAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structMemoryManagerInterface.html">MemoryManagerInterface</a>   [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BinaryOpNode.html">BinaryOpNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyAttrs.html">FixedPointMultiplyAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MeshgridAttrs.html">MeshgridAttrs</a> (<a class="e [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BitPackAttrs.html">BitPackAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyPerAxisAttrs.html">FixedPointMultiplyPerAxisAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1Metadata.html">M [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Block.html">Block</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1SeqStmt_1_1Flattener.html">SeqStmt::Flattener</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataArray.html">MetadataArray</a> (<a class="el" href="namespa [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrame.html">BlockFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1FloatImm.html">FloatImm</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode.html">Met [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrameNode.html">BlockFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1FloatImmNode.html">FloatImmNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataBas [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1BlockInfo.html">BlockInfo</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorDiv.html">FloorDiv</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataBaseNode.html">MetadataBaseNode</a> (<a class="el" href="namespacetvm_1 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockInitFrame.html">BlockInitFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorDivNode.html">FloorDivNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1meta [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockInitFrameNode.html">BlockInitFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorMod.html">FloorMod</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MetaS [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockNode.html">BlockNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorModNode.html">FloorModNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html">MetricCollector</a> (<a class="el" href="namespac [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRealize.html">BlockRealize</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStep.html">FollowFusedSplitStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollecto [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRealizeNode.html">BlockRealizeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStepNode.html">FollowFusedSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Min.html">Min</ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRV.html">BlockRV</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowSplitStep.html">FollowSplitStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MinNode.html">MinNode</a> (<a class="el" href="name [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRVNode.html">BlockRVNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowSplitStepNode.html">FollowSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html">MirrorPadAt [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockScope.html">BlockScope</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1For.html">For</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MissingArrayElementPath.html">MissingArrayElementPath</a> (<a class="el" href="namespacetvm.html">tvm</a>)  [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockScopeNode.html">BlockScopeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ForDoc.html">ForDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MissingArrayElementPathNode.html">MissingArrayElementPath [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1Bool.html">Bool</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ForDocNode.html">ForDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MissingMapEntryPath.html">MissingMapEntryPath</a> (<a class="el" href="namespacetvm.html [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Broadcast.html">Broadcast</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ForFrame.html">ForFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MissingMapEntryPathNode.html">Mis [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1qnn_1_1BroadcastAttrs.html">BroadcastAttrs</a> (<a class="el" href="namespacetvm_1_1relay_1_1qnn.html">tvm::relay::qnn</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ForFrameNode.html">ForFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="c [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BroadcastNode.html">BroadcastNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ForNode.html">ForNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MixedModeVisitor.html">MixedModeVisitor</a> (<a class="el" href="namespacetvm_1_1relay.h [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BijectiveLayout.html">BijectiveLayout</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureResultNode.html">MeasureResultNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1RepeatAttrs.html">RepeatAttr [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BijectiveLayoutNode.html">BijectiveLayoutNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1FeatureExtractor.html">FeatureExtractor</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MemoryInfo.html">MemoryInfo</a> (<a [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BinaryConv2DAttrs.html">BinaryConv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1FeatureExtractorNode.html">FeatureExtractorNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MemoryInfoNode.html">Mem [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BinaryDenseAttrs.html">BinaryDenseAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FeatureSet.html">FeatureSet</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1MemoryManager.html">MemoryManager</a> (<a class="el" hr [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BinaryOpNode.html">BinaryOpNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1FIFOBufferAttrs.html">FIFOBufferAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structMemoryManagerInterface.html">MemoryManagerInterface</a>   </td><td [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BitPackAttrs.html">BitPackAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyAttrs.html">FixedPointMultiplyAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MeshgridAttrs.html">MeshgridAttrs</a> (<a c [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Block.html">Block</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyPerAxisAttrs.html">FixedPointMultiplyPerAxisAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1Metadata.html">Metadata</a> (<a class [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrame.html">BlockFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1SeqStmt_1_1Flattener.html">SeqStmt::Flattener</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrameNode.html">BlockFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1FloatImm.html">FloatImm</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode.h [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1BlockInfo.html">BlockInfo</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1FloatImmNode.html">FloatImmNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataBase.html">MetadataBase</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metada [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockInitFrame.html">BlockInitFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorDiv.html">FloorDiv</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockInitFrameNode.html">BlockInitFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorDivNode.html">FloorDivNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockNode.html">BlockNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorMod.html">FloorMod</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MetaScheduleLayoutTransformAttrs.html">MetaScheduleLayoutTransformAttrs</a> (<a class="el" hr [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRealize.html">BlockRealize</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorModNode.html">FloorModNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html">MetricCollector</a> (<a class="el" href="na [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRealizeNode.html">BlockRealizeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStep.html">FollowFusedSplitStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Metric [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRV.html">BlockRV</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStepNode.html">FollowFusedSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Min.html">Min</a> (<a class="el" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRVNode.html">BlockRVNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowSplitStep.html">FollowSplitStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MinNode.html">MinNode</a> (<a class="el" hr [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockScope.html">BlockScope</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowSplitStepNode.html">FollowSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html">MirrorPadAttr [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockScopeNode.html">BlockScopeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1For.html">For</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MissingArrayElementPath.html">MissingArrayElementPath</a> (<a class="el" href="namespacetvm.html">tvm</ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1Bool.html">Bool</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ForDoc.html">ForDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MissingArrayElementPathNode.html">MissingArrayElementPathNode</a> (<a class="el" href="namespace [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Broadcast.html">Broadcast</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ForDocNode.html">ForDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1MissingMapEntryPath.html">MissingMapEntryPath</a> (<a class [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1qnn_1_1BroadcastAttrs.html">BroadcastAttrs</a> (<a class="el" href="namespacetvm_1_1relay_1_1qnn.html">tvm::relay::qnn</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ForFrame.html">ForFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BroadcastNode.html">BroadcastNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ForFrameNode.html">ForFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MixedMod [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">Buffer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ForNode.html">ForNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MixedModeVisitor.html">MixedModeVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::rela [...]
<tr><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Buffer.html">Buffer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1Frame.html">Frame</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Mod.html">Mod</a> (<a class="el" href=" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">Buffer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1FrameBuffer.html">FrameBuffer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runtime::micro_rpc</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ModNode.html">ModNode</a> (<a class="el" href [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">BufferInfo</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1FrameNode.html">FrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSet.html">ModularSet< [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysis.html">BufferInfoAnalysis</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1Framer.html">Framer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runtime::micro_rpc</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1Modular [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode.html">BufferInfoAnalysisNode</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ShapeTupleObj_1_1FromStd.html">ShapeTupleObj::FromStd</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1Mod [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">BufferInfoNode</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html">StringObj::FromStd</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Module.html">Module</a> ( [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferLoad.html">BufferLoad</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Function.html">Function</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ModuleNode.html">ModuleNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">t [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferLoadNode.html">BufferLoadNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1FunctionDoc.html">FunctionDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Mul.html">Mul</a> (<a class="el" href="n [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferNode.html">BufferNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1FunctionDocNode.html">FunctionDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MulNode.html">MulNode</a> (<a class="el" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRealize.html">BufferRealize</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FunctionNode.html">FunctionNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html">MultiBoxPriorAttrs</a> (<a class="el" href="na [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRealizeNode.html">BufferRealizeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FunctionPattern.html">FunctionPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html">MultiBoxTransformLocAttrs [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRegion.html">BufferRegion</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FunctionPatternNode.html">FunctionPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultinomialAttrs.html">MultinomialAttrs</a> (<a class="el" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRegionNode.html">BufferRegionNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1FuncType.html">FuncType</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1Mutator.html">Mutator</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::m [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferStore.html">BufferStore</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1FuncTypeNode.html">FuncTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MutatorNode.html">MutatorNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html"> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">BufferInfo</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1FrameBuffer.html">FrameBuffer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runtime::micro_rpc</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ModNode.html">M [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysis.html">BufferInfoAnalysis</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1FrameNode.html">FrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSet.h [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode.html">BufferInfoAnalysisNode</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1Framer.html">Framer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runtime::micro_rpc</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1 [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">BufferInfoNode</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ShapeTupleObj_1_1FromStd.html">ShapeTupleObj::FromStd</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSetNode.html [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferLoad.html">BufferLoad</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html">StringObj::FromStd</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Module.html">Module</a> (<a class="el" href="namespacetv [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferLoadNode.html">BufferLoadNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Function.html">Function</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ModuleNode.html">ModuleNode</a> (<a class="el" href="namespacetvm_1_1runtime [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferNode.html">BufferNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1FunctionDoc.html">FunctionDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Mul.html">Mul</a> (<a class="el" href="namespace [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRealize.html">BufferRealize</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1FunctionDocNode.html">FunctionDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MulNode.html">MulNode</a> (<a clas [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRealizeNode.html">BufferRealizeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FunctionNode.html">FunctionNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html">MultiBoxPriorAttrs</a> (<a class="el" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRegion.html">BufferRegion</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FunctionPattern.html">FunctionPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html">MultiBoxTransformLocAttrs</a> (<a c [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRegionNode.html">BufferRegionNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FunctionPatternNode.html">FunctionPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultinomialAttrs.html">MultinomialAttrs</a> (<a cla [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferStore.html">BufferStore</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1FuncType.html">FuncType</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1Mutator.html">Mutator</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedu [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferStoreNode.html">BufferStoreNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1FuncTypeNode.html">FuncTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MutatorNode.html">MutatorNode</a> (<a class="el" href="namespacetvm_1_1meta__schedul [...]
</td><td valign="top"><a class="el" href="classtvm_1_1TypeCallNode.html">TypeCallNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferStoreNode.html">BufferStoreNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Fuse.html">Fuse</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_n"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  n  [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1Builder.html">Builder</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Fuse.html">Fuse</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_n"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  [...]
</td><td valign="top"><a class="el" href="classtvm_1_1TypeConstraint.html">TypeConstraint</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1Builder.html">Builder</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1FuseNode.html">FuseNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ScanOp.html">ScanOp</a> (<a class="el" href="namespacetvm_1_1te.html">tv [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderInput.html">BuilderInput</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStep.html">FuseStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1detai [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderInputNode.html">BuilderInputNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStepNode.html">FuseStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1NameSupply.htm [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderNode.html">BuilderNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_g"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  g  </div></td></tr></table>
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderInput.html">BuilderInput</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1FuseNode.html">FuseNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ScanOp.html">ScanOp</a> (<a class="el" href="namespacetvm_1_1t [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderInputNode.html">BuilderInputNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStep.html">FuseStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderNode.html">BuilderNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStepNode.html">FuseStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1NameSupply.html">NameSup [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderResult.html">BuilderResult</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_g"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  g  </div></td></tr></table>
</td><td valign="top"><a class="el" href="classtvm_1_1NameSupplyNode.html">NameSupplyNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ScatterElementsAttrs.html">ScatterElementsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1TypedEnvFunc.html">TypedEnvFunc</a> (<a class="el" href="namespacetvm.html">tvm< [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderResult.html">BuilderResult</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray.html">NDArray</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ScatterNDAttrs.html">ScatterNDAttrs</a> (<a [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderResultNode.html">BuilderResultNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GatherAttrs.html">GatherAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1NDArrayContainerTrait.html">NDArrayContai [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1BuildResult.html">BuildResult</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GatherNDAttrs.html">GatherNDAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html">NdarraySizeAtt [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1BuildResultNode.html">BuildResultNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GE.html">GE</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NE.html">NE</a> (<a class="el" href="namespacetvm_1_1tir.html [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderResultNode.html">BuilderResultNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray.html">NDArray</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ScatterNDAttrs.html">ScatterNDAttrs [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1BuildResult.html">BuildResult</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GatherAttrs.html">GatherAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1NDArrayContainerTrait.html">NDArrayContainerTrait< [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1BuildResultNode.html">BuildResultNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GatherNDAttrs.html">GatherNDAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html">Ndarra [...]
<tr><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  c  </div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1GenericFunc.html">GenericFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NENode.html">NENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">ScheduleNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)    [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1GenericFuncNode.html">GenericFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html">NLLLossAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ScheduleRule.html">ScheduleRule</a> (<a class="el" href="namespacetvm_1_1meta [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheReadStep.html">CacheReadStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GENode.html">GENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1NodeFunctor.html">NodeFunctor</a> (<a class="el" href="namespace [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheReadStepNode.html">CacheReadStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GetValidCountsAttrs.html">GetValidCountsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1NodeFunctor_3_01R_07con [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheWriteStep.html">CacheWriteStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GlobalPool2DAttrs.html">GlobalPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAt [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheWriteStepNode.html">CacheWriteStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1GlobalTypeVar.html">GlobalTypeVar</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NormalAttrs.html">NormalAttrs</a> (<a class="el" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1GlobalTypeVarNode.html">GlobalTypeVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Not.html">Not</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td va [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classGlobalVar.html">GlobalVar</a>   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NotNode.html">NotNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CallDoc.html">CallDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1GlobalVar.html">GlobalVar</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1NullOptType.html">NullOptType</a> (<a class="el" href="namespacetvm_1_1r [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CallDocNode.html">CallDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1GlobalVarNode.html">GlobalVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_o"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GE.html">GE</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NE.html">NE</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">ScheduleNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><t [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1GenericFunc.html">GenericFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NENode.html">NENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ScheduleNode.html">ScheduleNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheReadStep.html">CacheReadStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1GenericFuncNode.html">GenericFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html">NLLLossAttrs</a> (<a class="el" href [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheReadStepNode.html">CacheReadStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GENode.html">GENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1NodeFunctor.html">NodeFunctor</a> (<a class="el" href="n [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheWriteStep.html">CacheWriteStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GetValidCountsAttrs.html">GetValidCountsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1NodeFunctor_3_01R_07const_01O [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheWriteStepNode.html">CacheWriteStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GlobalPool2DAttrs.html">GlobalPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppr [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1GlobalTypeVar.html">GlobalTypeVar</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NormalAttrs.html">NormalAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)  &# [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1GlobalTypeVarNode.html">GlobalTypeVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Not.html">Not</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CallDoc.html">CallDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classGlobalVar.html">GlobalVar</a>   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NotNode.html">NotNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a clas [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CallDocNode.html">CallDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1GlobalVar.html">GlobalVar</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1NullOptType.html">NullOptType</a> (<a class="el" href="namespace [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1CallFrame.html">CallFrame</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1GlobalVarNode.html">GlobalVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_o"></a><table border="0" cellspacing="0" cellpadding="0"><tr><t [...]
</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1SearchCallbackNode.html">SearchCallbackNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1TypeName_3_01uint64__t_01_4.html">TypeName< uint64_t ></a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td></tr>
-<tr><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1CallFrame.html">CallFrame</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1GlobalVarSupply.html">GlobalVarSupply</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1SearchPolicy.html">SearchPolicy</a> (<a [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CallLoweredAttrs.html">CallLoweredAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1GlobalVarSupplyNode.html">GlobalVarSupplyNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjAllocatorBase.html">ObjAllocatorBase</a> (<a class="el" href="nam [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CallNode.html">CallNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1algo_1_1GreedyBase.html">GreedyBase</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1algo.html">tvm::tir::usmp::algo</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Object.html">Object</a> (<a class="el" href="n [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallNode.html">CallNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GridSampleAttrs.html">GridSampleAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectEqual.html">ObjectEqual</a> (<a class="el" href="namespacetv [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallPattern.html">CallPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GroupNormAttrs.html">GroupNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectHash.html">ObjectHash</a> (<a class="el" href="namespace [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallPatternNode.html">CallPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GT.html">GT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1ObjectPath.html">ObjectPath</a> (<a class="el" href="namespacetvm.html">tvm</a>)    [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GTNode.html">GTNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1ObjectPathNode.html">ObjectPathNode</a> (<a class="el" href="namespacetvm.html">t [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Cast.html">Cast</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_h"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  h  </div></td></tr></table>
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CallLoweredAttrs.html">CallLoweredAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1GlobalVarSupply.html">GlobalVarSupply</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1SearchPolicy.html">SearchPolicy</a> (<a class="el" href="namespacetv [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CallNode.html">CallNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1GlobalVarSupplyNode.html">GlobalVarSupplyNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjAllocatorBase.html">ObjAllocatorBase</a> (<a class="el" href="namespacetvm_1_1runtime.ht [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallNode.html">CallNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1algo_1_1GreedyBase.html">GreedyBase</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1algo.html">tvm::tir::usmp::algo</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Object.html">Object</a> (<a class="el" h [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallPattern.html">CallPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GridSampleAttrs.html">GridSampleAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectEqual.html">ObjectEqual</a> (<a class="el" href="names [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallPatternNode.html">CallPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GroupNormAttrs.html">GroupNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectHash.html">ObjectHash</a> (<a class="el" href="n [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GT.html">GT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1ObjectPath.html">ObjectPath</a> (<a class="el" href="namespacetvm.html">tvm</a>)  [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Cast.html">Cast</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GTNode.html">GTNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1ObjectPathNode.html">ObjectPathNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td va [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CastAttrs.html">CastAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_h"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  h  </div></td></tr></table>
</td><td valign="top"><a class="el" href="classtvm_1_1ObjectPathPair.html">ObjectPathPair</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1SearchTaskNode.html">SearchTaskNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1TypeReporterNode.html">TypeReporterNode</a> (<a class="el" href= [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CastAttrs.html">CastAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1ObjectPathPairNode.html">ObjectPathPairNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Select.html">Select</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>) [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CastHintAttrs.html">CastHintAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1Handler.html">SimpleObjAllocator::Handler</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html">ObjectPtr [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CastNode.html">CastNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1SHashReducer_1_1Handler.html">SHashReducer::Handler</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrEqual.html">ObjectPtrEqual</a> (<a class="el" href="namespacetvm_1_1runtime [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ClassDoc.html">ClassDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1SEqualReducer_1_1Handler.html">SEqualReducer::Handler</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrHash.html">ObjectPtrHash</a> (<a [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CastHintAttrs.html">CastHintAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1ObjectPathPairNode.html">ObjectPathPairNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Select.html">Select</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir< [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CastNode.html">CastNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1Handler.html">SimpleObjAllocator::Handler</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html">ObjectPtr</a> (<a class="e [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ClassDoc.html">ClassDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1SHashReducer_1_1Handler.html">SHashReducer::Handler</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrEqual.html">ObjectPtrEqual</a> (<a [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ClassDocNode.html">ClassDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1SEqualReducer_1_1Handler.html">SEqualReducer::Handler</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrHash.html">ObjectPtrHash< [...]
</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ClassDocNode.html">ClassDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="structdmlc_1_1serializer_1_1Handler_3_01DLDataType_01_4.html">Handler< DLDataType ></a> (<a class="el" href="namespacedmlc_1_1serializer.html">dmlc::serializer</a>)   </td><td valign="top"><a class="el" href="classt [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Clause.html">Clause</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structdmlc_1_1serializer_1_1Handler_3_01DLDevice_01_4.html">Handler< DLDevice ></a> (<a class="el" href="namespacedmlc_1_1serializer.html">dmlc::serializer</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker.html">ObjectTy [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ClauseNode.html">ClauseNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1HardwareParams.html">HardwareParams</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Array_3_01T_01 [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ClipAttrs.html">ClipAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1HardwareParamsNode.html">HardwareParamsNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Map_3_0 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Closure.html">Closure</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1HybridOp.html">HybridOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1OnDeviceAttrs.html">OnDeviceAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">t [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ClosureObj.html">ClosureObj</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1HybridOpNode.html">HybridOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1OneHotAttrs.html">OneHotAttrs</a> (<a class="el" href="namespacetvm_1_1rel [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CmpOpNode.html">CmpOpNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_i"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  i  </div></td></tr></table>
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Clause.html">Clause</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structdmlc_1_1serializer_1_1Handler_3_01DLDataType_01_4.html">Handler< DLDataType ></a> (<a class="el" href="namespacedmlc_1_1serializer.html">dmlc::serializer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ClauseNode.html">ClauseNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structdmlc_1_1serializer_1_1Handler_3_01DLDevice_01_4.html">Handler< DLDevice ></a> (<a class="el" href="namespacedmlc_1_1serializer.html">dmlc::serializer</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker.html"> [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ClipAttrs.html">ClipAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1HardwareParams.html">HardwareParams</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Array_3_01T_01_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Closure.html">Closure</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1HardwareParamsNode.html">HardwareParamsNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Map_3_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ClosureObj.html">ClosureObj</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1HybridOp.html">HybridOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1OnDeviceAttrs.html">OnDeviceAttrs</a> (<a class="el" href="namespacetvm_1_1relay.h [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CmpOpNode.html">CmpOpNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1HybridOpNode.html">HybridOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1OneHotAttrs.html">OneHotAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm:: [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CommentDoc.html">CommentDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_i"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  i  </div></td></tr></table>
</td><td valign="top"><a class="el" href="classtvm_1_1Op.html">Op</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1SEqualHandlerDefault.html">SEqualHandlerDefault</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1UpSampling3DAttrs.html">UpSampling3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)  [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CommentDoc.html">CommentDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1OpAttrMap.html">OpAttrMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1SEqualReducer.html">SEqualReducer</a> (<a class="el" href="namespacetvm.html"> [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CommentDocNode.html">CommentDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Id.html">Id</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Operation.html">Operation</a> (<a class="el" href="na [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CommentDocNode.html">CommentDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1OpAttrMap.html">OpAttrMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1SEqualReducer.html">SEqualReducer</a> (<a class="el" href="namespacetv [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CommReducer.html">CommReducer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Id.html">Id</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Operation.html">Operation</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   [...]
</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CommReducer.html">CommReducer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IdDoc.html">IdDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1OperationDoc.html">OperationDoc</a> (<a clas [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CommReducerNode.html">CommReducerNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IdDocNode.html">IdDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1OperationDocNode.html">Opera [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1CompilationConfig.html">CompilationConfig</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IdNode.html">IdNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1OperationNode.html">OperationNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&# [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1CompilationConfigNode.html">CompilationConfigNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1If.html">If</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpImplementation.html">OpImplementation</a> (<a class="el" href="namespacetvm_1_1relay.html">tv [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CompileError.html">CompileError</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IfDoc.html">IfDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpImplementationNode.html">OpImplementationNode< [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CompilerAttrs.html">CompilerAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IfDocNode.html">IfDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1OpNode.html">OpNode</a> (<a class="el" href="n [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeAtStep.html">ComputeAtStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1IfFrame.html">IfFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="clas [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeAtStepNode.html">ComputeAtStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1IfFrameNode.html">IfFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAG.html">ComputeDAG</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IfNode.html">IfNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpSpecializationNode.html">OpSpecializationNode</a> (<a [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAGNode.html">ComputeDAGNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IfPattern.html">IfPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpStrategy.html">OpStrategy</a> (<a class [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStep.html">ComputeInlineStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IfPatternNode.html">IfPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpStrategyNode.html">OpStra [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStepNode.html">ComputeInlineStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IfThenElse.html">IfThenElse</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a> ( [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1ComputeOp.html">ComputeOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IfThenElseNode.html">IfThenElseNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Or.html">Or</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1ComputeOpNode.html">ComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce.html">ImplSEqualReduce</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1OrNode.html">OrNode</a> (<a class="el" href="namespacetvm_1_1tir. [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStep.html">ComputeRootStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce_3_01T_00_01true_01_4.html">ImplSEqualReduce< T, true ></a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td rowspan="2" valign="bottom"><a name=" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CommReducerNode.html">CommReducerNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IdDoc.html">IdDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1OperationDoc.html">OperationDoc</a> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1CompilationConfig.html">CompilationConfig</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IdDocNode.html">IdDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1OperationDocNode.html">OperationDocNode</a> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1CompilationConfigNode.html">CompilationConfigNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IdNode.html">IdNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1te_1_1OperationNode.html">OperationNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::t [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CompileError.html">CompileError</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1If.html">If</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpImplementation.html">OpImplementation</a> (<a class="el" href="namespacetvm_1_1relay.h [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CompilerAttrs.html">CompilerAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IfDoc.html">IfDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpImplementationNode.html">OpImplementationNo [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeAtStep.html">ComputeAtStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IfDocNode.html">IfDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1OpNode.html">OpNod [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeAtStepNode.html">ComputeAtStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1IfFrame.html">IfFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" hr [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAG.html">ComputeDAG</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1IfFrameNode.html">IfFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)   </td><td valign="top"><a class="el" href="cl [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAGNode.html">ComputeDAGNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IfNode.html">IfNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpSpecializationNode.html">OpSpecializationNode [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStep.html">ComputeInlineStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IfPattern.html">IfPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpStrategy.html">OpStrategy</a> (<a [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStepNode.html">ComputeInlineStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IfPatternNode.html">IfPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpStrategyNode.html [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1ComputeOp.html">ComputeOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IfThenElse.html">IfThenElse</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1ComputeOpNode.html">ComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IfThenElseNode.html">IfThenElseNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Or.html">Or</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>) [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStep.html">ComputeRootStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce.html">ImplSEqualReduce</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1OrNode.html">OrNode</a> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStepNode.html">ComputeRootStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce_3_01T_00_01true_01_4.html">ImplSEqualReduce< T, true ></a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td rowspan="2" valign="bottom">< [...]
</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1SignaturePrinter.html">SignaturePrinter</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1VirtualDeviceNode.html">VirtualDeviceNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStepNode.html">ComputeRootStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce.html">ImplSHashReduce</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllo [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConcatenateAttrs.html">ConcatenateAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce_3_01T_00_01true_01_4.html">ImplSHashReduce< T, true ></a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFun [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Constant.html">Constant</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs.html">ImplVisitAttrs</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFuncObj.html">PackedFuncObj</a> (<a class="el" href="namespa [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1ConstantInfo.html">ConstantInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs_3_01T_00_01true_01_4.html">ImplVisitAttrs< T, true ></a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFuncSubObj.html">PackedFuncSubObj</a> ( [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadata.html">ConstantInfoMetadata</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1IncompleteType.html">IncompleteType</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter.html" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadataNode.html">ConstantInfoMetadataNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1IncompleteTypeNode.html">IncompleteTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValu [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConcatenateAttrs.html">ConcatenateAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce.html">ImplSHashReduce</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator.html">SimpleObjAllocator</a> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Constant.html">Constant</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce_3_01T_00_01true_01_4.html">ImplSHashReduce< T, true ></a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html">PackedFun [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1ConstantInfo.html">ConstantInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs.html">ImplVisitAttrs</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFuncObj.html">PackedFuncObj</a> (<a class="el" href="namespacetvm_1_1runtime. [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadata.html">ConstantInfoMetadata</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs_3_01T_00_01true_01_4.html">ImplVisitAttrs< T, true ></a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)   </td><td valign="top"><a clas [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadataNode.html">ConstantInfoMetadataNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1IncompleteType.html">IncompleteType</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConvert [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1ConstantInfoNode.html">ConstantInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1IncompleteTypeNode.html">IncompleteTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01Optional_3_01T_01_4_01_4.html">PackedFuncValueConverter< Optio [...]
</td></tr>
-<tr><td valign="top"><a class="el" href="structtvm_1_1ConstantInfoNode.html">ConstantInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IndexDataTypeNormalizer.html">IndexDataTypeNormalizer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01PrimExpr_01_4.html">PackedFuncValueC [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1ConstantMemoryPools.html">ConstantMemoryPools</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IndexDataTypeRewriter.html">IndexDataTypeRewriter</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Bool_01_4.html">PackedFuncVa [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1ConstantMemoryPoolsNode.html">ConstantMemoryPoolsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IndexDoc.html">IndexDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Integ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantNode.html">ConstantNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IndexDocNode.html">IndexDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_1_1t [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantPattern.html">ConstantPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IndexMap.html">IndexMap</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1PacketFieldSizeBytes.html">PacketFieldSizeBytes</a> (<a clas [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantPatternNode.html">ConstantPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IndexMapNode.html">IndexMapNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1PadAttrs.html">PadAttrs</a> (<a class="el" href="namespacet [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1ConstantPoolInfo.html">ConstantPoolInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1InitOpAttrs.html">InitOpAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1Pass.html">Pass</a> (<a class="el" href="namespacetvm_1_1transform.html">tvm::tran [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html">ConstantPoolInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1InplaceArrayBase.html">InplaceArrayBase</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">PassContext</a> (<a class="el" href="nam [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBound.html">ConstIntBound</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1InstanceNormAttrs.html">InstanceNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassContextNode.html">PassContextNode</a> (<a class [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">ConstIntBoundAnalyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Instruction.html">Instruction</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassInfo.html">PassInfo</a> (<a class="el" href="names [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundNode.html">ConstIntBoundNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html">Instruction</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassInfoNode.html">PassInfoNode</ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionKind.html">InstructionKind</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1instrument_1_1PassInstrument.html">PassInstrument</a> (<a class="el [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1Constructor.html">Constructor</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionKindNode.html">InstructionKindNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1instrument_1_1PassInstrumentNode.html">PassInstrumentNode</a> (<a class="el" href="namespacetvm_ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1ConstructorNode.html">ConstructorNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionKindRegEntry.html">InstructionKindRegEntry</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassNode.html">PassNode</a> (<a class="el" href="namespacetvm_1_1tr [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstructorValue.html">ConstructorValue</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionNode.html">InstructionNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Pattern.html">Pattern</a> (<a class="el" href="namespacetvm_ [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConstructorValueObj.html">ConstructorValueObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraints.html">IntConstraints</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternConstructor.html">PatternConstructor</a> ( [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1Container.html">NDArray::Container</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsNode.html">IntConstraintsNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternConstructorNode.html">Pattern [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1ContainerBase.html">NDArray::ContainerBase</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransform.html">IntConstraintsTransform</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternFunctor.htm [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv1DAttrs.html">Conv1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html">IntConstraintsTransformNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_ [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv1DTransposeAttrs.html">Conv1DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1Integer.html">Integer</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternMutator.html">PatternMutator</a> (<a class="el" href="namespacetvm_1_1relay.htm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1ConstantMemoryPools.html">ConstantMemoryPools</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IndexDataTypeNormalizer.html">IndexDataTypeNormalizer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01PrimExpr_01_4.html">PackedFuncV [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1ConstantMemoryPoolsNode.html">ConstantMemoryPoolsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IndexDataTypeRewriter.html">IndexDataTypeRewriter</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Bool_01_4.html">Pac [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantNode.html">ConstantNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IndexDoc.html">IndexDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Int [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantPattern.html">ConstantPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1IndexDocNode.html">IndexDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantPatternNode.html">ConstantPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IndexMap.html">IndexMap</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1PacketFieldSizeBytes.html">PacketFieldSizeBytes</a> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1ConstantPoolInfo.html">ConstantPoolInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IndexMapNode.html">IndexMapNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1PadAttrs.html">PadAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html">ConstantPoolInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1InitOpAttrs.html">InitOpAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1Pass.html">Pass</a> (<a class="el" href="namespacetvm_1_1transform.html"> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBound.html">ConstIntBound</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1InplaceArrayBase.html">InplaceArrayBase</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">PassContext</a> (<a class="el" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">ConstIntBoundAnalyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1InstanceNormAttrs.html">InstanceNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassContextNode.html">PassContextNo [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundNode.html">ConstIntBoundNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Instruction.html">Instruction</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassInfo.html">PassInfo</a> (<a class="el" href="namespacetvm_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html">Instruction</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassInfoNode.html">PassInfoNode</ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1Constructor.html">Constructor</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionKind.html">InstructionKind</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1instrument_1_1PassInstrument.html">PassInstrument</a> (<a class="el" href="namespacetvm_1_1instrument.ht [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1ConstructorNode.html">ConstructorNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionKindNode.html">InstructionKindNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1instrument_1_1PassInstrumentNode.html">PassInstrumentNode</a> (<a class="el" href="names [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstructorValue.html">ConstructorValue</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionKindRegEntry.html">InstructionKindRegEntry</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassNode.html">PassNode</a> (<a class="e [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConstructorValueObj.html">ConstructorValueObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionNode.html">InstructionNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Pattern.html">Pattern</a> (<a class="el" href="namesp [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1Container.html">NDArray::Container</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraints.html">IntConstraints</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternConstructor.html">PatternConstructor< [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1ContainerBase.html">NDArray::ContainerBase</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsNode.html">IntConstraintsNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternConstructorNode.html" [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv1DAttrs.html">Conv1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransform.html">IntConstraintsTransform</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternFunctor.html">PatternFunctor</a> (<a cla [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv1DTransposeAttrs.html">Conv1DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html">IntConstraintsTransformNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_ [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DAttrs.html">Conv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1Integer.html">Integer</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternMutator.html">PatternMutator</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>) [...]
</td></tr>
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DAttrs.html">Conv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1InterpreterClosure.html">InterpreterClosure</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternNode.html">PatternNode</a> (<a class="el" href="na [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DTransposeAttrs.html">Conv2DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1InterpreterClosureObj.html">InterpreterClosureObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternTuple.html">PatternTuple</ [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradAttrs.html">Conv2DWinogradAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntGroupBounds.html">IntGroupBounds</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternTupleNode.html">PatternTupleNode</a> (<a c [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradNNPACKWeightTransformAttrs.html">Conv2DWinogradNNPACKWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntGroupBoundsNode.html">IntGroupBoundsNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_ [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DAttrs.html">Conv3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1IntImm.html">IntImm</a> (<a class="el" href="namespacetvm.html">tvm</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVarNode.html">PatternVarNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&# [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DTransposeAttrs.html">Conv2DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1InterpreterClosure.html">InterpreterClosure</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternNode.html">PatternNode</a> (<a c [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradAttrs.html">Conv2DWinogradAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1InterpreterClosureObj.html">InterpreterClosureObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternTuple.html">PatternTuple</a> [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradNNPACKWeightTransformAttrs.html">Conv2DWinogradNNPACKWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntGroupBounds.html">IntGroupBounds</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Pattern [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DAttrs.html">Conv3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntGroupBoundsNode.html">IntGroupBoundsNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)   </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> (<a class="el" href="name [...]
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_a">a</a> | <a class="qindex" href="#letter_b">b</a> | <a class="qindex" href="#letter_c">c</a> | <a class="qindex" href="#letter_d">d</a> | <a class="qindex" href="#letter_e">e</a> | <a class="qindex" href="#letter_f">f</a> | <a class="qindex" href="#letter_g">g</a> | <a class="qindex" href="#letter_h">h</a> | <a class="qindex" href="#letter_i">i</a> |& [...]
diff --git a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
index fdbaa5656b..5e974c428d 100644
--- a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
@@ -79,7 +79,7 @@ $(function() {
<p>Inherits <a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a>.</p>
-<p>Inherited by <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode< AdaptivePool1DAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode< AdaptivePool2DAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode< AdaptivePool3DAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode< AffineGridAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode< AllClassNonMaximumSuppres [...]
+<p>Inherited by <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode< AdaptivePool1DAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode< AdaptivePool2DAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode< AdaptivePool3DAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode< AffineGridAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode< AllClassNonMaximumSuppres [...]
<div class="dynheader">
Collaboration diagram for tvm::BaseAttrsNode:</div>
<div class="dyncontent">
@@ -318,7 +318,7 @@ Additional Inherited Members</h2></td></tr>
</dl>
<dl class="section note"><dt>Note</dt><dd>This function throws when the required field is not present. </dd></dl>
-<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< DilateAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< Conv2DWinogradNNPACKWeightTransformAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532 [...]
+<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< DilateAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< Conv2DWinogradNNPACKWeightTransformAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532 [...]
</div>
</div>
@@ -384,7 +384,7 @@ template<typename... Args> </div>
<p>Get the field information. </p>
<dl class="section return"><dt>Returns</dt><dd>The fields in the <a class="el" href="classtvm_1_1Attrs.html" title="Managed reference to BaseAttrsNode. ">Attrs</a>. </dd></dl>
-<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< DilateAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< Conv2DWinogradNNPACKWeightTransformAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6 [...]
+<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< DilateAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< Conv2DWinogradNNPACKWeightTransformAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6 [...]
</div>
</div>
@@ -474,7 +474,7 @@ template<typename... Args> </div>
</table>
</div><div class="memdoc">
-<p>Reimplemented in <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< DilateAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< Conv2DWinogradNNPACKWeightTransformAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a3 [...]
+<p>Reimplemented in <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< DilateAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< Conv2DWinogradNNPACKWeightTransformAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a3 [...]
</div>
</div>
@@ -511,7 +511,7 @@ template<typename... Args> </div>
</dd>
</dl>
-<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< DilateAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< Conv2DWinogradNNPACKWeightTransformAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da88 [...]
+<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< DilateAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< Conv2DWinogradNNPACKWeightTransformAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da88 [...]
</div>
</div>
diff --git a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__coll__graph.svg
index f7e35a7b4a..ebd63d780e 100644
--- a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__coll__graph.svg
@@ -9,9 +9,9 @@
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 608)">
<title>tvm::BaseAttrsNode</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-608 269,-608 269,4 -4,4"/>
-<!-- Node280 -->
+<!-- Node282 -->
<g id="node1" class="node">
-<title>Node280</title>
+<title>Node282</title>
<polygon fill="#bfbfbf" stroke="#000000" points="0,-.5 0,-178.5 207,-178.5 207,-.5 0,-.5"/>
<text text-anchor="middle" x="103.5" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseAttrsNode</text>
<polyline fill="none" stroke="#000000" points="0,-159.5 207,-159.5 "/>
@@ -30,9 +30,9 @@
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ InitByPackedArgs()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
</g>
-<!-- Node281 -->
+<!-- Node283 -->
<g id="node2" class="node">
-<title>Node281</title>
+<title>Node283</title>
<g id="a_node2"><a xlink:href="classtvm_1_1runtime_1_1Object.html" target="_top" xlink:title="base class of all object containers. ">
<polygon fill="#ffffff" stroke="#000000" points="12,-216.5 12,-603.5 195,-603.5 195,-216.5 12,-216.5"/>
<text text-anchor="middle" x="103.5" y="-591.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
@@ -73,15 +73,15 @@
</a>
</g>
</g>
-<!-- Node281->Node280 -->
+<!-- Node283->Node282 -->
<g id="edge1" class="edge">
-<title>Node281->Node280</title>
+<title>Node283->Node282</title>
<path fill="none" stroke="#191970" d="M103.5,-205.9464C103.5,-196.5963 103.5,-187.4618 103.5,-178.684"/>
<polygon fill="none" stroke="#191970" points="100.0001,-206.1701 103.5,-216.1701 107.0001,-206.1701 100.0001,-206.1701"/>
</g>
-<!-- Node281->Node281 -->
+<!-- Node283->Node283 -->
<g id="edge2" class="edge">
-<title>Node281->Node281</title>
+<title>Node283->Node283</title>
<path fill="none" stroke="#404040" d="M195.3625,-443.9248C206.0482,-437.6637 213,-426.3555 213,-410 213,-399.0112 209.8618,-390.3007 204.5615,-383.8687"/>
<polygon fill="none" stroke="#404040" points="204.5184,-383.8322 197.3548,-383.0056 195.3625,-376.0752 202.5261,-376.9017 204.5184,-383.8322"/>
<text text-anchor="middle" x="239" y="-407.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #deleter_</text>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object__coll__graph.svg
index 419df34442..40aa8ecfa7 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object__coll__graph.svg
@@ -9,9 +9,9 @@
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 392)">
<title>tvm::runtime::Object</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-392 257,-392 257,4 -4,4"/>
-<!-- Node685 -->
+<!-- Node687 -->
<g id="node1" class="node">
-<title>Node685</title>
+<title>Node687</title>
<polygon fill="#bfbfbf" stroke="#000000" points="0,-.5 0,-387.5 183,-387.5 183,-.5 0,-.5"/>
<text text-anchor="middle" x="91.5" y="-375.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
<polyline fill="none" stroke="#000000" points="0,-368.5 183,-368.5 "/>
@@ -49,9 +49,9 @@
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
</g>
-<!-- Node685->Node685 -->
+<!-- Node687->Node687 -->
<g id="edge1" class="edge">
-<title>Node685->Node685</title>
+<title>Node687->Node687</title>
<path fill="none" stroke="#404040" d="M183.3625,-256.0888C194.0482,-244.6299 201,-223.9336 201,-194 201,-171.3159 197.0077,-153.9367 190.4236,-141.8623"/>
<polygon fill="none" stroke="#404040" points="190.3069,-141.6977 183.5725,-139.1192 183.3625,-131.9112 190.0969,-134.4897 190.3069,-141.6977"/>
<text text-anchor="middle" x="227" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #deleter_</text>
diff --git a/docs/reference/api/doxygen/functions_func_t.html b/docs/reference/api/doxygen/functions_func_t.html
index 1299fb28a3..98b8bead47 100644
--- a/docs/reference/api/doxygen/functions_func_t.html
+++ b/docs/reference/api/doxygen/functions_func_t.html
@@ -288,6 +288,7 @@ $(function() {
, <a class="el" href="structtvm_1_1relay_1_1DenseAttrs.html#a4977bda9ff12286eecd87b3de535790e">tvm::relay::DenseAttrs</a>
, <a class="el" href="structtvm_1_1relay_1_1DensePackAttrs.html#a0d8c00f67b7ab9310c1c25929d488df8">tvm::relay::DensePackAttrs</a>
, <a class="el" href="structtvm_1_1relay_1_1DeviceCopyAttrs.html#a79d407304a51ca0f1a050342237af67c">tvm::relay::DeviceCopyAttrs</a>
+, <a class="el" href="structtvm_1_1relay_1_1DFTAttrs.html#aeca6c338ba9bf1831a13420bbc96d5a2">tvm::relay::DFTAttrs</a>
, <a class="el" href="structtvm_1_1relay_1_1DilateAttrs.html#a3815ccd2eac51c42726273d3467e26ad">tvm::relay::DilateAttrs</a>
, <a class="el" href="structtvm_1_1relay_1_1Dilation2DAttrs.html#af338ab1b6311cdeb7e838b681a5efc74">tvm::relay::Dilation2DAttrs</a>
, <a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html#a1b7fbb825537355362e6b791df842e9a">tvm::relay::DropoutAttrs</a>
@@ -1245,7 +1246,7 @@ $(function() {
: <a class="el" href="classtvm_1_1TypeData.html#a0a98fd1095812379d2bd1337db1511c1">tvm::TypeData</a>
</li>
<li>TypedEnvFunc()
-: <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a41a6b9014d0feeb628ca7edfd0d26f0b">tvm::TypedEnvFunc< R(Args...)></a>
+: <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a0d72a6fa7263821c14bcd37837998ed9">tvm::TypedEnvFunc< R(Args...)></a>
</li>
<li>TypedPackedFunc()
: <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#a36ca0d1876544463ee848766e70e5e96">tvm::runtime::TypedPackedFunc< R(Args...)></a>
diff --git a/docs/reference/api/doxygen/functions_i.html b/docs/reference/api/doxygen/functions_i.html
index 03b5d20142..11135635ef 100644
--- a/docs/reference/api/doxygen/functions_i.html
+++ b/docs/reference/api/doxygen/functions_i.html
@@ -378,6 +378,9 @@ $(function() {
<li>InvalidateCache()
: <a class="el" href="classtvm_1_1te_1_1ScheduleNode.html#a2b6a92ec4b1c295604b55ff8e8c365e7">tvm::te::ScheduleNode</a>
</li>
+<li>inverse
+: <a class="el" href="structtvm_1_1relay_1_1DFTAttrs.html#a51fa18ceac3ad908a2f9fdf8ebbe512f">tvm::relay::DFTAttrs</a>
+</li>
<li>Inverse()
: <a class="el" href="classtvm_1_1tir_1_1IndexMap.html#a5363f3897623b7854aed24b2fd657f5a">tvm::tir::IndexMap</a>
</li>
@@ -389,7 +392,7 @@ $(function() {
</li>
<li>Invoke()
: <a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#acb19406a24fa95bf39a29d15ad6be256">tvm::runtime::vm::Instruction</a>
-, <a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a1094291352e07e4c827a88b1167b89ad">tvm::runtime::vm::VirtualMachine</a>
+, <a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#aa5f4724e2e702ef9d5c34e85dec53b02">tvm::runtime::vm::VirtualMachine</a>
</li>
<li>invoke_args_registers
: <a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a6fc678bca0e215303087981a79f23b7f">tvm::runtime::vm::Instruction</a>
@@ -578,8 +581,8 @@ $(function() {
<li>IsPrimal()
: <a class="el" href="classtvm_1_1tir_1_1LayoutAxis.html#a4a8e9b07fbdfccc187ea41141b373ebe">tvm::tir::LayoutAxis</a>
</li>
-<li>IsPrimitiveOp()
-: <a class="el" href="classtvm_1_1OpNode.html#a3ba51353d63c4674eac080a3560a4412">tvm::OpNode</a>
+<li>IsPrimitiveOp
+: <a class="el" href="classtvm_1_1OpNode.html#aee9090e54dff3e72ed272b981e036ae6">tvm::OpNode</a>
</li>
<li>IsRegionCoveredConsumer()
: <a class="el" href="classtvm_1_1tir_1_1ScheduleStateNode.html#a9596efdecacb172c531a53b1f21717ad">tvm::tir::ScheduleStateNode</a>
@@ -653,7 +656,7 @@ $(function() {
<li>iterator
: <a class="el" href="classtvm_1_1runtime_1_1Array.html#a98e5ad633b8195d954c98067213ae29f">tvm::runtime::Array< T, typename ></a>
, <a class="el" href="classtvm_1_1runtime_1_1Map_1_1iterator.html#ad8b40ddeffccb6f221601eda70202f9a">tvm::runtime::Map< K, V, typename, typename >::iterator</a>
-, <a class="el" href="classtvm_1_1runtime_1_1MapNode_1_1iterator.html#ad605c9f9aaed23e669c2a3c595d08ba4">tvm::runtime::MapNode::iterator</a>
+, <a class="el" href="classtvm_1_1runtime_1_1MapNode_1_1iterator.html#a75e3f2657cdb7cc613bf922429983165">tvm::runtime::MapNode::iterator</a>
, <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor.html#a79703afd52032715cc2d9d4c6830147f">tvm::runtime::metadata::ArrayAccessor< C, Ref ></a>
, <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4.html#a3216d91ef7fb0771463e76c9a0afcd1c">tvm::runtime::metadata::ArrayAccessor< const char *, ::tvm::runtime::String ></a>
, <a class="el" href="classtvm_1_1support_1_1Span.html#af6fbb6a54a3ecf8673146acae0c8228b">tvm::support::Span< T, W ></a>
@@ -678,7 +681,7 @@ $(function() {
: <a class="el" href="classtvm_1_1auto__scheduler_1_1StageNode.html#a65304957db6f84d8d7c90ad553453bb9">tvm::auto_scheduler::StageNode</a>
</li>
<li>IterSplitExpr()
-: <a class="el" href="classtvm_1_1arith_1_1IterSplitExpr.html#af919631fd9bfb7726d0a867ee9f0e6f5">tvm::arith::IterSplitExpr</a>
+: <a class="el" href="classtvm_1_1arith_1_1IterSplitExpr.html#a754a9d8338aa2d2b5fac9e10c95c9128">tvm::arith::IterSplitExpr</a>
</li>
<li>IterSumExpr()
: <a class="el" href="classtvm_1_1arith_1_1IterSumExpr.html#a1b9f8013f3978bafe4da3a6cad65fb36">tvm::arith::IterSumExpr</a>
diff --git a/docs/reference/api/doxygen/functions_t.html b/docs/reference/api/doxygen/functions_t.html
index 645cbcb3b7..0a86bac15d 100644
--- a/docs/reference/api/doxygen/functions_t.html
+++ b/docs/reference/api/doxygen/functions_t.html
@@ -81,7 +81,7 @@ $(function() {
, <a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a46879dbe84105fb621a6167f8d73b223">tvm::runtime::vm::Instruction</a>
</li>
<li>Target()
-: <a class="el" href="classtvm_1_1Target.html#a77f3d7cc97d8cfd7172af58b4e784d89">tvm::Target</a>
+: <a class="el" href="classtvm_1_1Target.html#a58a5a1e042e265fe5a6973045226fe1a">tvm::Target</a>
</li>
<li>target
: <a class="el" href="classtvm_1_1VirtualDeviceNode.html#a8b2d427d9e21886ccaeaae5e9cc55aaf">tvm::VirtualDeviceNode</a>
@@ -495,6 +495,7 @@ $(function() {
, <a class="el" href="structtvm_1_1relay_1_1DenseAttrs.html#a4977bda9ff12286eecd87b3de535790e">tvm::relay::DenseAttrs</a>
, <a class="el" href="structtvm_1_1relay_1_1DensePackAttrs.html#a0d8c00f67b7ab9310c1c25929d488df8">tvm::relay::DensePackAttrs</a>
, <a class="el" href="structtvm_1_1relay_1_1DeviceCopyAttrs.html#a79d407304a51ca0f1a050342237af67c">tvm::relay::DeviceCopyAttrs</a>
+, <a class="el" href="structtvm_1_1relay_1_1DFTAttrs.html#aeca6c338ba9bf1831a13420bbc96d5a2">tvm::relay::DFTAttrs</a>
, <a class="el" href="structtvm_1_1relay_1_1DilateAttrs.html#a3815ccd2eac51c42726273d3467e26ad">tvm::relay::DilateAttrs</a>
, <a class="el" href="structtvm_1_1relay_1_1Dilation2DAttrs.html#af338ab1b6311cdeb7e838b681a5efc74">tvm::relay::Dilation2DAttrs</a>
, <a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html#a1b7fbb825537355362e6b791df842e9a">tvm::relay::DropoutAttrs</a>
@@ -1514,7 +1515,7 @@ $(function() {
: <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a0d72a6fa7263821c14bcd37837998ed9">tvm::TypedEnvFunc< R(Args...)></a>
</li>
<li>TypedPackedFunc()
-: <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#af45a2ceff92e6f6c394ea766a45027a0">tvm::runtime::TypedPackedFunc< R(Args...)></a>
+: <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#afd8ee9dd9648c19b468bb4b0b00e8e4e">tvm::runtime::TypedPackedFunc< R(Args...)></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_i.html b/docs/reference/api/doxygen/functions_vars_i.html
index dc95619f85..05e85599c7 100644
--- a/docs/reference/api/doxygen/functions_vars_i.html
+++ b/docs/reference/api/doxygen/functions_vars_i.html
@@ -196,6 +196,9 @@ $(function() {
<li>invalid_to_bottom
: <a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html#a51ab0634c017ed9a2fbf8706f22365dc">tvm::relay::NonMaximumSuppressionAttrs</a>
</li>
+<li>inverse
+: <a class="el" href="structtvm_1_1relay_1_1DFTAttrs.html#a51fa18ceac3ad908a2f9fdf8ebbe512f">tvm::relay::DFTAttrs</a>
+</li>
<li>inverse_index_map
: <a class="el" href="classtvm_1_1tir_1_1IndexMapNode.html#a5cef05e7862cde95e178fcc5a756b07d">tvm::tir::IndexMapNode</a>
</li>
diff --git a/docs/reference/api/doxygen/hierarchy.html b/docs/reference/api/doxygen/hierarchy.html
index 3479dec518..632da1d870 100644
--- a/docs/reference/api/doxygen/hierarchy.html
+++ b/docs/reference/api/doxygen/hierarchy.html
@@ -183,8 +183,8 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
<tr id="row_84_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSetAnalyzer.html" target="_self">tvm::arith::IntSetAnalyzer</a></td><td class="desc"><a class="el" href="classtvm_1_1Integer.html" title="Container of constant int that adds more constructors. ">Integer</a> set analyzer </td></tr>
<tr id="row_85_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1script_1_1printer_1_1IRDocsifierFunctor.html" target="_self">tvm::script::printer::IRDocsifierFunctor< R, Args ></a></td><td class="desc">Dynamic dispatch functor based on <a class="el" href="classtvm_1_1ObjectPath.html">ObjectPath</a> </td></tr>
<tr id="row_86_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1IterAdapter.html" target="_self">tvm::runtime::IterAdapter< Converter, TIter ></a></td><td class="desc">Iterator adapter that adapts TIter to return another type </td></tr>
-<tr id="row_87_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1MapNode_1_1iterator.html" target="_self">tvm::runtime::MapNode::iterator</a></td><td class="desc"></td></tr>
-<tr id="row_88_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Map_1_1iterator.html" target="_self">tvm::runtime::Map< K, V, typename, typename >::iterator</a></td><td class="desc">Iterator of the hash map </td></tr>
+<tr id="row_87_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Map_1_1iterator.html" target="_self">tvm::runtime::Map< K, V, typename, typename >::iterator</a></td><td class="desc">Iterator of the hash map </td></tr>
+<tr id="row_88_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1MapNode_1_1iterator.html" target="_self">tvm::runtime::MapNode::iterator</a></td><td class="desc"></td></tr>
<tr id="row_89_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1support_1_1Span_1_1iterator__base.html" target="_self">tvm::support::Span< T, W >::iterator_base< W1 ></a></td><td class="desc"></td></tr>
<tr id="row_90_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1auto__scheduler_1_1AttachMapNode_1_1IterKeyHash.html" target="_self">tvm::auto_scheduler::AttachMapNode::IterKeyHash</a></td><td class="desc"></td></tr>
<tr id="row_91_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1LayoutAxis.html" target="_self">tvm::tir::LayoutAxis</a></td><td class="desc"></td></tr>
@@ -351,190 +351,192 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
<tr id="row_103_31_45_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1qnn_1_1DequantizeAttrs.html" target="_self">tvm::relay::qnn::DequantizeAttrs</a></td><td class="desc">Attribute for dequantize operator </td></tr>
<tr id="row_103_31_46_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_46_" class="arrow" onclick="toggleFolder('103_31_46_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< DeviceCopyAttrs ></a></td><td class="desc"></td></tr>
<tr id="row_103_31_46_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DeviceCopyAttrs.html" target="_self">tvm::relay::DeviceCopyAttrs</a></td><td class="desc">Options for the device copy operators </td></tr>
-<tr id="row_103_31_47_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_47_" class="arrow" onclick="toggleFolder('103_31_47_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< DilateAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_47_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DilateAttrs.html" target="_self">tvm::relay::DilateAttrs</a></td><td class="desc">Attributes used in dilate operator </td></tr>
-<tr id="row_103_31_48_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_48_" class="arrow" onclick="toggleFolder('103_31_48_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< Dilation2DAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_48_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Dilation2DAttrs.html" target="_self">tvm::relay::Dilation2DAttrs</a></td><td class="desc">Attributes used in dilation operators </td></tr>
-<tr id="row_103_31_49_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_49_" class="arrow" onclick="toggleFolder('103_31_49_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< DropoutAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_49_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html" target="_self">tvm::relay::DropoutAttrs</a></td><td class="desc">Attributes used in dropout operator </td></tr>
-<tr id="row_103_31_50_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_50_" class="arrow" onclick="toggleFolder('103_31_50_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< DynExpandDimsAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_50_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DynExpandDimsAttrs.html" target="_self">tvm::relay::DynExpandDimsAttrs</a></td><td class="desc">Attributes used in dynamic expand_dims operators </td></tr>
-<tr id="row_103_31_51_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_51_" class="arrow" onclick="toggleFolder('103_31_51_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< EinsumAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_51_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1EinsumAttrs.html" target="_self">tvm::relay::EinsumAttrs</a></td><td class="desc">Attributes used in einsum operator </td></tr>
-<tr id="row_103_31_52_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_52_" class="arrow" onclick="toggleFolder('103_31_52_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ExpandDimsAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_52_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ExpandDimsAttrs.html" target="_self">tvm::relay::ExpandDimsAttrs</a></td><td class="desc">Attributes used in expand_dims operators </td></tr>
-<tr id="row_103_31_53_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_53_" class="arrow" onclick="toggleFolder('103_31_53_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< FIFOBufferAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_53_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FIFOBufferAttrs.html" target="_self">tvm::relay::FIFOBufferAttrs</a></td><td class="desc">Attributes for FIFO buffer operator </td></tr>
-<tr id="row_103_31_54_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_54_" class="arrow" onclick="toggleFolder('103_31_54_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< FixedPointMultiplyAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_54_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyAttrs.html" target="_self">tvm::relay::FixedPointMultiplyAttrs</a></td><td class="desc">Attributes for FixedPointMultiply operator </td></tr>
-<tr id="row_103_31_55_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_55_" class="arrow" onclick="toggleFolder('103_31_55_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< FixedPointMultiplyPerAxisAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_55_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyPerAxisAttrs.html" target="_self">tvm::relay::FixedPointMultiplyPerAxisAttrs</a></td><td class="desc">Attributes for per channel/per axes FixedPointMultiply operator </td></tr>
-<tr id="row_103_31_56_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_56_" class="arrow" onclick="toggleFolder('103_31_56_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< GatherAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_56_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GatherAttrs.html" target="_self">tvm::relay::GatherAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_57_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_57_" class="arrow" onclick="toggleFolder('103_31_57_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< GatherNDAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_57_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GatherNDAttrs.html" target="_self">tvm::relay::GatherNDAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_58_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_58_" class="arrow" onclick="toggleFolder('103_31_58_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< GetValidCountsAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_58_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GetValidCountsAttrs.html" target="_self">tvm::relay::GetValidCountsAttrs</a></td><td class="desc">Attributes used in get_valid_counts operator </td></tr>
-<tr id="row_103_31_59_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_59_" class="arrow" onclick="toggleFolder('103_31_59_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< GlobalPool2DAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_59_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GlobalPool2DAttrs.html" target="_self">tvm::relay::GlobalPool2DAttrs</a></td><td class="desc">Attributes for global pool operator </td></tr>
-<tr id="row_103_31_60_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_60_" class="arrow" onclick="toggleFolder('103_31_60_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< GridSampleAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_60_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GridSampleAttrs.html" target="_self">tvm::relay::GridSampleAttrs</a></td><td class="desc">Attributes used in image grid_sample operator </td></tr>
-<tr id="row_103_31_61_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_61_" class="arrow" onclick="toggleFolder('103_31_61_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< GroupNormAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_61_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GroupNormAttrs.html" target="_self">tvm::relay::GroupNormAttrs</a></td><td class="desc">Attributes used in group_norm operator </td></tr>
-<tr id="row_103_31_62_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_62_" class="arrow" onclick="toggleFolder('103_31_62_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< InitOpAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_62_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1InitOpAttrs.html" target="_self">tvm::relay::InitOpAttrs</a></td><td class="desc">Attributes that specify a tensor </td></tr>
-<tr id="row_103_31_63_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_63_" class="arrow" onclick="toggleFolder('103_31_63_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< InstanceNormAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_63_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1InstanceNormAttrs.html" target="_self">tvm::relay::InstanceNormAttrs</a></td><td class="desc">Attributes used in instance_norm operator </td></tr>
-<tr id="row_103_31_64_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_64_" class="arrow" onclick="toggleFolder('103_31_64_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< L2NormalizeAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_64_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1L2NormalizeAttrs.html" target="_self">tvm::relay::L2NormalizeAttrs</a></td><td class="desc">Attributes for L2Normalize operator </td></tr>
-<tr id="row_103_31_65_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_65_" class="arrow" onclick="toggleFolder('103_31_65_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< LayerNormAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_65_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LayerNormAttrs.html" target="_self">tvm::relay::LayerNormAttrs</a></td><td class="desc">Attributes used in layer_norm operator </td></tr>
-<tr id="row_103_31_66_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_66_" class="arrow" onclick="toggleFolder('103_31_66_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< LayoutTransformAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_66_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LayoutTransformAttrs.html" target="_self">tvm::relay::LayoutTransformAttrs</a></td><td class="desc">Attributes for LayoutTransform operator </td></tr>
-<tr id="row_103_31_67_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_67_" class="arrow" onclick="toggleFolder('103_31_67_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< LeakyReluAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_67_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LeakyReluAttrs.html" target="_self">tvm::relay::LeakyReluAttrs</a></td><td class="desc">Attributes for leaky relu operator </td></tr>
-<tr id="row_103_31_68_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_68_" class="arrow" onclick="toggleFolder('103_31_68_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< LRNAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_68_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LRNAttrs.html" target="_self">tvm::relay::LRNAttrs</a></td><td class="desc">Attributes for LRN operator </td></tr>
-<tr id="row_103_31_69_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_69_" class="arrow" onclick="toggleFolder('103_31_69_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MatmulAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_69_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MatmulAttrs.html" target="_self">tvm::relay::MatmulAttrs</a></td><td class="desc">Attributes for matmul operator </td></tr>
-<tr id="row_103_31_70_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_70_" class="arrow" onclick="toggleFolder('103_31_70_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MatrixSetDiagAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_70_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MatrixSetDiagAttrs.html" target="_self">tvm::relay::MatrixSetDiagAttrs</a></td><td class="desc">Attributes used in matrix_set_diag operator </td></tr>
-<tr id="row_103_31_71_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_71_" class="arrow" onclick="toggleFolder('103_31_71_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MaxPool1DAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_71_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool1DAttrs.html" target="_self">tvm::relay::MaxPool1DAttrs</a></td><td class="desc">Attributes for 1D max pool operator </td></tr>
-<tr id="row_103_31_72_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_72_" class="arrow" onclick="toggleFolder('103_31_72_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MaxPool2DAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_72_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool2DAttrs.html" target="_self">tvm::relay::MaxPool2DAttrs</a></td><td class="desc">Attributes for max pool operator </td></tr>
-<tr id="row_103_31_73_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_73_" class="arrow" onclick="toggleFolder('103_31_73_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MaxPool3DAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_73_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool3DAttrs.html" target="_self">tvm::relay::MaxPool3DAttrs</a></td><td class="desc">Attributes for 3D max pool operator </td></tr>
-<tr id="row_103_31_74_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_74_" class="arrow" onclick="toggleFolder('103_31_74_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MeshgridAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_74_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MeshgridAttrs.html" target="_self">tvm::relay::MeshgridAttrs</a></td><td class="desc">Attributes used in meshgrid operators </td></tr>
-<tr id="row_103_31_75_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_75_" class="arrow" onclick="toggleFolder('103_31_75_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MetaScheduleLayoutTransformAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_75_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MetaScheduleLayoutTransformAttrs.html" target="_self">tvm::relay::MetaScheduleLayoutTransformAttrs</a></td><td class="desc">Attributes for MetaScheduleLayoutTransform operator </td></tr>
-<tr id="row_103_31_76_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_76_" class="arrow" onclick="toggleFolder('103_31_76_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MirrorPadAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_76_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html" target="_self">tvm::relay::MirrorPadAttrs</a></td><td class="desc">Attributes used for the MirrorPadding operator </td></tr>
-<tr id="row_103_31_77_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_77_" class="arrow" onclick="toggleFolder('103_31_77_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MultiBoxPriorAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_77_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html" target="_self">tvm::relay::MultiBoxPriorAttrs</a></td><td class="desc">Attributes used in multibox_prior operators </td></tr>
-<tr id="row_103_31_78_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_78_" class="arrow" onclick="toggleFolder('103_31_78_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MultiBoxTransformLocAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_78_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html" target="_self">tvm::relay::MultiBoxTransformLocAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_79_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_79_" class="arrow" onclick="toggleFolder('103_31_79_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MultinomialAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_79_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultinomialAttrs.html" target="_self">tvm::relay::MultinomialAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_80_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_80_" class="arrow" onclick="toggleFolder('103_31_80_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< NdarraySizeAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_80_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html" target="_self">tvm::relay::NdarraySizeAttrs</a></td><td class="desc">Attributes for ndarray_size operator </td></tr>
-<tr id="row_103_31_81_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_81_" class="arrow" onclick="toggleFolder('103_31_81_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< NLLLossAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_81_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html" target="_self">tvm::relay::NLLLossAttrs</a></td><td class="desc">Attributes used in NLLLoss operator </td></tr>
-<tr id="row_103_31_82_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_82_" class="arrow" onclick="toggleFolder('103_31_82_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< NonMaximumSuppressionAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_82_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html" target="_self">tvm::relay::NonMaximumSuppressionAttrs</a></td><td class="desc">Attributes used in non_maximum_suppression operator </td></tr>
-<tr id="row_103_31_83_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_83_" class="arrow" onclick="toggleFolder('103_31_83_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< NormalAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_83_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NormalAttrs.html" target="_self">tvm::relay::NormalAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_84_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_84_" class="arrow" onclick="toggleFolder('103_31_84_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< OnDeviceAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_84_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OnDeviceAttrs.html" target="_self">tvm::relay::OnDeviceAttrs</a></td><td class="desc">Attributes for the "on_device" annotation (ie operator) </td></tr>
-<tr id="row_103_31_85_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_85_" class="arrow" onclick="toggleFolder('103_31_85_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< OneHotAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_85_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OneHotAttrs.html" target="_self">tvm::relay::OneHotAttrs</a></td><td class="desc">Attributes used in one-hot operator </td></tr>
-<tr id="row_103_31_86_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_86_" class="arrow" onclick="toggleFolder('103_31_86_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< PadAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_86_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PadAttrs.html" target="_self">tvm::relay::PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
-<tr id="row_103_31_87_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_87_" class="arrow" onclick="toggleFolder('103_31_87_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< PReluAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_87_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PReluAttrs.html" target="_self">tvm::relay::PReluAttrs</a></td><td class="desc">Attributes for prelu operator </td></tr>
-<tr id="row_103_31_88_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_88_" class="arrow" onclick="toggleFolder('103_31_88_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ProposalAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_88_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ProposalAttrs.html" target="_self">tvm::relay::ProposalAttrs</a></td><td class="desc">Attributes used in proposal operators </td></tr>
-<tr id="row_103_31_89_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_89_" class="arrow" onclick="toggleFolder('103_31_89_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< QuantizeAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_89_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1qnn_1_1QuantizeAttrs.html" target="_self">tvm::relay::qnn::QuantizeAttrs</a></td><td class="desc">Attribute for quantize operator </td></tr>
-<tr id="row_103_31_90_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_90_" class="arrow" onclick="toggleFolder('103_31_90_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ReduceAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_90_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReduceAttrs.html" target="_self">tvm::relay::ReduceAttrs</a></td><td class="desc">Attributes for Reduce operators </td></tr>
-<tr id="row_103_31_91_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_91_" class="arrow" onclick="toggleFolder('103_31_91_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< RepeatAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_91_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1RepeatAttrs.html" target="_self">tvm::relay::RepeatAttrs</a></td><td class="desc">Attributes used in repeat operators </td></tr>
-<tr id="row_103_31_92_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_92_" class="arrow" onclick="toggleFolder('103_31_92_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< RequantizeAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_92_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1qnn_1_1RequantizeAttrs.html" target="_self">tvm::relay::qnn::RequantizeAttrs</a></td><td class="desc">Attribute for requantize operator </td></tr>
-<tr id="row_103_31_93_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_93_" class="arrow" onclick="toggleFolder('103_31_93_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ReshapeAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_93_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeAttrs.html" target="_self">tvm::relay::ReshapeAttrs</a></td><td class="desc">Attributes used in reshape operators </td></tr>
-<tr id="row_103_31_94_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_94_" class="arrow" onclick="toggleFolder('103_31_94_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ReshapeLikeAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_94_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeLikeAttrs.html" target="_self">tvm::relay::ReshapeLikeAttrs</a></td><td class="desc">Attributes used in MXNet-style reshape_like operators </td></tr>
-<tr id="row_103_31_95_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_95_" class="arrow" onclick="toggleFolder('103_31_95_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ReshapeTensorAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_95_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeTensorAttrs.html" target="_self">tvm::relay::ReshapeTensorAttrs</a></td><td class="desc">Attributes for VM reshape_tensor operator </td></tr>
-<tr id="row_103_31_96_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_96_" class="arrow" onclick="toggleFolder('103_31_96_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< Resize1DAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_96_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize1DAttrs.html" target="_self">tvm::relay::Resize1DAttrs</a></td><td class="desc">Attributes used in image resize1d operator </td></tr>
-<tr id="row_103_31_97_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_97_" class="arrow" onclick="toggleFolder('103_31_97_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< Resize2DAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_97_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize2DAttrs.html" target="_self">tvm::relay::Resize2DAttrs</a></td><td class="desc">Attributes used in image resize2d operator </td></tr>
-<tr id="row_103_31_98_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_98_" class="arrow" onclick="toggleFolder('103_31_98_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< Resize3DAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_98_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize3DAttrs.html" target="_self">tvm::relay::Resize3DAttrs</a></td><td class="desc">Attributes used in image resize3d operator </td></tr>
-<tr id="row_103_31_99_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_99_" class="arrow" onclick="toggleFolder('103_31_99_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ReverseAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_99_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReverseAttrs.html" target="_self">tvm::relay::ReverseAttrs</a></td><td class="desc">Attributes used in reverse operators </td></tr>
-<tr id="row_103_31_100_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_100_" class="arrow" onclick="toggleFolder('103_31_100_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ReverseSequenceAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_100_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReverseSequenceAttrs.html" target="_self">tvm::relay::ReverseSequenceAttrs</a></td><td class="desc">Attributes used in reverse_sequence operators </td></tr>
-<tr id="row_103_31_101_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_101_" class="arrow" onclick="toggleFolder('103_31_101_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ROIAlignAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_101_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIAlignAttrs.html" target="_self">tvm::relay::ROIAlignAttrs</a></td><td class="desc">Attributes used in roi_align operators </td></tr>
-<tr id="row_103_31_102_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_102_" class="arrow" onclick="toggleFolder('103_31_102_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ROIPoolAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_102_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIPoolAttrs.html" target="_self">tvm::relay::ROIPoolAttrs</a></td><td class="desc">Attributes used in roi_pool operators </td></tr>
-<tr id="row_103_31_103_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_103_" class="arrow" onclick="toggleFolder('103_31_103_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ScanopAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_103_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScanopAttrs.html" target="_self">tvm::relay::ScanopAttrs</a></td><td class="desc">Attributes used in cumsum and cumprod operator </td></tr>
-<tr id="row_103_31_104_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_104_" class="arrow" onclick="toggleFolder('103_31_104_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ScatterElementsAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_104_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterElementsAttrs.html" target="_self">tvm::relay::ScatterElementsAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_105_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_105_" class="arrow" onclick="toggleFolder('103_31_105_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ScatterNDAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_105_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterNDAttrs.html" target="_self">tvm::relay::ScatterNDAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_106_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_106_" class="arrow" onclick="toggleFolder('103_31_106_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SearchSortedAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_106_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SearchSortedAttrs.html" target="_self">tvm::relay::SearchSortedAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_107_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_107_" class="arrow" onclick="toggleFolder('103_31_107_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SequenceMaskAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_107_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SequenceMaskAttrs.html" target="_self">tvm::relay::SequenceMaskAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_108_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_108_" class="arrow" onclick="toggleFolder('103_31_108_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ShapeFuncAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_108_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeFuncAttrs.html" target="_self">tvm::relay::ShapeFuncAttrs</a></td><td class="desc">Options for the shape function operator </td></tr>
-<tr id="row_103_31_109_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_109_" class="arrow" onclick="toggleFolder('103_31_109_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ShapeOfAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_109_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeOfAttrs.html" target="_self">tvm::relay::ShapeOfAttrs</a></td><td class="desc">Attributes for ShapeOf operator </td></tr>
-<tr id="row_103_31_110_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_110_" class="arrow" onclick="toggleFolder('103_31_110_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SimulatedQuantizeAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_110_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1qnn_1_1SimulatedQuantizeAttrs.html" target="_self">tvm::relay::qnn::SimulatedQuantizeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_111_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_111_" class="arrow" onclick="toggleFolder('103_31_111_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SliceLikeAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_111_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SliceLikeAttrs.html" target="_self">tvm::relay::SliceLikeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_112_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_112_" class="arrow" onclick="toggleFolder('103_31_112_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SlidingWindowAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_112_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SlidingWindowAttrs.html" target="_self">tvm::relay::SlidingWindowAttrs</a></td><td class="desc">Attributes used for the sliding_window operator </td></tr>
-<tr id="row_103_31_113_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_113_" class="arrow" onclick="toggleFolder('103_31_113_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SoftmaxAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_113_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SoftmaxAttrs.html" target="_self">tvm::relay::SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
-<tr id="row_103_31_114_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_114_" class="arrow" onclick="toggleFolder('103_31_114_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SpaceToBatchNDAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_114_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SpaceToBatchNDAttrs.html" target="_self">tvm::relay::SpaceToBatchNDAttrs</a></td><td class="desc">Attributes used in SpaceToBatchND operator </td></tr>
-<tr id="row_103_31_115_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_115_" class="arrow" onclick="toggleFolder('103_31_115_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SparseConv2DAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_115_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseConv2DAttrs.html" target="_self">tvm::relay::SparseConv2DAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
-<tr id="row_103_31_116_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_116_" class="arrow" onclick="toggleFolder('103_31_116_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SparseDenseAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_116_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseDenseAttrs.html" target="_self">tvm::relay::SparseDenseAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
-<tr id="row_103_31_117_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_117_" class="arrow" onclick="toggleFolder('103_31_117_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SparseToDenseAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_117_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseToDenseAttrs.html" target="_self">tvm::relay::SparseToDenseAttrs</a></td><td class="desc">Attributes used in sparse_to_dense operator </td></tr>
-<tr id="row_103_31_118_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_118_" class="arrow" onclick="toggleFolder('103_31_118_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SparseTransposeAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_118_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseTransposeAttrs.html" target="_self">tvm::relay::SparseTransposeAttrs</a></td><td class="desc">Attributes for sparse_transpose operator </td></tr>
-<tr id="row_103_31_119_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_119_" class="arrow" onclick="toggleFolder('103_31_119_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SplitAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_119_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SplitAttrs.html" target="_self">tvm::relay::SplitAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_120_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_120_" class="arrow" onclick="toggleFolder('103_31_120_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SqueezeAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_120_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SqueezeAttrs.html" target="_self">tvm::relay::SqueezeAttrs</a></td><td class="desc">Attributes used in squeeze operators </td></tr>
-<tr id="row_103_31_121_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_121_" class="arrow" onclick="toggleFolder('103_31_121_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< StackAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_121_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StackAttrs.html" target="_self">tvm::relay::StackAttrs</a></td><td class="desc">Attributes used in stack operators </td></tr>
-<tr id="row_103_31_122_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_122_" class="arrow" onclick="toggleFolder('103_31_122_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< StftAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_122_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StftAttrs.html" target="_self">tvm::relay::StftAttrs</a></td><td class="desc">Attributes used in stft operator </td></tr>
-<tr id="row_103_31_123_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_123_" class="arrow" onclick="toggleFolder('103_31_123_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< StridedSliceAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_123_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StridedSliceAttrs.html" target="_self">tvm::relay::StridedSliceAttrs</a></td><td class="desc">Attributes for StridedSlice operator </td></tr>
-<tr id="row_103_31_124_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_124_" class="arrow" onclick="toggleFolder('103_31_124_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SubPixelAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_124_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SubPixelAttrs.html" target="_self">tvm::relay::SubPixelAttrs</a></td><td class="desc">Attributes used in subpixel operators </td></tr>
-<tr id="row_103_31_125_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_125_" class="arrow" onclick="toggleFolder('103_31_125_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< TakeAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_125_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TakeAttrs.html" target="_self">tvm::relay::TakeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_126_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_126_" class="arrow" onclick="toggleFolder('103_31_126_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ThreefryGenerateAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_126_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ThreefryGenerateAttrs.html" target="_self">tvm::relay::ThreefryGenerateAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_127_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_127_" class="arrow" onclick="toggleFolder('103_31_127_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< TileAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_127_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TileAttrs.html" target="_self">tvm::relay::TileAttrs</a></td><td class="desc">Attributes used in tile operators </td></tr>
-<tr id="row_103_31_128_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_128_" class="arrow" onclick="toggleFolder('103_31_128_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< TopKAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_128_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TopKAttrs.html" target="_self">tvm::relay::TopKAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_129_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_129_" class="arrow" onclick="toggleFolder('103_31_129_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< TransposeAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_129_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TransposeAttrs.html" target="_self">tvm::relay::TransposeAttrs</a></td><td class="desc">Attributes used in transpose operators </td></tr>
-<tr id="row_103_31_130_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_130_" class="arrow" onclick="toggleFolder('103_31_130_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< TriluAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_130_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TriluAttrs.html" target="_self">tvm::relay::TriluAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_131_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_131_" class="arrow" onclick="toggleFolder('103_31_131_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< UniformAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_131_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UniformAttrs.html" target="_self">tvm::relay::UniformAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_132_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_132_" class="arrow" onclick="toggleFolder('103_31_132_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< UniqueAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_132_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UniqueAttrs.html" target="_self">tvm::relay::UniqueAttrs</a></td><td class="desc">Attributes used in unique operator </td></tr>
-<tr id="row_103_31_133_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_133_" class="arrow" onclick="toggleFolder('103_31_133_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< UpSampling3DAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_133_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSampling3DAttrs.html" target="_self">tvm::relay::UpSampling3DAttrs</a></td><td class="desc">Attributes for upsampling3d operator </td></tr>
-<tr id="row_103_31_134_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_134_" class="arrow" onclick="toggleFolder('103_31_134_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< UpSamplingAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_134_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSamplingAttrs.html" target="_self">tvm::relay::UpSamplingAttrs</a></td><td class="desc">Attributes for upsampling operator </td></tr>
-<tr id="row_103_31_135_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_135_" class="arrow" onclick="toggleFolder('103_31_135_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< VarianceAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_135_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1VarianceAttrs.html" target="_self">tvm::relay::VarianceAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_136_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_136_" class="arrow" onclick="toggleFolder('103_31_136_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< VirtualDeviceNode ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_136_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1VirtualDeviceNode.html" target="_self">tvm::VirtualDeviceNode</a></td><td class="desc">Describes at compile time the constraints on where data is to be stored at runtime down to the (virtual) device and memory scope level, and how to compile code to compute that dat [...]
-<tr id="row_103_31_137_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_137_" class="arrow" onclick="toggleFolder('103_31_137_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< YoloReorgAttrs ></a></td><td class="desc"></td></tr>
-<tr id="row_103_31_137_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1YoloReorgAttrs.html" target="_self">tvm::relay::YoloReorgAttrs</a></td><td class="desc">Attributes used in yolo reorg operators </td></tr>
-<tr id="row_103_31_138_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< DerivedType ></a></td><td class="desc">The base class of the all the Use "curiously recurring template pattern" </td></tr>
-<tr id="row_103_31_139_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1DictAttrsNode.html" target="_self">tvm::DictAttrsNode</a></td><td class="desc">Specialized attribute type that is backed by a map. The <a class="el" href="classtvm_1_1DictAttrsNode.html" title="Specialized attribute type that is backed by a map. The DictAttrsNode impl [...]
+<tr id="row_103_31_47_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_47_" class="arrow" onclick="toggleFolder('103_31_47_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< DFTAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_47_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DFTAttrs.html" target="_self">tvm::relay::DFTAttrs</a></td><td class="desc">Attributes used in DFT operator </td></tr>
+<tr id="row_103_31_48_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_48_" class="arrow" onclick="toggleFolder('103_31_48_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< DilateAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_48_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DilateAttrs.html" target="_self">tvm::relay::DilateAttrs</a></td><td class="desc">Attributes used in dilate operator </td></tr>
+<tr id="row_103_31_49_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_49_" class="arrow" onclick="toggleFolder('103_31_49_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< Dilation2DAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_49_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Dilation2DAttrs.html" target="_self">tvm::relay::Dilation2DAttrs</a></td><td class="desc">Attributes used in dilation operators </td></tr>
+<tr id="row_103_31_50_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_50_" class="arrow" onclick="toggleFolder('103_31_50_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< DropoutAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_50_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html" target="_self">tvm::relay::DropoutAttrs</a></td><td class="desc">Attributes used in dropout operator </td></tr>
+<tr id="row_103_31_51_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_51_" class="arrow" onclick="toggleFolder('103_31_51_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< DynExpandDimsAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_51_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DynExpandDimsAttrs.html" target="_self">tvm::relay::DynExpandDimsAttrs</a></td><td class="desc">Attributes used in dynamic expand_dims operators </td></tr>
+<tr id="row_103_31_52_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_52_" class="arrow" onclick="toggleFolder('103_31_52_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< EinsumAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_52_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1EinsumAttrs.html" target="_self">tvm::relay::EinsumAttrs</a></td><td class="desc">Attributes used in einsum operator </td></tr>
+<tr id="row_103_31_53_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_53_" class="arrow" onclick="toggleFolder('103_31_53_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ExpandDimsAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_53_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ExpandDimsAttrs.html" target="_self">tvm::relay::ExpandDimsAttrs</a></td><td class="desc">Attributes used in expand_dims operators </td></tr>
+<tr id="row_103_31_54_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_54_" class="arrow" onclick="toggleFolder('103_31_54_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< FIFOBufferAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_54_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FIFOBufferAttrs.html" target="_self">tvm::relay::FIFOBufferAttrs</a></td><td class="desc">Attributes for FIFO buffer operator </td></tr>
+<tr id="row_103_31_55_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_55_" class="arrow" onclick="toggleFolder('103_31_55_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< FixedPointMultiplyAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_55_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyAttrs.html" target="_self">tvm::relay::FixedPointMultiplyAttrs</a></td><td class="desc">Attributes for FixedPointMultiply operator </td></tr>
+<tr id="row_103_31_56_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_56_" class="arrow" onclick="toggleFolder('103_31_56_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< FixedPointMultiplyPerAxisAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_56_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyPerAxisAttrs.html" target="_self">tvm::relay::FixedPointMultiplyPerAxisAttrs</a></td><td class="desc">Attributes for per channel/per axes FixedPointMultiply operator </td></tr>
+<tr id="row_103_31_57_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_57_" class="arrow" onclick="toggleFolder('103_31_57_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< GatherAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_57_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GatherAttrs.html" target="_self">tvm::relay::GatherAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_58_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_58_" class="arrow" onclick="toggleFolder('103_31_58_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< GatherNDAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_58_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GatherNDAttrs.html" target="_self">tvm::relay::GatherNDAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_59_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_59_" class="arrow" onclick="toggleFolder('103_31_59_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< GetValidCountsAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_59_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GetValidCountsAttrs.html" target="_self">tvm::relay::GetValidCountsAttrs</a></td><td class="desc">Attributes used in get_valid_counts operator </td></tr>
+<tr id="row_103_31_60_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_60_" class="arrow" onclick="toggleFolder('103_31_60_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< GlobalPool2DAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_60_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GlobalPool2DAttrs.html" target="_self">tvm::relay::GlobalPool2DAttrs</a></td><td class="desc">Attributes for global pool operator </td></tr>
+<tr id="row_103_31_61_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_61_" class="arrow" onclick="toggleFolder('103_31_61_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< GridSampleAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_61_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GridSampleAttrs.html" target="_self">tvm::relay::GridSampleAttrs</a></td><td class="desc">Attributes used in image grid_sample operator </td></tr>
+<tr id="row_103_31_62_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_62_" class="arrow" onclick="toggleFolder('103_31_62_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< GroupNormAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_62_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GroupNormAttrs.html" target="_self">tvm::relay::GroupNormAttrs</a></td><td class="desc">Attributes used in group_norm operator </td></tr>
+<tr id="row_103_31_63_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_63_" class="arrow" onclick="toggleFolder('103_31_63_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< InitOpAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_63_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1InitOpAttrs.html" target="_self">tvm::relay::InitOpAttrs</a></td><td class="desc">Attributes that specify a tensor </td></tr>
+<tr id="row_103_31_64_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_64_" class="arrow" onclick="toggleFolder('103_31_64_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< InstanceNormAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_64_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1InstanceNormAttrs.html" target="_self">tvm::relay::InstanceNormAttrs</a></td><td class="desc">Attributes used in instance_norm operator </td></tr>
+<tr id="row_103_31_65_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_65_" class="arrow" onclick="toggleFolder('103_31_65_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< L2NormalizeAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_65_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1L2NormalizeAttrs.html" target="_self">tvm::relay::L2NormalizeAttrs</a></td><td class="desc">Attributes for L2Normalize operator </td></tr>
+<tr id="row_103_31_66_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_66_" class="arrow" onclick="toggleFolder('103_31_66_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< LayerNormAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_66_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LayerNormAttrs.html" target="_self">tvm::relay::LayerNormAttrs</a></td><td class="desc">Attributes used in layer_norm operator </td></tr>
+<tr id="row_103_31_67_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_67_" class="arrow" onclick="toggleFolder('103_31_67_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< LayoutTransformAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_67_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LayoutTransformAttrs.html" target="_self">tvm::relay::LayoutTransformAttrs</a></td><td class="desc">Attributes for LayoutTransform operator </td></tr>
+<tr id="row_103_31_68_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_68_" class="arrow" onclick="toggleFolder('103_31_68_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< LeakyReluAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_68_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LeakyReluAttrs.html" target="_self">tvm::relay::LeakyReluAttrs</a></td><td class="desc">Attributes for leaky relu operator </td></tr>
+<tr id="row_103_31_69_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_69_" class="arrow" onclick="toggleFolder('103_31_69_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< LRNAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_69_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LRNAttrs.html" target="_self">tvm::relay::LRNAttrs</a></td><td class="desc">Attributes for LRN operator </td></tr>
+<tr id="row_103_31_70_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_70_" class="arrow" onclick="toggleFolder('103_31_70_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MatmulAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_70_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MatmulAttrs.html" target="_self">tvm::relay::MatmulAttrs</a></td><td class="desc">Attributes for matmul operator </td></tr>
+<tr id="row_103_31_71_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_71_" class="arrow" onclick="toggleFolder('103_31_71_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MatrixSetDiagAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_71_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MatrixSetDiagAttrs.html" target="_self">tvm::relay::MatrixSetDiagAttrs</a></td><td class="desc">Attributes used in matrix_set_diag operator </td></tr>
+<tr id="row_103_31_72_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_72_" class="arrow" onclick="toggleFolder('103_31_72_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MaxPool1DAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_72_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool1DAttrs.html" target="_self">tvm::relay::MaxPool1DAttrs</a></td><td class="desc">Attributes for 1D max pool operator </td></tr>
+<tr id="row_103_31_73_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_73_" class="arrow" onclick="toggleFolder('103_31_73_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MaxPool2DAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_73_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool2DAttrs.html" target="_self">tvm::relay::MaxPool2DAttrs</a></td><td class="desc">Attributes for max pool operator </td></tr>
+<tr id="row_103_31_74_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_74_" class="arrow" onclick="toggleFolder('103_31_74_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MaxPool3DAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_74_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool3DAttrs.html" target="_self">tvm::relay::MaxPool3DAttrs</a></td><td class="desc">Attributes for 3D max pool operator </td></tr>
+<tr id="row_103_31_75_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_75_" class="arrow" onclick="toggleFolder('103_31_75_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MeshgridAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_75_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MeshgridAttrs.html" target="_self">tvm::relay::MeshgridAttrs</a></td><td class="desc">Attributes used in meshgrid operators </td></tr>
+<tr id="row_103_31_76_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_76_" class="arrow" onclick="toggleFolder('103_31_76_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MetaScheduleLayoutTransformAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_76_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MetaScheduleLayoutTransformAttrs.html" target="_self">tvm::relay::MetaScheduleLayoutTransformAttrs</a></td><td class="desc">Attributes for MetaScheduleLayoutTransform operator </td></tr>
+<tr id="row_103_31_77_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_77_" class="arrow" onclick="toggleFolder('103_31_77_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MirrorPadAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_77_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html" target="_self">tvm::relay::MirrorPadAttrs</a></td><td class="desc">Attributes used for the MirrorPadding operator </td></tr>
+<tr id="row_103_31_78_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_78_" class="arrow" onclick="toggleFolder('103_31_78_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MultiBoxPriorAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_78_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html" target="_self">tvm::relay::MultiBoxPriorAttrs</a></td><td class="desc">Attributes used in multibox_prior operators </td></tr>
+<tr id="row_103_31_79_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_79_" class="arrow" onclick="toggleFolder('103_31_79_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MultiBoxTransformLocAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_79_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html" target="_self">tvm::relay::MultiBoxTransformLocAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_80_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_80_" class="arrow" onclick="toggleFolder('103_31_80_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< MultinomialAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_80_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultinomialAttrs.html" target="_self">tvm::relay::MultinomialAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_81_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_81_" class="arrow" onclick="toggleFolder('103_31_81_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< NdarraySizeAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_81_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html" target="_self">tvm::relay::NdarraySizeAttrs</a></td><td class="desc">Attributes for ndarray_size operator </td></tr>
+<tr id="row_103_31_82_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_82_" class="arrow" onclick="toggleFolder('103_31_82_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< NLLLossAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_82_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html" target="_self">tvm::relay::NLLLossAttrs</a></td><td class="desc">Attributes used in NLLLoss operator </td></tr>
+<tr id="row_103_31_83_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_83_" class="arrow" onclick="toggleFolder('103_31_83_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< NonMaximumSuppressionAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_83_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html" target="_self">tvm::relay::NonMaximumSuppressionAttrs</a></td><td class="desc">Attributes used in non_maximum_suppression operator </td></tr>
+<tr id="row_103_31_84_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_84_" class="arrow" onclick="toggleFolder('103_31_84_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< NormalAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_84_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NormalAttrs.html" target="_self">tvm::relay::NormalAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_85_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_85_" class="arrow" onclick="toggleFolder('103_31_85_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< OnDeviceAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_85_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OnDeviceAttrs.html" target="_self">tvm::relay::OnDeviceAttrs</a></td><td class="desc">Attributes for the "on_device" annotation (ie operator) </td></tr>
+<tr id="row_103_31_86_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_86_" class="arrow" onclick="toggleFolder('103_31_86_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< OneHotAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_86_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OneHotAttrs.html" target="_self">tvm::relay::OneHotAttrs</a></td><td class="desc">Attributes used in one-hot operator </td></tr>
+<tr id="row_103_31_87_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_87_" class="arrow" onclick="toggleFolder('103_31_87_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< PadAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_87_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PadAttrs.html" target="_self">tvm::relay::PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
+<tr id="row_103_31_88_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_88_" class="arrow" onclick="toggleFolder('103_31_88_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< PReluAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_88_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PReluAttrs.html" target="_self">tvm::relay::PReluAttrs</a></td><td class="desc">Attributes for prelu operator </td></tr>
+<tr id="row_103_31_89_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_89_" class="arrow" onclick="toggleFolder('103_31_89_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ProposalAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_89_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ProposalAttrs.html" target="_self">tvm::relay::ProposalAttrs</a></td><td class="desc">Attributes used in proposal operators </td></tr>
+<tr id="row_103_31_90_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_90_" class="arrow" onclick="toggleFolder('103_31_90_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< QuantizeAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_90_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1qnn_1_1QuantizeAttrs.html" target="_self">tvm::relay::qnn::QuantizeAttrs</a></td><td class="desc">Attribute for quantize operator </td></tr>
+<tr id="row_103_31_91_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_91_" class="arrow" onclick="toggleFolder('103_31_91_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ReduceAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_91_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReduceAttrs.html" target="_self">tvm::relay::ReduceAttrs</a></td><td class="desc">Attributes for Reduce operators </td></tr>
+<tr id="row_103_31_92_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_92_" class="arrow" onclick="toggleFolder('103_31_92_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< RepeatAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_92_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1RepeatAttrs.html" target="_self">tvm::relay::RepeatAttrs</a></td><td class="desc">Attributes used in repeat operators </td></tr>
+<tr id="row_103_31_93_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_93_" class="arrow" onclick="toggleFolder('103_31_93_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< RequantizeAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_93_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1qnn_1_1RequantizeAttrs.html" target="_self">tvm::relay::qnn::RequantizeAttrs</a></td><td class="desc">Attribute for requantize operator </td></tr>
+<tr id="row_103_31_94_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_94_" class="arrow" onclick="toggleFolder('103_31_94_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ReshapeAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_94_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeAttrs.html" target="_self">tvm::relay::ReshapeAttrs</a></td><td class="desc">Attributes used in reshape operators </td></tr>
+<tr id="row_103_31_95_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_95_" class="arrow" onclick="toggleFolder('103_31_95_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ReshapeLikeAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_95_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeLikeAttrs.html" target="_self">tvm::relay::ReshapeLikeAttrs</a></td><td class="desc">Attributes used in MXNet-style reshape_like operators </td></tr>
+<tr id="row_103_31_96_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_96_" class="arrow" onclick="toggleFolder('103_31_96_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ReshapeTensorAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_96_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeTensorAttrs.html" target="_self">tvm::relay::ReshapeTensorAttrs</a></td><td class="desc">Attributes for VM reshape_tensor operator </td></tr>
+<tr id="row_103_31_97_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_97_" class="arrow" onclick="toggleFolder('103_31_97_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< Resize1DAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_97_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize1DAttrs.html" target="_self">tvm::relay::Resize1DAttrs</a></td><td class="desc">Attributes used in image resize1d operator </td></tr>
+<tr id="row_103_31_98_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_98_" class="arrow" onclick="toggleFolder('103_31_98_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< Resize2DAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_98_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize2DAttrs.html" target="_self">tvm::relay::Resize2DAttrs</a></td><td class="desc">Attributes used in image resize2d operator </td></tr>
+<tr id="row_103_31_99_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_99_" class="arrow" onclick="toggleFolder('103_31_99_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< Resize3DAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_99_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize3DAttrs.html" target="_self">tvm::relay::Resize3DAttrs</a></td><td class="desc">Attributes used in image resize3d operator </td></tr>
+<tr id="row_103_31_100_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_100_" class="arrow" onclick="toggleFolder('103_31_100_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ReverseAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_100_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReverseAttrs.html" target="_self">tvm::relay::ReverseAttrs</a></td><td class="desc">Attributes used in reverse operators </td></tr>
+<tr id="row_103_31_101_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_101_" class="arrow" onclick="toggleFolder('103_31_101_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ReverseSequenceAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_101_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReverseSequenceAttrs.html" target="_self">tvm::relay::ReverseSequenceAttrs</a></td><td class="desc">Attributes used in reverse_sequence operators </td></tr>
+<tr id="row_103_31_102_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_102_" class="arrow" onclick="toggleFolder('103_31_102_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ROIAlignAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_102_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIAlignAttrs.html" target="_self">tvm::relay::ROIAlignAttrs</a></td><td class="desc">Attributes used in roi_align operators </td></tr>
+<tr id="row_103_31_103_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_103_" class="arrow" onclick="toggleFolder('103_31_103_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ROIPoolAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_103_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIPoolAttrs.html" target="_self">tvm::relay::ROIPoolAttrs</a></td><td class="desc">Attributes used in roi_pool operators </td></tr>
+<tr id="row_103_31_104_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_104_" class="arrow" onclick="toggleFolder('103_31_104_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ScanopAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_104_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScanopAttrs.html" target="_self">tvm::relay::ScanopAttrs</a></td><td class="desc">Attributes used in cumsum and cumprod operator </td></tr>
+<tr id="row_103_31_105_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_105_" class="arrow" onclick="toggleFolder('103_31_105_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ScatterElementsAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_105_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterElementsAttrs.html" target="_self">tvm::relay::ScatterElementsAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_106_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_106_" class="arrow" onclick="toggleFolder('103_31_106_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ScatterNDAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_106_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterNDAttrs.html" target="_self">tvm::relay::ScatterNDAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_107_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_107_" class="arrow" onclick="toggleFolder('103_31_107_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SearchSortedAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_107_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SearchSortedAttrs.html" target="_self">tvm::relay::SearchSortedAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_108_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_108_" class="arrow" onclick="toggleFolder('103_31_108_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SequenceMaskAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_108_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SequenceMaskAttrs.html" target="_self">tvm::relay::SequenceMaskAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_109_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_109_" class="arrow" onclick="toggleFolder('103_31_109_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ShapeFuncAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_109_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeFuncAttrs.html" target="_self">tvm::relay::ShapeFuncAttrs</a></td><td class="desc">Options for the shape function operator </td></tr>
+<tr id="row_103_31_110_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_110_" class="arrow" onclick="toggleFolder('103_31_110_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ShapeOfAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_110_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeOfAttrs.html" target="_self">tvm::relay::ShapeOfAttrs</a></td><td class="desc">Attributes for ShapeOf operator </td></tr>
+<tr id="row_103_31_111_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_111_" class="arrow" onclick="toggleFolder('103_31_111_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SimulatedQuantizeAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_111_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1qnn_1_1SimulatedQuantizeAttrs.html" target="_self">tvm::relay::qnn::SimulatedQuantizeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_112_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_112_" class="arrow" onclick="toggleFolder('103_31_112_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SliceLikeAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_112_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SliceLikeAttrs.html" target="_self">tvm::relay::SliceLikeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_113_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_113_" class="arrow" onclick="toggleFolder('103_31_113_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SlidingWindowAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_113_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SlidingWindowAttrs.html" target="_self">tvm::relay::SlidingWindowAttrs</a></td><td class="desc">Attributes used for the sliding_window operator </td></tr>
+<tr id="row_103_31_114_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_114_" class="arrow" onclick="toggleFolder('103_31_114_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SoftmaxAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_114_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SoftmaxAttrs.html" target="_self">tvm::relay::SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
+<tr id="row_103_31_115_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_115_" class="arrow" onclick="toggleFolder('103_31_115_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SpaceToBatchNDAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_115_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SpaceToBatchNDAttrs.html" target="_self">tvm::relay::SpaceToBatchNDAttrs</a></td><td class="desc">Attributes used in SpaceToBatchND operator </td></tr>
+<tr id="row_103_31_116_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_116_" class="arrow" onclick="toggleFolder('103_31_116_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SparseConv2DAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_116_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseConv2DAttrs.html" target="_self">tvm::relay::SparseConv2DAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
+<tr id="row_103_31_117_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_117_" class="arrow" onclick="toggleFolder('103_31_117_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SparseDenseAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_117_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseDenseAttrs.html" target="_self">tvm::relay::SparseDenseAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
+<tr id="row_103_31_118_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_118_" class="arrow" onclick="toggleFolder('103_31_118_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SparseToDenseAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_118_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseToDenseAttrs.html" target="_self">tvm::relay::SparseToDenseAttrs</a></td><td class="desc">Attributes used in sparse_to_dense operator </td></tr>
+<tr id="row_103_31_119_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_119_" class="arrow" onclick="toggleFolder('103_31_119_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SparseTransposeAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_119_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseTransposeAttrs.html" target="_self">tvm::relay::SparseTransposeAttrs</a></td><td class="desc">Attributes for sparse_transpose operator </td></tr>
+<tr id="row_103_31_120_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_120_" class="arrow" onclick="toggleFolder('103_31_120_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SplitAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_120_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SplitAttrs.html" target="_self">tvm::relay::SplitAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_121_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_121_" class="arrow" onclick="toggleFolder('103_31_121_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SqueezeAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_121_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SqueezeAttrs.html" target="_self">tvm::relay::SqueezeAttrs</a></td><td class="desc">Attributes used in squeeze operators </td></tr>
+<tr id="row_103_31_122_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_122_" class="arrow" onclick="toggleFolder('103_31_122_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< StackAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_122_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StackAttrs.html" target="_self">tvm::relay::StackAttrs</a></td><td class="desc">Attributes used in stack operators </td></tr>
+<tr id="row_103_31_123_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_123_" class="arrow" onclick="toggleFolder('103_31_123_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< StftAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_123_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StftAttrs.html" target="_self">tvm::relay::StftAttrs</a></td><td class="desc">Attributes used in stft operator </td></tr>
+<tr id="row_103_31_124_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_124_" class="arrow" onclick="toggleFolder('103_31_124_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< StridedSliceAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_124_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StridedSliceAttrs.html" target="_self">tvm::relay::StridedSliceAttrs</a></td><td class="desc">Attributes for StridedSlice operator </td></tr>
+<tr id="row_103_31_125_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_125_" class="arrow" onclick="toggleFolder('103_31_125_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< SubPixelAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_125_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SubPixelAttrs.html" target="_self">tvm::relay::SubPixelAttrs</a></td><td class="desc">Attributes used in subpixel operators </td></tr>
+<tr id="row_103_31_126_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_126_" class="arrow" onclick="toggleFolder('103_31_126_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< TakeAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_126_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TakeAttrs.html" target="_self">tvm::relay::TakeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_127_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_127_" class="arrow" onclick="toggleFolder('103_31_127_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< ThreefryGenerateAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_127_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ThreefryGenerateAttrs.html" target="_self">tvm::relay::ThreefryGenerateAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_128_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_128_" class="arrow" onclick="toggleFolder('103_31_128_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< TileAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_128_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TileAttrs.html" target="_self">tvm::relay::TileAttrs</a></td><td class="desc">Attributes used in tile operators </td></tr>
+<tr id="row_103_31_129_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_129_" class="arrow" onclick="toggleFolder('103_31_129_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< TopKAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_129_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TopKAttrs.html" target="_self">tvm::relay::TopKAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_130_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_130_" class="arrow" onclick="toggleFolder('103_31_130_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< TransposeAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_130_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TransposeAttrs.html" target="_self">tvm::relay::TransposeAttrs</a></td><td class="desc">Attributes used in transpose operators </td></tr>
+<tr id="row_103_31_131_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_131_" class="arrow" onclick="toggleFolder('103_31_131_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< TriluAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_131_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TriluAttrs.html" target="_self">tvm::relay::TriluAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_132_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_132_" class="arrow" onclick="toggleFolder('103_31_132_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< UniformAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_132_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UniformAttrs.html" target="_self">tvm::relay::UniformAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_133_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_133_" class="arrow" onclick="toggleFolder('103_31_133_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< UniqueAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_133_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UniqueAttrs.html" target="_self">tvm::relay::UniqueAttrs</a></td><td class="desc">Attributes used in unique operator </td></tr>
+<tr id="row_103_31_134_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_134_" class="arrow" onclick="toggleFolder('103_31_134_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< UpSampling3DAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_134_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSampling3DAttrs.html" target="_self">tvm::relay::UpSampling3DAttrs</a></td><td class="desc">Attributes for upsampling3d operator </td></tr>
+<tr id="row_103_31_135_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_135_" class="arrow" onclick="toggleFolder('103_31_135_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< UpSamplingAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_135_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSamplingAttrs.html" target="_self">tvm::relay::UpSamplingAttrs</a></td><td class="desc">Attributes for upsampling operator </td></tr>
+<tr id="row_103_31_136_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_136_" class="arrow" onclick="toggleFolder('103_31_136_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< VarianceAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_136_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1VarianceAttrs.html" target="_self">tvm::relay::VarianceAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_137_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_137_" class="arrow" onclick="toggleFolder('103_31_137_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< VirtualDeviceNode ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_137_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1VirtualDeviceNode.html" target="_self">tvm::VirtualDeviceNode</a></td><td class="desc">Describes at compile time the constraints on where data is to be stored at runtime down to the (virtual) device and memory scope level, and how to compile code to compute that dat [...]
+<tr id="row_103_31_138_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_31_138_" class="arrow" onclick="toggleFolder('103_31_138_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< YoloReorgAttrs ></a></td><td class="desc"></td></tr>
+<tr id="row_103_31_138_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1YoloReorgAttrs.html" target="_self">tvm::relay::YoloReorgAttrs</a></td><td class="desc">Attributes used in yolo reorg operators </td></tr>
+<tr id="row_103_31_139_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode< DerivedType ></a></td><td class="desc">The base class of the all the Use "curiously recurring template pattern" </td></tr>
+<tr id="row_103_31_140_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1DictAttrsNode.html" target="_self">tvm::DictAttrsNode</a></td><td class="desc">Specialized attribute type that is backed by a map. The <a class="el" href="classtvm_1_1DictAttrsNode.html" title="Specialized attribute type that is backed by a map. The DictAttrsNode impl [...]
<tr id="row_103_32_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_103_32_" class="arrow" onclick="toggleFolder('103_32_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1BaseExprNode.html" target="_self">tvm::BaseExprNode</a></td><td class="desc">Base type of all the expressions </td></tr>
<tr id="row_103_32_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_103_32_0_" class="arrow" onclick="toggleFolder('103_32_0_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PrimExprNode.html" target="_self">tvm::PrimExprNode</a></td><td class="desc">Base node of all primitive expressions </td></tr>
<tr id="row_103_32_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span id="arr_103_32_0_0_" class="arrow" onclick="toggleFolder('103_32_0_0_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1BinaryOpNode.html" target="_self">tvm::tir::BinaryOpNode< AddNode ></a></td><td class="desc"></td></tr>
@@ -1407,8 +1409,8 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
<tr id="row_127_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternVisitor.html" target="_self">tvm::relay::PatternVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relay_1_1PatternFunctor.html" title="A dynamical functor on ADT patterns that dispatches on its first argument. [...]
<tr id="row_128_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html" target="_self">tvm::runtime::profiling::Profiler</a></td><td class="desc"></td></tr>
<tr id="row_129_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1ReflectionVTable.html" target="_self">tvm::ReflectionVTable</a></td><td class="desc">Virtual function table to support IR/AST node reflection </td></tr>
-<tr id="row_130_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1ReflectionVTable_1_1Registry.html" target="_self">tvm::ReflectionVTable::Registry</a></td><td class="desc"><a class="el" href="classtvm_1_1ReflectionVTable_1_1Registry.html" title="Registry of a reflection table. ">Registry</a> of a reflection table </td></tr>
-<tr id="row_131_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Registry.html" target="_self">tvm::runtime::Registry</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Registry.html" title="Registry for global function. ">Registry</a> for global function </td></tr>
+<tr id="row_130_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Registry.html" target="_self">tvm::runtime::Registry</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Registry.html" title="Registry for global function. ">Registry</a> for global function </td></tr>
+<tr id="row_131_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1ReflectionVTable_1_1Registry.html" target="_self">tvm::ReflectionVTable::Registry</a></td><td class="desc"><a class="el" href="classtvm_1_1ReflectionVTable_1_1Registry.html" title="Registry of a reflection table. ">Registry</a> of a reflection table </td></tr>
<tr id="row_132_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1ReprLegacyPrinter.html" target="_self">tvm::ReprLegacyPrinter</a></td><td class="desc">Legacy behavior of <a class="el" href="classtvm_1_1ReprPrinter.html" title="A printer class to print the AST/IR nodes. ">ReprPrinter</a> </td></tr>
<tr id="row_133_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1ReprPrinter.html" target="_self">tvm::ReprPrinter</a></td><td class="desc">A printer class to print the AST/IR nodes </td></tr>
<tr id="row_134_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ReverseIterAdapter.html" target="_self">tvm::runtime::ReverseIterAdapter< Converter, TIter ></a></td><td class="desc">Iterator adapter that adapts TIter to return another type </td></tr>
diff --git a/docs/reference/api/doxygen/inherit_graph_112.svg b/docs/reference/api/doxygen/inherit_graph_112.svg
index 6cf57d20c1..74c9689525 100644
--- a/docs/reference/api/doxygen/inherit_graph_112.svg
+++ b/docs/reference/api/doxygen/inherit_graph_112.svg
@@ -4,10647 +4,10677 @@
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Title: Graphical Class Hierarchy Pages: 1 -->
-<svg width="1073pt" height="12558pt"
- viewBox="0.00 0.00 1073.00 12558.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 12554)">
+<svg width="1073pt" height="12565pt"
+ viewBox="0.00 0.00 1073.00 12565.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 12561)">
<title>Graphical Class Hierarchy</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-12554 1069,-12554 1069,4 -4,4"/>
-<!-- Node1406 -->
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-12561 1069,-12561 1069,4 -4,4"/>
+<!-- Node1408 -->
<g id="node1" class="node">
-<title>Node1406</title>
+<title>Node1408</title>
<g id="a_node1"><a xlink:href="classtvm_1_1runtime_1_1NDArray_1_1ContainerBase.html" target="_top" xlink:title="The container base structure contains all the fields except for the Object header. ">
-<polygon fill="#ffffff" stroke="#000000" points="20,-11056 20,-11086 148,-11086 148,-11056 20,-11056"/>
-<text text-anchor="start" x="28" y="-11074" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::NDArray</text>
-<text text-anchor="middle" x="84" y="-11063" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ContainerBase</text>
+<polygon fill="#ffffff" stroke="#000000" points="20,-11049 20,-11079 148,-11079 148,-11049 20,-11049"/>
+<text text-anchor="start" x="28" y="-11067" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::NDArray</text>
+<text text-anchor="middle" x="84" y="-11056" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ContainerBase</text>
</a>
</g>
</g>
-<!-- Node527 -->
+<!-- Node529 -->
<g id="node2" class="node">
-<title>Node527</title>
+<title>Node529</title>
<g id="a_node2"><a xlink:href="classtvm_1_1runtime_1_1NDArray_1_1Container.html" target="_top" xlink:title="Object container class that backs NDArray. ">
-<polygon fill="#ffffff" stroke="#000000" points="241,-11054 241,-11084 369,-11084 369,-11054 241,-11054"/>
-<text text-anchor="start" x="249" y="-11072" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::NDArray</text>
-<text text-anchor="middle" x="305" y="-11061" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::Container</text>
+<polygon fill="#ffffff" stroke="#000000" points="241,-11047 241,-11077 369,-11077 369,-11047 241,-11047"/>
+<text text-anchor="start" x="249" y="-11065" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::NDArray</text>
+<text text-anchor="middle" x="305" y="-11054" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::Container</text>
</a>
</g>
</g>
-<!-- Node1406->Node527 -->
+<!-- Node1408->Node529 -->
<g id="edge1" class="edge">
-<title>Node1406->Node527</title>
-<path fill="none" stroke="#191970" d="M158.2796,-11070.3278C184.9735,-11070.0862 214.8383,-11069.8159 240.6206,-11069.5826"/>
-<polygon fill="#191970" stroke="#191970" points="158.1871,-11066.8284 148.2192,-11070.4188 158.2505,-11073.8281 158.1871,-11066.8284"/>
+<title>Node1408->Node529</title>
+<path fill="none" stroke="#191970" d="M158.2796,-11063.3278C184.9735,-11063.0862 214.8383,-11062.8159 240.6206,-11062.5826"/>
+<polygon fill="#191970" stroke="#191970" points="158.1871,-11059.8284 148.2192,-11063.4188 158.2505,-11066.8281 158.1871,-11059.8284"/>
</g>
-<!-- Node1349 -->
+<!-- Node1351 -->
<g id="node3" class="node">
-<title>Node1349</title>
+<title>Node1351</title>
<g id="a_node3"><a xlink:href="classtvm_1_1runtime_1_1InplaceArrayBase.html" target="_top" xlink:title="Base template for classes with array like memory layout. ">
-<polygon fill="#ffffff" stroke="#000000" points="222.5,-2971 222.5,-3001 387.5,-3001 387.5,-2971 222.5,-2971"/>
-<text text-anchor="start" x="230.5" y="-2989" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
-<text text-anchor="middle" x="305" y="-2978" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base< ArrayType, ElemType ></text>
+<polygon fill="#ffffff" stroke="#000000" points="222.5,-2693 222.5,-2723 387.5,-2723 387.5,-2693 222.5,-2693"/>
+<text text-anchor="start" x="230.5" y="-2711" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
+<text text-anchor="middle" x="305" y="-2700" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base< ArrayType, ElemType ></text>
</a>
</g>
</g>
-<!-- Node518 -->
+<!-- Node520 -->
<g id="node4" class="node">
-<title>Node518</title>
+<title>Node520</title>
<g id="a_node4"><a xlink:href="classtvm_1_1runtime_1_1SmallMapNode.html" target="_top" xlink:title="A specialization of small-sized hash map. ">
-<polygon fill="#ffffff" stroke="#000000" points="459.5,-2573.5 459.5,-2592.5 619.5,-2592.5 619.5,-2573.5 459.5,-2573.5"/>
-<text text-anchor="middle" x="539.5" y="-2580.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::SmallMapNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="459.5,-2437.5 459.5,-2456.5 619.5,-2456.5 619.5,-2437.5 459.5,-2437.5"/>
+<text text-anchor="middle" x="539.5" y="-2444.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::SmallMapNode</text>
</a>
</g>
</g>
-<!-- Node1349->Node518 -->
+<!-- Node1351->Node520 -->
<g id="edge2" class="edge">
-<title>Node1349->Node518</title>
-<path fill="none" stroke="#191970" d="M396.4268,-2969.7496C399.9163,-2967.203 403.1386,-2964.3019 406,-2961 458.5083,-2900.4081 387.9879,-2661.2553 442,-2602 446.8793,-2596.647 452.782,-2592.539 459.2409,-2589.4117"/>
-<polygon fill="#191970" stroke="#191970" points="394.4993,-2966.8265 387.844,-2975.0701 398.1875,-2972.7761 394.4993,-2966.8265"/>
+<title>Node1351->Node520</title>
+<path fill="none" stroke="#191970" d="M396.7046,-2691.1403C400.0588,-2688.7473 403.1832,-2686.0463 406,-2683 472.3719,-2611.2204 373.848,-2536.0916 442,-2466 446.9291,-2460.9306 452.7802,-2456.9977 459.1316,-2453.9672"/>
+<polygon fill="#191970" stroke="#191970" points="394.661,-2688.2868 387.9384,-2696.4756 398.3003,-2694.2663 394.661,-2688.2868"/>
</g>
-<!-- Node1348 -->
+<!-- Node1350 -->
<g id="node5" class="node">
-<title>Node1348</title>
+<title>Node1350</title>
<g id="a_node5"><a xlink:href="classtvm_1_1runtime_1_1InplaceArrayBase.html" target="_top" xlink:title="tvm::runtime::InplaceArray\lBase\< ADTObj, ObjectRef \>">
-<polygon fill="#ffffff" stroke="#000000" points="7.5,-11007 7.5,-11037 160.5,-11037 160.5,-11007 7.5,-11007"/>
-<text text-anchor="start" x="15.5" y="-11025" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
-<text text-anchor="middle" x="84" y="-11014" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base< ADTObj, ObjectRef ></text>
+<polygon fill="#ffffff" stroke="#000000" points="7.5,-11000 7.5,-11030 160.5,-11030 160.5,-11000 7.5,-11000"/>
+<text text-anchor="start" x="15.5" y="-11018" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
+<text text-anchor="middle" x="84" y="-11007" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base< ADTObj, ObjectRef ></text>
</a>
</g>
</g>
-<!-- Node511 -->
+<!-- Node513 -->
<g id="node6" class="node">
-<title>Node511</title>
+<title>Node513</title>
<g id="a_node6"><a xlink:href="classtvm_1_1runtime_1_1ADTObj.html" target="_top" xlink:title="An object representing a structure or enumeration. ">
-<polygon fill="#ffffff" stroke="#000000" points="243.5,-11012.5 243.5,-11031.5 366.5,-11031.5 366.5,-11012.5 243.5,-11012.5"/>
-<text text-anchor="middle" x="305" y="-11019.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ADTObj</text>
+<polygon fill="#ffffff" stroke="#000000" points="243.5,-11005.5 243.5,-11024.5 366.5,-11024.5 366.5,-11005.5 243.5,-11005.5"/>
+<text text-anchor="middle" x="305" y="-11012.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ADTObj</text>
</a>
</g>
</g>
-<!-- Node1348->Node511 -->
+<!-- Node1350->Node513 -->
<g id="edge3" class="edge">
-<title>Node1348->Node511</title>
-<path fill="none" stroke="#191970" d="M170.9456,-11022C195.1707,-11022 220.9797,-11022 243.4174,-11022"/>
-<polygon fill="#191970" stroke="#191970" points="170.6749,-11018.5001 160.6748,-11022 170.6748,-11025.5001 170.6749,-11018.5001"/>
+<title>Node1350->Node513</title>
+<path fill="none" stroke="#191970" d="M170.9456,-11015C195.1707,-11015 220.9797,-11015 243.4174,-11015"/>
+<polygon fill="#191970" stroke="#191970" points="170.6749,-11011.5001 160.6748,-11015 170.6748,-11018.5001 170.6749,-11011.5001"/>
</g>
-<!-- Node1347 -->
+<!-- Node1349 -->
<g id="node7" class="node">
-<title>Node1347</title>
+<title>Node1349</title>
<g id="a_node7"><a xlink:href="classtvm_1_1runtime_1_1InplaceArrayBase.html" target="_top" xlink:title="tvm::runtime::InplaceArray\lBase\< ArrayNode, ObjectRef \>">
-<polygon fill="#ffffff" stroke="#000000" points="0,-10958 0,-10988 168,-10988 168,-10958 0,-10958"/>
-<text text-anchor="start" x="8" y="-10976" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
-<text text-anchor="middle" x="84" y="-10965" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base< ArrayNode, ObjectRef ></text>
+<polygon fill="#ffffff" stroke="#000000" points="0,-10951 0,-10981 168,-10981 168,-10951 0,-10951"/>
+<text text-anchor="start" x="8" y="-10969" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
+<text text-anchor="middle" x="84" y="-10958" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base< ArrayNode, ObjectRef ></text>
</a>
</g>
</g>
-<!-- Node512 -->
+<!-- Node514 -->
<g id="node8" class="node">
-<title>Node512</title>
+<title>Node514</title>
<g id="a_node8"><a xlink:href="classtvm_1_1runtime_1_1ArrayNode.html" target="_top" xlink:title="array node content in array ">
-<polygon fill="#ffffff" stroke="#000000" points="236,-10974.5 236,-10993.5 374,-10993.5 374,-10974.5 236,-10974.5"/>
-<text text-anchor="middle" x="305" y="-10981.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ArrayNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="236,-10967.5 236,-10986.5 374,-10986.5 374,-10967.5 236,-10967.5"/>
+<text text-anchor="middle" x="305" y="-10974.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ArrayNode</text>
</a>
</g>
</g>
-<!-- Node1347->Node512 -->
+<!-- Node1349->Node514 -->
<g id="edge4" class="edge">
-<title>Node1347->Node512</title>
-<path fill="none" stroke="#191970" d="M178.2093,-10977.6892C197.5291,-10978.6508 217.5282,-10979.6462 235.774,-10980.5544"/>
-<polygon fill="#191970" stroke="#191970" points="178.3427,-10974.1916 168.1811,-10977.19 177.9947,-10981.1829 178.3427,-10974.1916"/>
+<title>Node1349->Node514</title>
+<path fill="none" stroke="#191970" d="M178.2093,-10970.6892C197.5291,-10971.6508 217.5282,-10972.6462 235.774,-10973.5544"/>
+<polygon fill="#191970" stroke="#191970" points="178.3427,-10967.1916 168.1811,-10970.19 177.9947,-10974.1829 178.3427,-10967.1916"/>
</g>
<!-- Node0 -->
<g id="node9" class="node">
<title>Node0</title>
<g id="a_node9"><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="25,-3664.5 25,-3683.5 143,-3683.5 143,-3664.5 25,-3664.5"/>
-<text text-anchor="middle" x="84" y="-3671.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
+<polygon fill="#ffffff" stroke="#000000" points="25,-3577.5 25,-3596.5 143,-3596.5 143,-3577.5 25,-3577.5"/>
+<text text-anchor="middle" x="84" y="-3584.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
</a>
</g>
</g>
-<!-- Node0->Node527 -->
-<g id="edge531" class="edge">
-<title>Node0->Node527</title>
-<path fill="none" stroke="#191970" d="M84.1568,-3693.6873C87.4849,-4109.1695 143.2916,-10962.5068 204,-11041 213.0727,-11052.7306 226.6053,-11059.83 240.8385,-11064.0581"/>
-<polygon fill="#191970" stroke="#191970" points="87.6553,-3693.4734 84.0754,-3683.5017 80.6555,-3693.5294 87.6553,-3693.4734"/>
+<!-- Node0->Node529 -->
+<g id="edge533" class="edge">
+<title>Node0->Node529</title>
+<path fill="none" stroke="#191970" d="M84.155,-3606.9011C87.4453,-4026.8948 142.6394,-10954.6493 204,-11034 213.0717,-11045.7314 226.6039,-11052.8311 240.8371,-11057.0592"/>
+<polygon fill="#191970" stroke="#191970" points="87.6527,-3606.5772 84.0745,-3596.6049 80.6529,-3606.632 87.6527,-3606.5772"/>
</g>
-<!-- Node0->Node511 -->
-<g id="edge515" class="edge">
-<title>Node0->Node511</title>
-<path fill="none" stroke="#191970" d="M84.1511,-3693.9073C87.3337,-4110.5263 140.3735,-10927.5536 204,-11003 213.8348,-11014.6618 228.3663,-11020.6532 243.3603,-11023.4611"/>
-<polygon fill="#191970" stroke="#191970" points="87.651,-3693.8709 84.0749,-3683.8979 80.6512,-3693.9243 87.651,-3693.8709"/>
+<!-- Node0->Node513 -->
+<g id="edge517" class="edge">
+<title>Node0->Node513</title>
+<path fill="none" stroke="#191970" d="M84.1468,-3606.8069C87.2653,-4024.8109 139.6697,-10919.7054 204,-10996 213.8337,-11007.6626 228.365,-11013.6544 243.359,-11016.4623"/>
+<polygon fill="#191970" stroke="#191970" points="87.645,-3606.5331 84.0706,-3596.5594 80.6452,-3606.5852 87.645,-3606.5331"/>
</g>
-<!-- Node0->Node512 -->
-<g id="edge516" class="edge">
-<title>Node0->Node512</title>
-<path fill="none" stroke="#191970" d="M84.1544,-3694.1117C87.38,-4111.6051 140.7157,-10889.9659 204,-10965 212.1673,-10974.6837 223.5732,-10980.4574 235.793,-10983.7452"/>
-<polygon fill="#191970" stroke="#191970" points="87.6524,-3693.8193 84.0753,-3683.8466 80.6526,-3693.8733 87.6524,-3693.8193"/>
+<!-- Node0->Node514 -->
+<g id="edge518" class="edge">
+<title>Node0->Node514</title>
+<path fill="none" stroke="#191970" d="M84.1477,-3606.7053C87.2851,-4022.5656 139.9964,-10882.0992 204,-10958 212.1664,-10967.6844 223.5719,-10973.4585 235.7917,-10976.7463"/>
+<polygon fill="#191970" stroke="#191970" points="87.6463,-3606.4838 84.071,-3596.5104 80.6464,-3606.5365 87.6463,-3606.4838"/>
</g>
<!-- Node1 -->
<g id="node10" class="node">
<title>Node1</title>
<g id="a_node10"><a xlink:href="classtvm_1_1AffineTypeNode.html" target="_top" xlink:title="AffineType representation. ">
-<polygon fill="#ffffff" stroke="#000000" points="245.5,-8932.5 245.5,-8951.5 364.5,-8951.5 364.5,-8932.5 245.5,-8932.5"/>
-<text text-anchor="middle" x="305" y="-8939.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::AffineTypeNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="245.5,-8933.5 245.5,-8952.5 364.5,-8952.5 364.5,-8933.5 245.5,-8933.5"/>
+<text text-anchor="middle" x="305" y="-8940.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::AffineTypeNode</text>
</a>
</g>
</g>
<!-- Node0->Node1 -->
<g id="edge5" class="edge">
<title>Node0->Node1</title>
-<path fill="none" stroke="#191970" d="M84.1035,-3693.8628C85.9523,-4040.7381 113.0453,-8815.8556 204,-8923 214.2767,-8935.1059 229.6152,-8941.0908 245.2539,-8943.7476"/>
-<polygon fill="#191970" stroke="#191970" points="87.6031,-3693.7518 84.0502,-3683.7704 80.6032,-3693.7888 87.6031,-3693.7518"/>
+<path fill="none" stroke="#191970" d="M84.095,-3606.669C85.8173,-3955.0192 111.4954,-8814.9882 204,-8924 214.2744,-8936.1078 229.6122,-8942.0934 245.251,-8944.7501"/>
+<polygon fill="#191970" stroke="#191970" points="87.5945,-3606.5416 84.0455,-3596.5589 80.5946,-3606.576 87.5945,-3606.5416"/>
</g>
<!-- Node4 -->
<g id="node13" class="node">
<title>Node4</title>
<g id="a_node13"><a xlink:href="classtvm_1_1arith_1_1ConstIntBoundNode.html" target="_top" xlink:title="Constant integer up and lower bound(inclusive). Useful for value bound analysis. ">
-<polygon fill="#ffffff" stroke="#000000" points="221.5,-8894.5 221.5,-8913.5 388.5,-8913.5 388.5,-8894.5 221.5,-8894.5"/>
-<text text-anchor="middle" x="305" y="-8901.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::ConstIntBoundNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="221.5,-8895.5 221.5,-8914.5 388.5,-8914.5 388.5,-8895.5 221.5,-8895.5"/>
+<text text-anchor="middle" x="305" y="-8902.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::ConstIntBoundNode</text>
</a>
</g>
</g>
<!-- Node0->Node4 -->
<g id="edge8" class="edge">
<title>Node0->Node4</title>
-<path fill="none" stroke="#191970" d="M84.1061,-3693.719C85.9995,-4038.0836 113.6945,-8778.6383 204,-8885 208.8501,-8890.7125 214.8274,-8895.062 221.4314,-8898.342"/>
-<polygon fill="#191970" stroke="#191970" points="87.606,-3693.6804 84.0515,-3683.6997 80.6061,-3693.7187 87.606,-3693.6804"/>
+<path fill="none" stroke="#191970" d="M84.1001,-3607.0519C85.8903,-3957.2308 112.191,-8777.8256 204,-8886 208.8491,-8891.7134 214.8256,-8896.0635 221.4291,-8899.3439"/>
+<polygon fill="#191970" stroke="#191970" points="87.5992,-3606.8456 84.0486,-3596.8635 80.5993,-3606.8811 87.5992,-3606.8456"/>
</g>
<!-- Node5 -->
<g id="node14" class="node">
<title>Node5</title>
<g id="a_node14"><a xlink:href="classtvm_1_1arith_1_1IntConstraintsNode.html" target="_top" xlink:title="Represent integer constrains including (integer) variables, their ranges and the relations between th...">
-<polygon fill="#ffffff" stroke="#000000" points="223,-8856.5 223,-8875.5 387,-8875.5 387,-8856.5 223,-8856.5"/>
-<text text-anchor="middle" x="305" y="-8863.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntConstraintsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="223,-8857.5 223,-8876.5 387,-8876.5 387,-8857.5 223,-8857.5"/>
+<text text-anchor="middle" x="305" y="-8864.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntConstraintsNode</text>
</a>
</g>
</g>
<!-- Node0->Node5 -->
<g id="edge9" class="edge">
<title>Node0->Node5</title>
-<path fill="none" stroke="#191970" d="M84.1122,-3693.8237C86.0988,-4037.6513 114.8877,-8740.0413 204,-8846 209.1774,-8852.1561 215.6554,-8856.766 222.8168,-8860.183"/>
-<polygon fill="#191970" stroke="#191970" points="87.6111,-3693.606 84.0538,-3683.6263 80.6112,-3693.6462 87.6111,-3693.606"/>
+<path fill="none" stroke="#191970" d="M84.1048,-3606.9027C85.976,-3954.475 113.3708,-8739.1952 204,-8847 209.1762,-8853.1571 215.6534,-8857.7677 222.8144,-8861.185"/>
+<polygon fill="#191970" stroke="#191970" points="87.6043,-3606.7712 84.0509,-3596.79 80.6044,-3606.8086 87.6043,-3606.7712"/>
</g>
<!-- Node6 -->
<g id="node15" class="node">
<title>Node6</title>
<g id="a_node15"><a xlink:href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html" target="_top" xlink:title="We can have different set of variables to represent the same constraints. For example, the following two systems are equivalent, {a + b = 0 | a >= 0, b >= 0} and {m - n = 0 | m >= 0, n <= 0} This data structure represents the transformation between two equivalent linear systems. In the above example, src : {a + b = 0 | a >= 0, b >= 0} dst : {m - n = [...]
-<polygon fill="#ffffff" stroke="#000000" points="235.5,-8807 235.5,-8837 374.5,-8837 374.5,-8807 235.5,-8807"/>
-<text text-anchor="start" x="243.5" y="-8825" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntConstraints</text>
-<text text-anchor="middle" x="305" y="-8814" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">TransformNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="235.5,-8808 235.5,-8838 374.5,-8838 374.5,-8808 235.5,-8808"/>
+<text text-anchor="start" x="243.5" y="-8826" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntConstraints</text>
+<text text-anchor="middle" x="305" y="-8815" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">TransformNode</text>
</a>
</g>
</g>
<!-- Node0->Node6 -->
<g id="edge10" class="edge">
<title>Node0->Node6</title>
-<path fill="none" stroke="#191970" d="M84.1272,-3693.8807C86.3582,-4036.3561 118.2398,-8690.0287 204,-8797 211.9659,-8806.9361 223.2042,-8813.2956 235.3083,-8817.2948"/>
-<polygon fill="#191970" stroke="#191970" points="87.625,-3693.5082 84.0603,-3683.5311 80.6251,-3693.5535 87.625,-3693.5082"/>
+<path fill="none" stroke="#191970" d="M84.1182,-3606.709C86.2213,-3950.9007 116.7459,-8689.1212 204,-8798 211.9639,-8807.9377 223.2013,-8814.2979 235.3052,-8818.2973"/>
+<polygon fill="#191970" stroke="#191970" points="87.6181,-3606.6733 84.0575,-3596.6948 80.6183,-3606.7158 87.6181,-3606.6733"/>
</g>
<!-- Node7 -->
<g id="node16" class="node">
<title>Node7</title>
<g id="a_node16"><a xlink:href="classtvm_1_1arith_1_1IntGroupBoundsNode.html" target="_top" xlink:title="Represent integer grouped bounds which are classified into lower bounds (inclusive), upper bounds (inclusive) and equalities. It also contains coefficient as a multiplier for the bounds, i.e., coef * var >= lower coef * var == equal coef * var <= upper. ">
-<polygon fill="#ffffff" stroke="#000000" points="218,-8768.5 218,-8787.5 392,-8787.5 392,-8768.5 218,-8768.5"/>
-<text text-anchor="middle" x="305" y="-8775.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntGroupBoundsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="218,-8769.5 218,-8788.5 392,-8788.5 392,-8769.5 218,-8769.5"/>
+<text text-anchor="middle" x="305" y="-8776.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntGroupBoundsNode</text>
</a>
</g>
</g>
<!-- Node0->Node7 -->
<g id="edge11" class="edge">
<title>Node0->Node7</title>
-<path fill="none" stroke="#191970" d="M84.1193,-3694.0033C86.2004,-4036.1979 115.9132,-8655.3115 204,-8759 207.9276,-8763.6233 212.5935,-8767.3536 217.7323,-8770.3467"/>
-<polygon fill="#191970" stroke="#191970" points="87.6182,-3693.8082 84.0579,-3683.8295 80.6184,-3693.8505 87.6182,-3693.8082"/>
+<path fill="none" stroke="#191970" d="M84.1101,-3606.8292C86.0607,-3950.7528 114.3659,-8654.4472 204,-8760 207.9267,-8764.6241 212.5919,-8768.355 217.7302,-8771.3485"/>
+<polygon fill="#191970" stroke="#191970" points="87.609,-3606.6091 84.0528,-3596.629 80.6091,-3606.6485 87.609,-3606.6091"/>
</g>
<!-- Node8 -->
<g id="node17" class="node">
<title>Node8</title>
<g id="a_node17"><a xlink:href="classtvm_1_1arith_1_1IntSetNode.html" target="_top" xlink:title="Base class of all Integer set containers. represent a set of integers in one dimension. ">
-<polygon fill="#ffffff" stroke="#000000" points="242.5,-8730.5 242.5,-8749.5 367.5,-8749.5 367.5,-8730.5 242.5,-8730.5"/>
-<text text-anchor="middle" x="305" y="-8737.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntSetNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="242.5,-8731.5 242.5,-8750.5 367.5,-8750.5 367.5,-8731.5 242.5,-8731.5"/>
+<text text-anchor="middle" x="305" y="-8738.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntSetNode</text>
</a>
</g>
</g>
<!-- Node0->Node8 -->
<g id="edge12" class="edge">
<title>Node0->Node8</title>
-<path fill="none" stroke="#191970" d="M84.1235,-3694.1063C86.2635,-4035.7561 116.5836,-8618.1191 204,-8721 213.6468,-8732.3534 227.7458,-8738.3218 242.3662,-8741.2103"/>
-<polygon fill="#191970" stroke="#191970" points="87.6214,-3693.7341 84.0592,-3683.7561 80.6215,-3693.7777 87.6214,-3693.7341"/>
+<path fill="none" stroke="#191970" d="M84.1142,-3606.9374C86.1224,-3950.3873 115.037,-8617.2557 204,-8722 213.6445,-8733.3553 227.7426,-8739.3245 242.3631,-8742.213"/>
+<polygon fill="#191970" stroke="#191970" points="87.612,-3606.5378 84.0541,-3596.5583 80.6122,-3606.5784 87.612,-3606.5378"/>
</g>
<!-- Node9 -->
<g id="node18" class="node">
<title>Node9</title>
<g id="a_node18"><a xlink:href="classtvm_1_1arith_1_1IterMapResultNode.html" target="_top" xlink:title="Result of DetectIterMap. ">
-<polygon fill="#ffffff" stroke="#000000" points="223.5,-8692.5 223.5,-8711.5 386.5,-8711.5 386.5,-8692.5 223.5,-8692.5"/>
-<text text-anchor="middle" x="305" y="-8699.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IterMapResultNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="223.5,-8693.5 223.5,-8712.5 386.5,-8712.5 386.5,-8693.5 223.5,-8693.5"/>
+<text text-anchor="middle" x="305" y="-8700.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IterMapResultNode</text>
</a>
</g>
</g>
<!-- Node0->Node9 -->
<g id="edge13" class="edge">
<title>Node0->Node9</title>
-<path fill="none" stroke="#191970" d="M84.1262,-3693.955C86.3118,-4033.0329 117.2322,-8580.9011 204,-8683 209.315,-8689.2541 215.9809,-8693.8741 223.3407,-8697.2453"/>
-<polygon fill="#191970" stroke="#191970" points="87.6245,-3693.66 84.0605,-3683.6827 80.6246,-3693.7049 87.6245,-3693.66"/>
+<path fill="none" stroke="#191970" d="M84.1184,-3607.0505C86.1852,-3950.0525 115.7084,-8580.0645 204,-8684 209.3137,-8690.2552 215.9788,-8694.8759 223.3381,-8698.2475"/>
+<polygon fill="#191970" stroke="#191970" points="87.6173,-3606.8316 84.0575,-3596.8527 80.6174,-3606.8735 87.6173,-3606.8316"/>
</g>
<!-- Node10 -->
<g id="node19" class="node">
<title>Node10</title>
<g id="a_node19"><a xlink:href="classtvm_1_1arith_1_1IterMarkNode.html" target="_top" xlink:title="Mark the source as an iterator in [0, extent). ">
-<polygon fill="#ffffff" stroke="#000000" points="236.5,-8654.5 236.5,-8673.5 373.5,-8673.5 373.5,-8654.5 236.5,-8654.5"/>
-<text text-anchor="middle" x="305" y="-8661.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IterMarkNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="236.5,-8655.5 236.5,-8674.5 373.5,-8674.5 373.5,-8655.5 236.5,-8655.5"/>
+<text text-anchor="middle" x="305" y="-8662.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IterMarkNode</text>
</a>
</g>
</g>
<!-- Node0->Node10 -->
<g id="edge14" class="edge">
<title>Node0->Node10</title>
-<path fill="none" stroke="#191970" d="M84.1289,-3693.8036C86.3602,-4030.3097 117.8808,-8543.6831 204,-8645 212.32,-8654.7882 223.9492,-8660.5735 236.3681,-8663.8332"/>
-<polygon fill="#191970" stroke="#191970" points="87.6277,-3693.5859 84.0619,-3683.6092 80.6278,-3693.6321 87.6277,-3693.5859"/>
+<path fill="none" stroke="#191970" d="M84.1227,-3607.1541C86.2482,-3949.616 116.3788,-8542.8721 204,-8646 212.3179,-8655.79 223.9463,-8661.576 236.365,-8664.8359"/>
+<polygon fill="#191970" stroke="#191970" points="87.6204,-3606.7575 84.0588,-3596.7793 80.6205,-3606.8007 87.6204,-3606.7575"/>
</g>
<!-- Node11 -->
<g id="node20" class="node">
<title>Node11</title>
<g id="a_node20"><a xlink:href="classtvm_1_1arith_1_1ModularSetNode.html" target="_top" xlink:title="Range of a linear integer function. Use to do specify the possible index values. ">
-<polygon fill="#ffffff" stroke="#000000" points="229.5,-8616.5 229.5,-8635.5 380.5,-8635.5 380.5,-8616.5 229.5,-8616.5"/>
-<text text-anchor="middle" x="305" y="-8623.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::ModularSetNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="229.5,-8617.5 229.5,-8636.5 380.5,-8636.5 380.5,-8617.5 229.5,-8617.5"/>
+<text text-anchor="middle" x="305" y="-8624.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::ModularSetNode</text>
</a>
</g>
</g>
<!-- Node0->Node11 -->
<g id="edge15" class="edge">
<title>Node0->Node11</title>
-<path fill="none" stroke="#191970" d="M84.1316,-3693.6522C86.4086,-4027.5865 118.5294,-8506.4651 204,-8607 210.7607,-8614.9523 219.7057,-8620.2623 229.4837,-8623.7224"/>
-<polygon fill="#191970" stroke="#191970" points="87.6309,-3693.5118 84.0632,-3683.5358 80.631,-3693.5593 87.6309,-3693.5118"/>
+<path fill="none" stroke="#191970" d="M84.1254,-3607.0027C86.2966,-3946.8928 117.0274,-8505.6541 204,-8608 210.759,-8615.9537 219.7031,-8621.2645 229.4807,-8624.725"/>
+<polygon fill="#191970" stroke="#191970" points="87.6235,-3606.6834 84.0601,-3596.7058 80.6236,-3606.7279 87.6235,-3606.6834"/>
</g>
<!-- Node12 -->
<g id="node21" class="node">
<title>Node12</title>
<g id="a_node21"><a xlink:href="classtvm_1_1AttrFieldInfoNode.html" target="_top" xlink:title="Information about attribute fields in string representations. ">
-<polygon fill="#ffffff" stroke="#000000" points="241.5,-8578.5 241.5,-8597.5 368.5,-8597.5 368.5,-8578.5 241.5,-8578.5"/>
-<text text-anchor="middle" x="305" y="-8585.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::AttrFieldInfoNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="241.5,-8579.5 241.5,-8598.5 368.5,-8598.5 368.5,-8579.5 241.5,-8579.5"/>
+<text text-anchor="middle" x="305" y="-8586.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::AttrFieldInfoNode</text>
</a>
</g>
</g>
<!-- Node0->Node12 -->
<g id="edge16" class="edge">
<title>Node0->Node12</title>
-<path fill="none" stroke="#191970" d="M84.14,-3693.9965C86.5271,-4029.2147 119.7143,-8467.9142 204,-8568 213.3841,-8579.1433 227.0299,-8585.2185 241.2726,-8588.3231"/>
-<polygon fill="#191970" stroke="#191970" points="87.6387,-3693.7917 84.068,-3683.8167 80.6389,-3693.8412 87.6387,-3693.7917"/>
+<path fill="none" stroke="#191970" d="M84.1302,-3606.8457C86.3824,-3944.0673 118.1786,-8467.0459 204,-8569 213.3817,-8580.1453 227.0266,-8586.2213 241.2692,-8589.326"/>
+<polygon fill="#191970" stroke="#191970" points="87.6288,-3606.6062 84.0625,-3596.6296 80.6289,-3606.6526 87.6288,-3606.6062"/>
</g>
<!-- Node13 -->
<g id="node22" class="node">
<title>Node13</title>
<g id="a_node22"><a xlink:href="classtvm_1_1auto__scheduler_1_1AccessAnalyzerNode.html" target="_top" xlink:title="Static analyzer for a ComputeDAG. ">
-<polygon fill="#ffffff" stroke="#000000" points="242.5,-8529 242.5,-8559 367.5,-8559 367.5,-8529 242.5,-8529"/>
-<text text-anchor="start" x="250.5" y="-8547" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8536" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::AccessAnalyzerNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="242.5,-8530 242.5,-8560 367.5,-8560 367.5,-8530 242.5,-8530"/>
+<text text-anchor="start" x="250.5" y="-8548" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8537" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::AccessAnalyzerNode</text>
</a>
</g>
</g>
<!-- Node0->Node13 -->
<g id="edge17" class="edge">
<title>Node0->Node13</title>
-<path fill="none" stroke="#191970" d="M84.1536,-3693.788C86.7681,-4025.5123 122.9044,-8417.986 204,-8519 213.4992,-8530.8324 227.6388,-8537.5914 242.3509,-8541.3325"/>
-<polygon fill="#191970" stroke="#191970" points="87.653,-3693.6866 84.0747,-3683.7143 80.6532,-3693.7415 87.653,-3693.6866"/>
+<path fill="none" stroke="#191970" d="M84.1437,-3606.6423C86.6237,-3940.4088 121.4136,-8417.0826 204,-8520 213.4966,-8531.8345 227.6353,-8538.5942 242.3473,-8542.3354"/>
+<polygon fill="#191970" stroke="#191970" points="87.6428,-3606.5048 84.069,-3596.5309 80.643,-3606.5565 87.6428,-3606.5048"/>
</g>
<!-- Node14 -->
<g id="node23" class="node">
<title>Node14</title>
<g id="a_node23"><a xlink:href="classtvm_1_1auto__scheduler_1_1AttachMapNode.html" target="_top" xlink:title="stores the compute_at relation between stages This stores a bi-directional mapping from stages and it...">
-<polygon fill="#ffffff" stroke="#000000" points="247,-8480 247,-8510 363,-8510 363,-8480 247,-8480"/>
-<text text-anchor="start" x="255" y="-8498" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8487" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::AttachMapNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-8481 247,-8511 363,-8511 363,-8481 247,-8481"/>
+<text text-anchor="start" x="255" y="-8499" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8488" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::AttachMapNode</text>
</a>
</g>
</g>
<!-- Node0->Node14 -->
<g id="edge18" class="edge">
<title>Node0->Node14</title>
-<path fill="none" stroke="#191970" d="M84.1611,-3694.0776C86.8656,-4026.2535 123.751,-8370.0666 204,-8470 214.4621,-8483.0284 230.5501,-8489.9057 246.8324,-8493.376"/>
-<polygon fill="#191970" stroke="#191970" points="87.6573,-3693.5874 84.0764,-3683.6161 80.6575,-3693.6441 87.6573,-3693.5874"/>
+<path fill="none" stroke="#191970" d="M84.1509,-3606.9472C86.7196,-3941.3413 122.262,-8369.1653 204,-8471 214.4592,-8484.0307 230.5463,-8490.9087 246.8288,-8494.3789"/>
+<polygon fill="#191970" stroke="#191970" points="87.6497,-3606.7655 84.0734,-3596.7925 80.6499,-3606.819 87.6497,-3606.7655"/>
</g>
<!-- Node15 -->
<g id="node24" class="node">
<title>Node15</title>
<g id="a_node24"><a xlink:href="classtvm_1_1auto__scheduler_1_1BuildResultNode.html" target="_top" xlink:title="Store the result of a build. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-8431 247,-8461 363,-8461 363,-8431 247,-8431"/>
-<text text-anchor="start" x="255" y="-8449" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8438" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuildResultNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-8432 247,-8462 363,-8462 363,-8432 247,-8432"/>
+<text text-anchor="start" x="255" y="-8450" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8439" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuildResultNode</text>
</a>
</g>
</g>
<!-- Node0->Node15 -->
<g id="edge19" class="edge">
<title>Node0->Node15</title>
-<path fill="none" stroke="#191970" d="M84.1646,-3693.8725C86.9273,-4022.6553 124.5577,-8322.0972 204,-8421 214.4638,-8434.027 230.5522,-8440.9039 246.8345,-8444.3744"/>
-<polygon fill="#191970" stroke="#191970" points="87.6616,-3693.4883 84.0781,-3683.5179 80.6619,-3693.5468 87.6616,-3693.4883"/>
+<path fill="none" stroke="#191970" d="M84.1543,-3606.7472C86.7806,-3937.787 123.0691,-8321.1965 204,-8422 214.4608,-8435.0294 230.5484,-8441.907 246.8308,-8445.3773"/>
+<polygon fill="#191970" stroke="#191970" points="87.6539,-3606.6664 84.0751,-3596.6943 80.6541,-3606.7216 87.6539,-3606.6664"/>
</g>
<!-- Node16 -->
<g id="node25" class="node">
<title>Node16</title>
<g id="a_node25"><a xlink:href="classtvm_1_1auto__scheduler_1_1ComputeDAGNode.html" target="_top" xlink:title="The auto-scheduler's computational graph and related program analyses. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-8382 247,-8412 363,-8412 363,-8382 247,-8382"/>
-<text text-anchor="start" x="255" y="-8400" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8389" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeDAGNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-8383 247,-8413 363,-8413 363,-8383 247,-8383"/>
+<text text-anchor="start" x="255" y="-8401" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8390" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeDAGNode</text>
</a>
</g>
</g>
<!-- Node0->Node16 -->
<g id="edge20" class="edge">
<title>Node0->Node16</title>
-<path fill="none" stroke="#191970" d="M84.1724,-3694.1599C87.0275,-4023.3239 125.4037,-8274.1769 204,-8372 214.4655,-8385.0257 230.5544,-8391.9022 246.8366,-8395.3727"/>
-<polygon fill="#191970" stroke="#191970" points="87.669,-3693.738 84.0828,-3683.7686 80.6693,-3693.7984 87.669,-3693.738"/>
+<path fill="none" stroke="#191970" d="M84.1618,-3607.0357C86.8781,-3938.5192 123.9157,-8273.2769 204,-8373 214.4624,-8386.0281 230.5505,-8392.9053 246.8328,-8396.3757"/>
+<polygon fill="#191970" stroke="#191970" points="87.6582,-3606.5672 84.0768,-3596.5961 80.6584,-3606.6243 87.6582,-3606.5672"/>
</g>
<!-- Node17 -->
<g id="node26" class="node">
<title>Node17</title>
<g id="a_node26"><a xlink:href="classtvm_1_1auto__scheduler_1_1CostModelNode.html" target="_top" xlink:title="The base class for cost model. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-8333 247,-8363 363,-8363 363,-8333 247,-8333"/>
-<text text-anchor="start" x="255" y="-8351" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8340" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CostModelNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-8334 247,-8364 363,-8364 363,-8334 247,-8334"/>
+<text text-anchor="start" x="255" y="-8352" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8341" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CostModelNode</text>
</a>
</g>
</g>
<!-- Node0->Node17 -->
<g id="edge21" class="edge">
<title>Node0->Node17</title>
-<path fill="none" stroke="#191970" d="M84.176,-3693.9497C87.0899,-4019.6813 126.2099,-8226.2069 204,-8323 214.4673,-8336.0242 230.5566,-8342.9004 246.8387,-8346.371"/>
-<polygon fill="#191970" stroke="#191970" points="87.6735,-3693.6351 84.0846,-3683.6667 80.6738,-3693.6975 87.6735,-3693.6351"/>
+<path fill="none" stroke="#191970" d="M84.1695,-3607.3272C86.9778,-3939.2232 124.762,-8225.357 204,-8324 214.4641,-8337.0268 230.5527,-8343.9036 246.8349,-8347.374"/>
+<polygon fill="#191970" stroke="#191970" points="87.6655,-3606.8198 84.0814,-3596.8496 80.6657,-3606.8787 87.6655,-3606.8198"/>
</g>
<!-- Node20 -->
<g id="node29" class="node">
<title>Node20</title>
<g id="a_node29"><a xlink:href="classtvm_1_1auto__scheduler_1_1HardwareParamsNode.html" target="_top" xlink:title="The parameters of target hardware used to guide the SearchPolicy. ">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-8284 239.5,-8314 370.5,-8314 370.5,-8284 239.5,-8284"/>
-<text text-anchor="start" x="247.5" y="-8302" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8291" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::HardwareParamsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-8285 239.5,-8315 370.5,-8315 370.5,-8285 239.5,-8285"/>
+<text text-anchor="start" x="247.5" y="-8303" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8292" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::HardwareParamsNode</text>
</a>
</g>
</g>
<!-- Node0->Node20 -->
<g id="edge24" class="edge">
<title>Node0->Node20</title>
-<path fill="none" stroke="#191970" d="M84.3529,-3693.955C90.1343,-4019.7479 165.508,-8226.1185 204,-8274 212.8845,-8285.0518 225.8172,-8291.6764 239.48,-8295.5498"/>
-<polygon fill="#191970" stroke="#191970" points="87.8474,-3693.6061 84.1707,-3683.6697 80.8485,-3693.7302 87.8474,-3693.6061"/>
+<path fill="none" stroke="#191970" d="M84.1732,-3607.117C87.0402,-3935.5805 125.5682,-8177.3871 204,-8275 212.8818,-8286.054 225.8135,-8292.6794 239.4761,-8296.553"/>
+<polygon fill="#191970" stroke="#191970" points="87.6699,-3606.717 84.0832,-3596.7478 80.6702,-3606.7778 87.6699,-3606.717"/>
</g>
<!-- Node21 -->
<g id="node30" class="node">
<title>Node21</title>
<g id="a_node30"><a xlink:href="classtvm_1_1auto__scheduler_1_1IteratorNode.html" target="_top" xlink:title="An iterator of a for-loop Similar to tvm::IterVar in include/tvm/tir/expr.h ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-8235 247,-8265 363,-8265 363,-8235 247,-8235"/>
-<text text-anchor="start" x="255" y="-8253" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8242" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IteratorNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-8236 247,-8266 363,-8266 363,-8236 247,-8236"/>
+<text text-anchor="start" x="255" y="-8254" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8243" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IteratorNode</text>
</a>
</g>
</g>
<!-- Node0->Node21 -->
<g id="edge25" class="edge">
<title>Node0->Node21</title>
-<path fill="none" stroke="#191970" d="M84.1879,-3694.0121C87.2556,-4016.5272 127.8605,-8130.3146 204,-8225 214.4709,-8238.0213 230.5613,-8244.8967 246.8431,-8248.3674"/>
-<polygon fill="#191970" stroke="#191970" points="87.6859,-3693.7734 84.0914,-3683.807 80.6862,-3693.8397 87.6859,-3693.7734"/>
+<path fill="none" stroke="#191970" d="M84.1768,-3606.9068C87.1027,-3931.9379 126.3744,-8129.4172 204,-8226 214.4676,-8239.024 230.5571,-8245.9 246.8391,-8249.3706"/>
+<polygon fill="#191970" stroke="#191970" points="87.6744,-3606.6142 84.085,-3596.6459 80.6747,-3606.6769 87.6744,-3606.6142"/>
</g>
<!-- Node22 -->
<g id="node31" class="node">
<title>Node22</title>
<g id="a_node31"><a xlink:href="classtvm_1_1auto__scheduler_1_1MeasureCallbackNode.html" target="_top" xlink:title="Bass class of measurement callbacks. ">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-8186 239.5,-8216 370.5,-8216 370.5,-8186 239.5,-8186"/>
-<text text-anchor="start" x="247.5" y="-8204" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8193" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureCallbackNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-8187 239.5,-8217 370.5,-8217 370.5,-8187 239.5,-8187"/>
+<text text-anchor="start" x="247.5" y="-8205" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8194" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureCallbackNode</text>
</a>
</g>
</g>
<!-- Node0->Node22 -->
<g id="edge26" class="edge">
<title>Node0->Node22</title>
-<path fill="none" stroke="#191970" d="M84.1916,-3693.7967C87.3188,-4012.8401 128.6663,-8082.3442 204,-8176 212.8877,-8187.0493 225.8216,-8193.6729 239.4845,-8197.5462"/>
-<polygon fill="#191970" stroke="#191970" points="87.6906,-3693.6668 84.0932,-3683.7014 80.6909,-3693.7351 87.6906,-3693.6668"/>
+<path fill="none" stroke="#191970" d="M84.1804,-3606.6966C87.1651,-3928.2952 127.1806,-8081.4472 204,-8177 212.8849,-8188.0515 225.8177,-8194.6761 239.4805,-8198.5495"/>
+<polygon fill="#191970" stroke="#191970" points="87.679,-3606.5113 84.0867,-3596.544 80.6792,-3606.576 87.679,-3606.5113"/>
</g>
<!-- Node25 -->
<g id="node34" class="node">
<title>Node25</title>
<g id="a_node34"><a xlink:href="classtvm_1_1auto__scheduler_1_1MeasureInputNode.html" target="_top" xlink:title="Store the input of a measurement. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-8137 247,-8167 363,-8167 363,-8137 247,-8137"/>
-<text text-anchor="start" x="255" y="-8155" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8144" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureInputNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-8138 247,-8168 363,-8168 363,-8138 247,-8138"/>
+<text text-anchor="start" x="255" y="-8156" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8145" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureInputNode</text>
</a>
</g>
</g>
<!-- Node0->Node25 -->
<g id="edge29" class="edge">
<title>Node0->Node25</title>
-<path fill="none" stroke="#191970" d="M84.2001,-3694.0519C87.4236,-4013.1314 129.5089,-8034.4195 204,-8127 214.4746,-8140.0183 230.5661,-8146.8928 246.8478,-8150.3637"/>
-<polygon fill="#191970" stroke="#191970" points="87.6954,-3693.5602 84.095,-3683.5959 80.6958,-3693.6305 87.6954,-3693.5602"/>
+<path fill="none" stroke="#191970" d="M84.1887,-3606.9681C87.2685,-3928.7747 128.0249,-8033.5248 204,-8128 214.4712,-8141.021 230.5617,-8147.8963 246.8436,-8151.367"/>
+<polygon fill="#191970" stroke="#191970" points="87.6868,-3606.7516 84.0917,-3596.7854 80.6872,-3606.8183 87.6868,-3606.7516"/>
</g>
<!-- Node26 -->
<g id="node35" class="node">
<title>Node26</title>
<g id="a_node35"><a xlink:href="classtvm_1_1auto__scheduler_1_1MeasureResultNode.html" target="_top" xlink:title="Store the results of a measurement. ">
-<polygon fill="#ffffff" stroke="#000000" points="245.5,-8088 245.5,-8118 364.5,-8118 364.5,-8088 245.5,-8088"/>
-<text text-anchor="start" x="253.5" y="-8106" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8095" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureResultNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="245.5,-8089 245.5,-8119 364.5,-8119 364.5,-8089 245.5,-8089"/>
+<text text-anchor="start" x="253.5" y="-8107" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8096" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureResultNode</text>
</a>
</g>
</g>
<!-- Node0->Node26 -->
<g id="edge30" class="edge">
<title>Node0->Node26</title>
-<path fill="none" stroke="#191970" d="M84.204,-3693.8386C87.4882,-4009.4617 130.3148,-7986.4493 204,-8078 214.1368,-8090.5946 229.5307,-8097.4384 245.2668,-8101.0132"/>
-<polygon fill="#191970" stroke="#191970" points="87.7038,-3693.7922 84.1003,-3683.829 80.7041,-3693.8648 87.7038,-3693.7922"/>
+<path fill="none" stroke="#191970" d="M84.1924,-3606.7527C87.3317,-3925.0876 128.8307,-7985.5543 204,-8079 214.1335,-8091.5973 229.5263,-8098.442 245.2625,-8102.0167"/>
+<polygon fill="#191970" stroke="#191970" points="87.6916,-3606.645 84.0936,-3596.6799 80.6919,-3606.7138 87.6916,-3606.645"/>
</g>
<!-- Node27 -->
<g id="node36" class="node">
<title>Node27</title>
<g id="a_node36"><a xlink:href="classtvm_1_1auto__scheduler_1_1ProgramBuilderNode.html" target="_top" xlink:title="ProgramBuilder that builds the programs. ">
-<polygon fill="#ffffff" stroke="#000000" points="243,-8039 243,-8069 367,-8069 367,-8039 243,-8039"/>
-<text text-anchor="start" x="251" y="-8057" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8046" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramBuilderNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="243,-8040 243,-8070 367,-8070 367,-8040 243,-8040"/>
+<text text-anchor="start" x="251" y="-8058" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8047" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramBuilderNode</text>
</a>
</g>
</g>
<!-- Node0->Node27 -->
<g id="edge31" class="edge">
<title>Node0->Node27</title>
-<path fill="none" stroke="#191970" d="M84.2128,-3694.0834C87.5952,-4009.6172 131.1562,-7938.523 204,-8029 213.629,-8040.9598 227.9984,-8047.7337 242.8988,-8051.4469"/>
-<polygon fill="#191970" stroke="#191970" points="87.7088,-3693.6818 84.1022,-3683.7197 80.7092,-3693.7565 87.7088,-3693.6818"/>
+<path fill="none" stroke="#191970" d="M84.2009,-3607.0069C87.4367,-3925.37 129.6733,-7937.6295 204,-8030 213.6257,-8041.9625 227.9941,-8048.7372 242.8945,-8052.4504"/>
+<polygon fill="#191970" stroke="#191970" points="87.6964,-3606.5384 84.0954,-3596.5743 80.6968,-3606.6092 87.6964,-3606.5384"/>
</g>
<!-- Node29 -->
<g id="node38" class="node">
<title>Node29</title>
<g id="a_node38"><a xlink:href="classtvm_1_1auto__scheduler_1_1ProgramMeasurerNode.html" target="_top" xlink:title="Measurer that measures the time costs of tvm programs This class combines ProgramBuilder and ProgramR...">
-<polygon fill="#ffffff" stroke="#000000" points="238,-7990 238,-8020 372,-8020 372,-7990 238,-7990"/>
-<text text-anchor="start" x="246" y="-8008" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7997" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramMeasurerNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="238,-7991 238,-8021 372,-8021 372,-7991 238,-7991"/>
+<text text-anchor="start" x="246" y="-8009" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7998" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramMeasurerNode</text>
</a>
</g>
</g>
<!-- Node0->Node29 -->
<g id="edge33" class="edge">
<title>Node0->Node29</title>
-<path fill="none" stroke="#191970" d="M84.2167,-3693.8575C87.6599,-4005.8419 131.9612,-7890.5515 204,-7980 212.5545,-7990.6218 224.848,-7997.1529 237.9311,-8001.0823"/>
-<polygon fill="#191970" stroke="#191970" points="87.7138,-3693.5713 84.1041,-3683.6104 80.7142,-3693.6482 87.7138,-3693.5713"/>
+<path fill="none" stroke="#191970" d="M84.2097,-3607.2633C87.5438,-3925.6221 130.5155,-7889.7044 204,-7981 212.5515,-7991.6242 224.8438,-7998.1563 237.9267,-8002.0858"/>
+<polygon fill="#191970" stroke="#191970" points="87.7048,-3606.7697 84.1007,-3596.8067 80.7052,-3606.8427 87.7048,-3606.7697"/>
</g>
<!-- Node30 -->
<g id="node39" class="node">
<title>Node30</title>
<g id="a_node39"><a xlink:href="classtvm_1_1auto__scheduler_1_1ProgramRunnerNode.html" target="_top" xlink:title="ProgramRunner that runs the built programs and measure the time cost. ">
-<polygon fill="#ffffff" stroke="#000000" points="243.5,-7941 243.5,-7971 366.5,-7971 366.5,-7941 243.5,-7941"/>
-<text text-anchor="start" x="251.5" y="-7959" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7948" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramRunnerNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="243.5,-7942 243.5,-7972 366.5,-7972 366.5,-7942 243.5,-7942"/>
+<text text-anchor="start" x="251.5" y="-7960" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7949" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramRunnerNode</text>
</a>
</g>
</g>
<!-- Node0->Node30 -->
<g id="edge34" class="edge">
<title>Node0->Node30</title>
-<path fill="none" stroke="#191970" d="M84.2206,-3693.6316C87.7246,-4002.0665 132.7661,-7842.58 204,-7931 213.7461,-7943.0975 228.3423,-7949.8883 243.43,-7953.5726"/>
-<polygon fill="#191970" stroke="#191970" points="87.7189,-3693.4608 84.106,-3683.501 80.7194,-3693.54 87.7189,-3693.4608"/>
+<path fill="none" stroke="#191970" d="M84.2136,-3607.0373C87.6084,-3921.8467 131.3205,-7841.7329 204,-7932 213.7426,-7944.1002 228.3377,-7950.892 243.4255,-7954.5763"/>
+<polygon fill="#191970" stroke="#191970" points="87.7098,-3606.6592 84.1026,-3596.6974 80.7102,-3606.7344 87.7098,-3606.6592"/>
</g>
<!-- Node33 -->
<g id="node42" class="node">
<title>Node33</title>
<g id="a_node42"><a xlink:href="classtvm_1_1auto__scheduler_1_1RecordReaderNode.html" target="_top" xlink:title="Log reader to load step logs from a file. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7892 247,-7922 363,-7922 363,-7892 247,-7892"/>
-<text text-anchor="start" x="255" y="-7910" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7899" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RecordReaderNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7893 247,-7923 363,-7923 363,-7893 247,-7893"/>
+<text text-anchor="start" x="255" y="-7911" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7900" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RecordReaderNode</text>
</a>
</g>
</g>
<!-- Node0->Node33 -->
<g id="edge37" class="edge">
<title>Node0->Node33</title>
-<path fill="none" stroke="#191970" d="M84.2299,-3693.8677C87.8353,-4002.1038 133.6065,-7794.6524 204,-7882 214.4848,-7895.0101 230.5791,-7901.8823 246.8602,-7905.3536"/>
-<polygon fill="#191970" stroke="#191970" points="87.728,-3693.6795 84.1117,-3683.7209 80.7285,-3693.761 87.728,-3693.6795"/>
+<path fill="none" stroke="#191970" d="M84.2175,-3606.8114C87.6731,-3918.0714 132.1255,-7793.7614 204,-7883 214.481,-7896.0131 230.5743,-7902.8862 246.8556,-7906.3574"/>
+<polygon fill="#191970" stroke="#191970" points="87.7149,-3606.5487 84.1045,-3596.588 80.7153,-3606.6261 87.7149,-3606.5487"/>
</g>
<!-- Node34 -->
<g id="node43" class="node">
<title>Node34</title>
<g id="a_node43"><a xlink:href="classtvm_1_1auto__scheduler_1_1SearchCallbackNode.html" target="_top" xlink:title="Callback function to be called by the search process. This interface allows to do extra initializatio...">
-<polygon fill="#ffffff" stroke="#000000" points="243.5,-7843 243.5,-7873 366.5,-7873 366.5,-7843 243.5,-7843"/>
-<text text-anchor="start" x="251.5" y="-7861" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7850" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchCallbackNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="243.5,-7844 243.5,-7874 366.5,-7874 366.5,-7844 243.5,-7844"/>
+<text text-anchor="start" x="251.5" y="-7862" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7851" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchCallbackNode</text>
</a>
</g>
</g>
<!-- Node0->Node34 -->
<g id="edge38" class="edge">
<title>Node0->Node34</title>
-<path fill="none" stroke="#191970" d="M84.2338,-3693.6364C87.9007,-3998.284 134.411,-7746.6804 204,-7833 213.7501,-7845.0942 228.3476,-7851.884 243.4353,-7855.5684"/>
-<polygon fill="#191970" stroke="#191970" points="87.7333,-3693.5651 84.1137,-3683.6078 80.7338,-3693.649 87.7333,-3693.5651"/>
+<path fill="none" stroke="#191970" d="M84.2267,-3607.0518C87.7832,-3918.1439 132.9661,-7745.8342 204,-7834 213.7465,-7846.0971 228.3428,-7852.8879 243.4306,-7856.5722"/>
+<polygon fill="#191970" stroke="#191970" points="87.7238,-3606.7705 84.1102,-3596.811 80.7243,-3606.8502 87.7238,-3606.7705"/>
</g>
<!-- Node36 -->
<g id="node45" class="node">
<title>Node36</title>
<g id="a_node45"><a xlink:href="classtvm_1_1auto__scheduler_1_1SearchPolicyNode.html" target="_top" xlink:title="The base class of search policies. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7794 247,-7824 363,-7824 363,-7794 247,-7794"/>
-<text text-anchor="start" x="255" y="-7812" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7801" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchPolicyNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7795 247,-7825 363,-7825 363,-7795 247,-7795"/>
+<text text-anchor="start" x="255" y="-7813" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7802" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchPolicyNode</text>
</a>
</g>
</g>
<!-- Node0->Node36 -->
<g id="edge40" class="edge">
<title>Node0->Node36</title>
-<path fill="none" stroke="#191970" d="M84.2435,-3693.8616C88.0136,-3998.1863 135.2501,-7698.7512 204,-7784 214.4893,-7797.0065 230.5848,-7803.8777 246.8656,-7807.3493"/>
-<polygon fill="#191970" stroke="#191970" points="87.7428,-3693.7776 84.1197,-3683.8216 80.7434,-3693.864 87.7428,-3693.7776"/>
+<path fill="none" stroke="#191970" d="M84.2307,-3606.8205C87.8486,-3914.3242 133.7706,-7697.8622 204,-7785 214.4853,-7798.0097 230.5797,-7804.8818 246.8608,-7808.3532"/>
+<polygon fill="#191970" stroke="#191970" points="87.7291,-3606.6561 84.1121,-3596.6978 80.7296,-3606.7382 87.7291,-3606.6561"/>
</g>
<!-- Node37 -->
<g id="node46" class="node">
<title>Node37</title>
<g id="a_node46"><a xlink:href="classtvm_1_1auto__scheduler_1_1SearchTaskNode.html" target="_top" xlink:title="The computation information and hardware parameters for a specific schedule search task...">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7745 247,-7775 363,-7775 363,-7745 247,-7745"/>
-<text text-anchor="start" x="255" y="-7763" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7752" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchTaskNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7746 247,-7776 363,-7776 363,-7746 247,-7746"/>
+<text text-anchor="start" x="255" y="-7764" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7753" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchTaskNode</text>
</a>
</g>
</g>
<!-- Node0->Node37 -->
<g id="edge41" class="edge">
<title>Node0->Node37</title>
-<path fill="none" stroke="#191970" d="M84.2533,-3694.0734C88.1272,-3997.938 136.0878,-7650.8203 204,-7735 214.4916,-7748.0047 230.5877,-7754.8754 246.8684,-7758.347"/>
-<polygon fill="#191970" stroke="#191970" points="87.7484,-3693.6593 84.1217,-3683.7045 80.749,-3693.7482 87.7484,-3693.6593"/>
+<path fill="none" stroke="#191970" d="M84.2347,-3606.5892C87.914,-3910.5045 134.5752,-7649.8902 204,-7736 214.4875,-7749.008 230.5825,-7755.8796 246.8635,-7759.351"/>
+<polygon fill="#191970" stroke="#191970" points="87.7344,-3606.5417 84.1141,-3596.5847 80.735,-3606.6261 87.7344,-3606.5417"/>
</g>
<!-- Node38 -->
<g id="node47" class="node">
<title>Node38</title>
<g id="a_node47"><a xlink:href="classtvm_1_1auto__scheduler_1_1StageNode.html" target="_top" xlink:title="A op stage in the compute declaration. Similar to te::Stage in include/tvm/te/schedule.h. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7696 247,-7726 363,-7726 363,-7696 247,-7696"/>
-<text text-anchor="start" x="255" y="-7714" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7703" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StageNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7697 247,-7727 363,-7727 363,-7697 247,-7697"/>
+<text text-anchor="start" x="255" y="-7715" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7704" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StageNode</text>
</a>
</g>
</g>
<!-- Node0->Node38 -->
<g id="edge42" class="edge">
<title>Node0->Node38</title>
-<path fill="none" stroke="#191970" d="M84.2575,-3693.8313C88.1941,-3994.0303 136.8915,-7602.8472 204,-7686 214.4939,-7699.0028 230.5907,-7705.873 246.8713,-7709.3447"/>
-<polygon fill="#191970" stroke="#191970" points="87.7541,-3693.5409 84.1237,-3683.5875 80.7547,-3693.6323 87.7541,-3693.5409"/>
+<path fill="none" stroke="#191970" d="M84.2443,-3606.8133C88.0271,-3910.3977 135.4142,-7601.9609 204,-7687 214.4897,-7700.0061 230.5853,-7706.8773 246.8662,-7710.3488"/>
+<polygon fill="#191970" stroke="#191970" points="87.744,-3606.7535 84.1201,-3596.7977 80.7445,-3606.8404 87.744,-3606.7535"/>
</g>
<!-- Node39 -->
<g id="node48" class="node">
<title>Node39</title>
<g id="a_node48"><a xlink:href="classtvm_1_1auto__scheduler_1_1StateNode.html" target="_top" xlink:title="A state in the search process. It consists of the current loop structure and a list of transformation...">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7647 247,-7677 363,-7677 363,-7647 247,-7647"/>
-<text text-anchor="start" x="255" y="-7665" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7654" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StateNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7648 247,-7678 363,-7678 363,-7648 247,-7648"/>
+<text text-anchor="start" x="255" y="-7666" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7655" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StateNode</text>
</a>
</g>
</g>
<!-- Node0->Node39 -->
<g id="edge43" class="edge">
<title>Node0->Node39</title>
-<path fill="none" stroke="#191970" d="M84.2677,-3694.0389C88.3107,-3993.7062 137.7286,-7554.9154 204,-7637 214.4963,-7650.0008 230.5937,-7656.8705 246.8743,-7660.3423"/>
-<polygon fill="#191970" stroke="#191970" points="87.7641,-3693.743 84.13,-3683.7909 80.7648,-3693.8371 87.7641,-3693.743"/>
+<path fill="none" stroke="#191970" d="M84.2541,-3607.024C88.1409,-3910.1405 136.2518,-7554.0299 204,-7638 214.492,-7651.0043 230.5883,-7657.8749 246.869,-7661.3466"/>
+<polygon fill="#191970" stroke="#191970" points="87.7496,-3606.6351 84.1221,-3596.6806 80.7501,-3606.7245 87.7496,-3606.6351"/>
</g>
<!-- Node40 -->
<g id="node49" class="node">
<title>Node40</title>
<g id="a_node49"><a xlink:href="classtvm_1_1auto__scheduler_1_1StepNode.html" target="_top" xlink:title="The base class of transformation steps. Each step has its corresponding tvm.te schedule primitives...">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7598 247,-7628 363,-7628 363,-7598 247,-7598"/>
-<text text-anchor="start" x="255" y="-7616" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7605" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7599 247,-7629 363,-7629 363,-7599 247,-7599"/>
+<text text-anchor="start" x="255" y="-7617" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7606" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StepNode</text>
</a>
</g>
</g>
<!-- Node0->Node40 -->
<g id="edge44" class="edge">
<title>Node0->Node40</title>
-<path fill="none" stroke="#191970" d="M84.272,-3693.7912C88.3783,-3989.7542 138.5319,-7506.9418 204,-7588 214.4988,-7600.9989 230.5969,-7607.868 246.8773,-7611.3399"/>
-<polygon fill="#191970" stroke="#191970" points="87.7701,-3693.6205 84.1321,-3683.6699 80.7707,-3693.7173 87.7701,-3693.6205"/>
+<path fill="none" stroke="#191970" d="M84.2583,-3606.7819C88.2077,-3906.2328 137.0555,-7506.0568 204,-7589 214.4944,-7602.0024 230.5913,-7608.8725 246.8719,-7612.3442"/>
+<polygon fill="#191970" stroke="#191970" points="87.7552,-3606.5167 84.1241,-3596.5636 80.7558,-3606.6087 87.7552,-3606.5167"/>
</g>
<!-- Node55 -->
<g id="node64" class="node">
<title>Node55</title>
<g id="a_node64"><a xlink:href="classtvm_1_1auto__scheduler_1_1TuningOptionsNode.html" target="_top" xlink:title="Tuning and measurement options. ">
-<polygon fill="#ffffff" stroke="#000000" points="246.5,-7549 246.5,-7579 363.5,-7579 363.5,-7549 246.5,-7549"/>
-<text text-anchor="start" x="254.5" y="-7567" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7556" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TuningOptionsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="246.5,-7550 246.5,-7580 363.5,-7580 363.5,-7550 246.5,-7550"/>
+<text text-anchor="start" x="254.5" y="-7568" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7557" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TuningOptionsNode</text>
</a>
</g>
</g>
<!-- Node0->Node55 -->
<g id="edge59" class="edge">
<title>Node0->Node55</title>
-<path fill="none" stroke="#191970" d="M84.2825,-3693.9796C88.4963,-3989.2384 139.3672,-7459.0078 204,-7539 214.3878,-7551.8563 230.2527,-7558.7161 246.3524,-7562.2236"/>
-<polygon fill="#191970" stroke="#191970" points="87.7761,-3693.4981 84.1342,-3683.5489 80.7768,-3693.5976 87.7761,-3693.4981"/>
+<path fill="none" stroke="#191970" d="M84.2686,-3606.9883C88.3245,-3905.8996 137.8925,-7458.1249 204,-7540 214.3833,-7552.8599 230.247,-7559.7207 246.3469,-7563.2281"/>
+<polygon fill="#191970" stroke="#191970" points="87.7653,-3606.718 84.1305,-3596.7662 80.766,-3606.8126 87.7653,-3606.718"/>
</g>
<!-- Node56 -->
<g id="node65" class="node">
<title>Node56</title>
<g id="a_node65"><a xlink:href="classtvm_1_1BaseAttrsNode.html" target="_top" xlink:title="Base class of all attribute class. ">
-<polygon fill="#ffffff" stroke="#000000" points="247.5,-7510.5 247.5,-7529.5 362.5,-7529.5 362.5,-7510.5 247.5,-7510.5"/>
-<text text-anchor="middle" x="305" y="-7517.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseAttrsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247.5,-7511.5 247.5,-7530.5 362.5,-7530.5 362.5,-7511.5 247.5,-7511.5"/>
+<text text-anchor="middle" x="305" y="-7518.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseAttrsNode</text>
</a>
</g>
</g>
<!-- Node0->Node56 -->
<g id="edge60" class="edge">
<title>Node0->Node56</title>
-<path fill="none" stroke="#191970" d="M85.1457,-3693.938C101.72,-3982.3766 292.7336,-7306.5314 304.4387,-7510.2314"/>
-<polygon fill="#191970" stroke="#191970" points="88.6259,-3693.4924 84.5579,-3683.7097 81.6375,-3693.8941 88.6259,-3693.4924"/>
-</g>
-<!-- Node335 -->
-<g id="node344" class="node">
-<title>Node335</title>
-<g id="a_node344"><a xlink:href="classtvm_1_1BaseExprNode.html" target="_top" xlink:title="Base type of all the expressions. ">
-<polygon fill="#ffffff" stroke="#000000" points="248.5,-5120.5 248.5,-5139.5 361.5,-5139.5 361.5,-5120.5 248.5,-5120.5"/>
-<text text-anchor="middle" x="305" y="-5127.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseExprNode</text>
-</a>
-</g>
-</g>
-<!-- Node0->Node335 -->
-<g id="edge339" class="edge">
-<title>Node0->Node335</title>
-<path fill="none" stroke="#191970" d="M84.2346,-3694.1077C86.3548,-3860.1147 104.5045,-5000.7308 204,-5111 215.2355,-5123.4521 231.8374,-5129.3214 248.35,-5131.7633"/>
-<polygon fill="#191970" stroke="#191970" points="87.7315,-3693.8232 84.1087,-3683.867 80.732,-3693.9093 87.7315,-3693.8232"/>
-</g>
-<!-- Node411 -->
-<g id="node420" class="node">
-<title>Node411</title>
-<g id="a_node420"><a xlink:href="classtvm_1_1CompilationConfigNode.html" target="_top" xlink:title="Gathers the Targets and distinguished VirtualDevices in canonical form needed to compile a Relay modu...">
-<polygon fill="#ffffff" stroke="#000000" points="226,-5082.5 226,-5101.5 384,-5101.5 384,-5082.5 226,-5082.5"/>
-<text text-anchor="middle" x="305" y="-5089.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::CompilationConfigNode</text>
-</a>
-</g>
+<path fill="none" stroke="#191970" d="M85.1204,-3606.9435C101.5325,-3899.0946 292.9168,-7305.9079 304.4559,-7511.3148"/>
+<polygon fill="#191970" stroke="#191970" points="88.5951,-3606.3947 84.5397,-3596.6068 81.6062,-3606.7874 88.5951,-3606.3947"/>
</g>
-<!-- Node0->Node411 -->
-<g id="edge415" class="edge">
-<title>Node0->Node411</title>
-<path fill="none" stroke="#191970" d="M84.2818,-3694.0651C86.7594,-3857.4261 107.0932,-4965.8427 204,-5073 209.9838,-5079.6167 217.483,-5084.3736 225.6774,-5087.7447"/>
-<polygon fill="#191970" stroke="#191970" points="87.7748,-3693.5544 84.1285,-3683.6068 80.7756,-3693.6571 87.7748,-3693.5544"/>
-</g>
-<!-- Node412 -->
-<g id="node421" class="node">
-<title>Node412</title>
-<g id="a_node421"><a xlink:href="structtvm_1_1ConstantInfoNode.html" target="_top" xlink:title="tvm::ConstantInfoNode">
-<polygon fill="#ffffff" stroke="#000000" points="240,-5044.5 240,-5063.5 370,-5063.5 370,-5044.5 240,-5044.5"/>
-<text text-anchor="middle" x="305" y="-5051.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ConstantInfoNode</text>
+<!-- Node337 -->
+<g id="node346" class="node">
+<title>Node337</title>
+<g id="a_node346"><a xlink:href="classtvm_1_1BaseExprNode.html" target="_top" xlink:title="Base type of all the expressions. ">
+<polygon fill="#ffffff" stroke="#000000" points="248.5,-5032.5 248.5,-5051.5 361.5,-5051.5 361.5,-5032.5 248.5,-5032.5"/>
+<text text-anchor="middle" x="305" y="-5039.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseExprNode</text>
</a>
</g>
</g>
-<!-- Node0->Node412 -->
-<g id="edge416" class="edge">
-<title>Node0->Node412</title>
-<path fill="none" stroke="#191970" d="M84.3314,-3694.0151C87.1738,-3854.6751 109.6792,-4930.9511 204,-5035 213.347,-5045.311 226.3744,-5051.1026 239.9718,-5054.1716"/>
-<polygon fill="#191970" stroke="#191970" points="87.8256,-3693.6416 84.1541,-3683.7033 80.8266,-3693.762 87.8256,-3693.6416"/>
+<!-- Node0->Node337 -->
+<g id="edge341" class="edge">
+<title>Node0->Node337</title>
+<path fill="none" stroke="#191970" d="M84.2356,-3607.0937C86.3644,-3772.9855 104.57,-4912.8098 204,-5023 215.2359,-5035.4518 231.8379,-5041.321 248.3504,-5043.7629"/>
+<polygon fill="#191970" stroke="#191970" points="87.7326,-3606.8162 84.1092,-3596.8602 80.7331,-3606.9027 87.7326,-3606.8162"/>
</g>
<!-- Node413 -->
<g id="node422" class="node">
<title>Node413</title>
-<g id="a_node422"><a xlink:href="structtvm_1_1ConstantMemoryPoolsNode.html" target="_top" xlink:title="tvm::ConstantMemoryPoolsNode">
-<polygon fill="#ffffff" stroke="#000000" points="216.5,-5006.5 216.5,-5025.5 393.5,-5025.5 393.5,-5006.5 216.5,-5006.5"/>
-<text text-anchor="middle" x="305" y="-5013.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ConstantMemoryPoolsNode</text>
+<g id="a_node422"><a xlink:href="classtvm_1_1CompilationConfigNode.html" target="_top" xlink:title="Gathers the Targets and distinguished VirtualDevices in canonical form needed to compile a Relay modu...">
+<polygon fill="#ffffff" stroke="#000000" points="226,-4994.5 226,-5013.5 384,-5013.5 384,-4994.5 226,-4994.5"/>
+<text text-anchor="middle" x="305" y="-5001.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::CompilationConfigNode</text>
</a>
</g>
</g>
<!-- Node0->Node413 -->
<g id="edge417" class="edge">
<title>Node0->Node413</title>
-<path fill="none" stroke="#191970" d="M84.3831,-3693.9432C87.597,-3851.7985 112.2597,-4896.0528 204,-4997 207.6,-5000.9613 211.7432,-5004.255 216.253,-5006.9833"/>
-<polygon fill="#191970" stroke="#191970" points="87.8794,-3693.7147 84.1814,-3683.7862 80.8807,-3693.8537 87.8794,-3693.7147"/>
+<path fill="none" stroke="#191970" d="M84.2829,-3607.0508C86.7691,-3770.2954 107.1587,-4877.9217 204,-4985 209.984,-4991.6166 217.4833,-4996.3733 225.6778,-4999.7443"/>
+<polygon fill="#191970" stroke="#191970" points="87.776,-3606.5473 84.129,-3596.6 80.7767,-3606.6505 87.776,-3606.5473"/>
</g>
<!-- Node414 -->
<g id="node423" class="node">
<title>Node414</title>
-<g id="a_node423"><a xlink:href="classtvm_1_1DiagnosticContextNode.html" target="_top" xlink:title="tvm::DiagnosticContextNode">
-<polygon fill="#ffffff" stroke="#000000" points="226,-4968.5 226,-4987.5 384,-4987.5 384,-4968.5 226,-4968.5"/>
-<text text-anchor="middle" x="305" y="-4975.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticContextNode</text>
+<g id="a_node423"><a xlink:href="structtvm_1_1ConstantInfoNode.html" target="_top" xlink:title="tvm::ConstantInfoNode">
+<polygon fill="#ffffff" stroke="#000000" points="240,-4956.5 240,-4975.5 370,-4975.5 370,-4956.5 240,-4956.5"/>
+<text text-anchor="middle" x="305" y="-4963.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ConstantInfoNode</text>
</a>
</g>
</g>
<!-- Node0->Node414 -->
<g id="edge418" class="edge">
<title>Node0->Node414</title>
-<path fill="none" stroke="#191970" d="M84.4367,-3693.835C88.0274,-3848.7358 114.8319,-4861.1449 204,-4959 210.0087,-4965.5941 217.5231,-4970.3372 225.7258,-4973.7007"/>
-<polygon fill="#191970" stroke="#191970" points="87.9284,-3693.424 84.2026,-3683.5059 80.9302,-3693.5826 87.9284,-3693.424"/>
+<path fill="none" stroke="#191970" d="M84.3325,-3607.0004C87.1836,-3767.5427 109.7446,-4843.0299 204,-4947 213.3473,-4957.3107 226.3749,-4963.1022 239.9723,-4966.1711"/>
+<polygon fill="#191970" stroke="#191970" points="87.8268,-3606.6343 84.1547,-3596.6962 80.8278,-3606.7551 87.8268,-3606.6343"/>
</g>
<!-- Node415 -->
<g id="node424" class="node">
<title>Node415</title>
-<g id="a_node424"><a xlink:href="classtvm_1_1DiagnosticNode.html" target="_top" xlink:title="A compiler diagnostic message. ">
-<polygon fill="#ffffff" stroke="#000000" points="245.5,-4930.5 245.5,-4949.5 364.5,-4949.5 364.5,-4930.5 245.5,-4930.5"/>
-<text text-anchor="middle" x="305" y="-4937.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticNode</text>
+<g id="a_node424"><a xlink:href="structtvm_1_1ConstantMemoryPoolsNode.html" target="_top" xlink:title="tvm::ConstantMemoryPoolsNode">
+<polygon fill="#ffffff" stroke="#000000" points="216.5,-4918.5 216.5,-4937.5 393.5,-4937.5 393.5,-4918.5 216.5,-4918.5"/>
+<text text-anchor="middle" x="305" y="-4925.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ConstantMemoryPoolsNode</text>
</a>
</g>
</g>
<!-- Node0->Node415 -->
<g id="edge419" class="edge">
<title>Node0->Node415</title>
-<path fill="none" stroke="#191970" d="M84.4928,-3693.7178C88.4679,-3845.6083 117.4011,-4826.2332 204,-4921 214.5917,-4932.5907 229.8362,-4938.4579 245.2831,-4941.1669"/>
-<polygon fill="#191970" stroke="#191970" points="87.9877,-3693.4712 84.2324,-3683.5643 80.99,-3693.6508 87.9877,-3693.4712"/>
+<path fill="none" stroke="#191970" d="M84.3842,-3606.9281C87.6069,-3764.6645 112.325,-4808.1316 204,-4909 207.6001,-4912.9611 211.7435,-4916.2548 216.2533,-4918.983"/>
+<polygon fill="#191970" stroke="#191970" points="87.8806,-3606.707 84.182,-3596.7788 80.882,-3606.8466 87.8806,-3606.707"/>
</g>
<!-- Node416 -->
<g id="node425" class="node">
<title>Node416</title>
-<g id="a_node425"><a xlink:href="classtvm_1_1DiagnosticRendererNode.html" target="_top" xlink:title="Display diagnostics in a given display format. ">
-<polygon fill="#ffffff" stroke="#000000" points="223.5,-4892.5 223.5,-4911.5 386.5,-4911.5 386.5,-4892.5 223.5,-4892.5"/>
-<text text-anchor="middle" x="305" y="-4899.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticRendererNode</text>
+<g id="a_node425"><a xlink:href="classtvm_1_1DiagnosticContextNode.html" target="_top" xlink:title="tvm::DiagnosticContextNode">
+<polygon fill="#ffffff" stroke="#000000" points="226,-4880.5 226,-4899.5 384,-4899.5 384,-4880.5 226,-4880.5"/>
+<text text-anchor="middle" x="305" y="-4887.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticContextNode</text>
</a>
</g>
</g>
<!-- Node0->Node416 -->
<g id="edge420" class="edge">
<title>Node0->Node416</title>
-<path fill="none" stroke="#191970" d="M84.5644,-3694.0269C88.9793,-3844.2567 120.0489,-4791.4067 204,-4883 209.4251,-4888.9189 216.0637,-4893.3441 223.3216,-4896.6177"/>
-<polygon fill="#191970" stroke="#191970" points="88.0508,-3693.5027 84.2638,-3683.6078 81.0537,-3693.7046 88.0508,-3693.5027"/>
+<path fill="none" stroke="#191970" d="M84.4491,-3607.3011C88.0929,-3763.6851 114.989,-4773.3244 204,-4871 210.009,-4877.5939 217.5235,-4882.3368 225.7263,-4885.7003"/>
+<polygon fill="#191970" stroke="#191970" points="87.9379,-3606.7649 84.2109,-3596.8472 80.9397,-3606.9244 87.9379,-3606.7649"/>
</g>
<!-- Node417 -->
<g id="node426" class="node">
<title>Node417</title>
-<g id="a_node426"><a xlink:href="classtvm_1_1EnvFuncNode.html" target="_top" xlink:title="A serializable function backed by TVM's global environment. ">
-<polygon fill="#ffffff" stroke="#000000" points="251.5,-4854.5 251.5,-4873.5 358.5,-4873.5 358.5,-4854.5 251.5,-4854.5"/>
-<text text-anchor="middle" x="305" y="-4861.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::EnvFuncNode</text>
+<g id="a_node426"><a xlink:href="classtvm_1_1DiagnosticNode.html" target="_top" xlink:title="A compiler diagnostic message. ">
+<polygon fill="#ffffff" stroke="#000000" points="245.5,-4842.5 245.5,-4861.5 364.5,-4861.5 364.5,-4842.5 245.5,-4842.5"/>
+<text text-anchor="middle" x="305" y="-4849.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticNode</text>
</a>
</g>
</g>
<!-- Node0->Node417 -->
<g id="edge421" class="edge">
<title>Node0->Node417</title>
-<path fill="none" stroke="#191970" d="M84.6262,-3693.8528C89.4413,-3840.8162 122.6042,-4756.4783 204,-4845 216.0163,-4858.0683 233.9495,-4863.8483 251.3848,-4866.0313"/>
-<polygon fill="#191970" stroke="#191970" points="88.1173,-3693.518 84.297,-3683.6359 81.1209,-3693.7435 88.1173,-3693.518"/>
+<path fill="none" stroke="#191970" d="M84.494,-3606.702C88.478,-3758.4711 117.4663,-4738.3118 204,-4833 214.5921,-4844.5903 229.8368,-4850.4574 245.2837,-4853.1664"/>
+<polygon fill="#191970" stroke="#191970" points="87.9891,-3606.4633 84.2329,-3596.5567 80.9914,-3606.6434 87.9891,-3606.4633"/>
</g>
<!-- Node418 -->
<g id="node427" class="node">
<title>Node418</title>
-<g id="a_node427"><a xlink:href="classtvm_1_1GenericFuncNode.html" target="_top" xlink:title="Represents a generic function that can be specialized on a per-target basis. ">
-<polygon fill="#ffffff" stroke="#000000" points="241.5,-4816.5 241.5,-4835.5 368.5,-4835.5 368.5,-4816.5 241.5,-4816.5"/>
-<text text-anchor="middle" x="305" y="-4823.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::GenericFuncNode</text>
+<g id="a_node427"><a xlink:href="classtvm_1_1DiagnosticRendererNode.html" target="_top" xlink:title="Display diagnostics in a given display format. ">
+<polygon fill="#ffffff" stroke="#000000" points="223.5,-4804.5 223.5,-4823.5 386.5,-4823.5 386.5,-4804.5 223.5,-4804.5"/>
+<text text-anchor="middle" x="305" y="-4811.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticRendererNode</text>
</a>
</g>
</g>
<!-- Node0->Node418 -->
<g id="edge422" class="edge">
<title>Node0->Node418</title>
-<path fill="none" stroke="#191970" d="M84.6904,-3693.6542C89.9119,-3837.2513 125.1538,-4721.5431 204,-4807 213.7397,-4817.5563 227.341,-4823.3524 241.4122,-4826.3382"/>
-<polygon fill="#191970" stroke="#191970" points="88.1878,-3693.5163 84.3319,-3683.648 81.1922,-3693.7669 88.1878,-3693.5163"/>
+<path fill="none" stroke="#191970" d="M84.5656,-3607.0104C88.9897,-3757.1163 120.114,-4703.4851 204,-4795 209.4253,-4800.9187 216.0641,-4805.3437 223.3221,-4808.6173"/>
+<polygon fill="#191970" stroke="#191970" points="88.0522,-3606.4945 84.2644,-3596.5999 81.0551,-3606.697 88.0522,-3606.4945"/>
</g>
<!-- Node419 -->
<g id="node428" class="node">
<title>Node419</title>
-<g id="a_node428"><a xlink:href="classtvm_1_1GlobalVarSupplyNode.html" target="_top" xlink:title="GlobalVarSupply can be used to generate unique GlobalVars. ">
-<polygon fill="#ffffff" stroke="#000000" points="231,-4778.5 231,-4797.5 379,-4797.5 379,-4778.5 231,-4778.5"/>
-<text text-anchor="middle" x="305" y="-4785.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::GlobalVarSupplyNode</text>
+<g id="a_node428"><a xlink:href="classtvm_1_1EnvFuncNode.html" target="_top" xlink:title="A serializable function backed by TVM's global environment. ">
+<polygon fill="#ffffff" stroke="#000000" points="251.5,-4766.5 251.5,-4785.5 358.5,-4785.5 358.5,-4766.5 251.5,-4766.5"/>
+<text text-anchor="middle" x="305" y="-4773.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::EnvFuncNode</text>
</a>
</g>
</g>
<!-- Node0->Node419 -->
<g id="edge423" class="edge">
<title>Node0->Node419</title>
-<path fill="none" stroke="#191970" d="M84.7739,-3693.8542C90.4659,-3835.2725 127.774,-4686.6836 204,-4769 211.2737,-4776.8548 220.6859,-4782.0714 230.8347,-4785.455"/>
-<polygon fill="#191970" stroke="#191970" points="88.2626,-3693.4969 84.3687,-3683.6436 81.2681,-3693.7746 88.2626,-3693.4969"/>
+<path fill="none" stroke="#191970" d="M84.6274,-3606.8359C89.4518,-3753.6742 122.6692,-4668.5567 204,-4757 216.0169,-4770.0678 233.9502,-4775.8476 251.3854,-4778.0307"/>
+<polygon fill="#191970" stroke="#191970" points="88.1188,-3606.5094 84.2976,-3596.6277 81.1225,-3606.7356 88.1188,-3606.5094"/>
</g>
<!-- Node420 -->
<g id="node429" class="node">
<title>Node420</title>
-<g id="a_node429"><a xlink:href="classtvm_1_1instrument_1_1PassInstrumentNode.html" target="_top" xlink:title="PassInstrumentNode forms an instrument implementation. It provides API for users to register callback...">
-<polygon fill="#ffffff" stroke="#000000" points="204,-4740.5 204,-4759.5 406,-4759.5 406,-4740.5 204,-4740.5"/>
-<text text-anchor="middle" x="305" y="-4747.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::instrument::PassInstrumentNode</text>
+<g id="a_node429"><a xlink:href="classtvm_1_1GenericFuncNode.html" target="_top" xlink:title="Represents a generic function that can be specialized on a per-target basis. ">
+<polygon fill="#ffffff" stroke="#000000" points="241.5,-4728.5 241.5,-4747.5 368.5,-4747.5 368.5,-4728.5 241.5,-4728.5"/>
+<text text-anchor="middle" x="305" y="-4735.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::GenericFuncNode</text>
</a>
</g>
</g>
<!-- Node0->Node420 -->
<g id="edge424" class="edge">
<title>Node0->Node420</title>
-<path fill="none" stroke="#191970" d="M84.8627,-3694.0113C91.0366,-3833.0432 130.3832,-4651.8109 204,-4731 207.4015,-4734.659 211.2672,-4737.7449 215.4548,-4740.3392"/>
-<polygon fill="#191970" stroke="#191970" points="88.3419,-3693.4592 84.4074,-3683.6221 81.3486,-3693.7658 88.3419,-3693.4592"/>
+<path fill="none" stroke="#191970" d="M84.6917,-3606.6369C89.9225,-3750.1077 125.2186,-4633.6213 204,-4719 213.7402,-4729.5558 227.3417,-4735.3518 241.4129,-4738.3376"/>
+<polygon fill="#191970" stroke="#191970" points="88.1894,-3606.5074 84.3326,-3596.6395 81.1939,-3606.7588 88.1894,-3606.5074"/>
</g>
<!-- Node421 -->
<g id="node430" class="node">
<title>Node421</title>
-<g id="a_node430"><a xlink:href="classtvm_1_1IRModuleNode.html" target="_top" xlink:title="IRModule that holds functions and type definitions. ">
-<polygon fill="#ffffff" stroke="#000000" points="248.5,-4702.5 248.5,-4721.5 361.5,-4721.5 361.5,-4702.5 248.5,-4702.5"/>
-<text text-anchor="middle" x="305" y="-4709.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::IRModuleNode</text>
+<g id="a_node430"><a xlink:href="classtvm_1_1GlobalVarSupplyNode.html" target="_top" xlink:title="GlobalVarSupply can be used to generate unique GlobalVars. ">
+<polygon fill="#ffffff" stroke="#000000" points="231,-4690.5 231,-4709.5 379,-4709.5 379,-4690.5 231,-4690.5"/>
+<text text-anchor="middle" x="305" y="-4697.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::GlobalVarSupplyNode</text>
</a>
</g>
</g>
<!-- Node0->Node421 -->
<g id="edge425" class="edge">
<title>Node0->Node421</title>
-<path fill="none" stroke="#191970" d="M84.9366,-3693.7136C91.5407,-3828.9816 132.9099,-4616.8485 204,-4693 215.3841,-4705.1946 231.9255,-4711.016 248.3383,-4713.4928"/>
-<polygon fill="#191970" stroke="#191970" points="88.4258,-3693.4027 84.4479,-3683.583 81.4339,-3693.7401 88.4258,-3693.4027"/>
+<path fill="none" stroke="#191970" d="M84.7753,-3606.8362C90.4766,-3748.1257 127.8387,-4598.7616 204,-4681 211.2741,-4688.8545 220.6865,-4694.0709 230.8354,-4697.4543"/>
+<polygon fill="#191970" stroke="#191970" points="88.2643,-3606.4877 84.3694,-3596.6348 81.2698,-3606.7661 88.2643,-3606.4877"/>
</g>
<!-- Node422 -->
<g id="node431" class="node">
<title>Node422</title>
-<g id="a_node431"><a xlink:href="classtvm_1_1MemoryInfoNode.html" target="_top" xlink:title="Memory information of special memory region. Use MemoryInfo as its container type. ">
-<polygon fill="#ffffff" stroke="#000000" points="242,-4664.5 242,-4683.5 368,-4683.5 368,-4664.5 242,-4664.5"/>
-<text text-anchor="middle" x="305" y="-4671.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::MemoryInfoNode</text>
+<g id="a_node431"><a xlink:href="classtvm_1_1instrument_1_1PassInstrumentNode.html" target="_top" xlink:title="PassInstrumentNode forms an instrument implementation. It provides API for users to register callback...">
+<polygon fill="#ffffff" stroke="#000000" points="204,-4652.5 204,-4671.5 406,-4671.5 406,-4652.5 204,-4652.5"/>
+<text text-anchor="middle" x="305" y="-4659.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::instrument::PassInstrumentNode</text>
</a>
</g>
</g>
<!-- Node0->Node422 -->
<g id="edge426" class="edge">
<title>Node0->Node422</title>
-<path fill="none" stroke="#191970" d="M85.044,-3693.7592C92.2132,-3826.1055 135.9128,-4580.7042 204,-4654 213.8543,-4664.6081 227.584,-4670.5056 241.7503,-4673.6113"/>
-<polygon fill="#191970" stroke="#191970" points="88.5251,-3693.3108 84.4951,-3683.5124 81.5351,-3693.6853 88.5251,-3693.3108"/>
+<path fill="none" stroke="#191970" d="M84.8641,-3606.9924C91.0476,-3745.8933 130.4478,-4563.8888 204,-4643 207.4017,-4646.6588 211.2675,-4649.7445 215.4553,-4652.3388"/>
+<polygon fill="#191970" stroke="#191970" points="88.3437,-3606.4497 84.408,-3596.613 81.3505,-3606.7571 88.3437,-3606.4497"/>
</g>
<!-- Node423 -->
<g id="node432" class="node">
<title>Node423</title>
-<g id="a_node432"><a xlink:href="classtvm_1_1meta__schedule_1_1ArgInfoNode.html" target="_top" xlink:title="The argument information. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-4615 247,-4645 363,-4645 363,-4615 247,-4615"/>
-<text text-anchor="start" x="255" y="-4633" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4622" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ArgInfoNode</text>
+<g id="a_node432"><a xlink:href="classtvm_1_1IRModuleNode.html" target="_top" xlink:title="IRModule that holds functions and type definitions. ">
+<polygon fill="#ffffff" stroke="#000000" points="248.5,-4614.5 248.5,-4633.5 361.5,-4633.5 361.5,-4614.5 248.5,-4614.5"/>
+<text text-anchor="middle" x="305" y="-4621.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::IRModuleNode</text>
</a>
</g>
</g>
<!-- Node0->Node423 -->
<g id="edge427" class="edge">
<title>Node0->Node423</title>
-<path fill="none" stroke="#191970" d="M85.2296,-3693.9172C93.3505,-3822.6675 140.8962,-4534.2259 204,-4605 214.9396,-4617.2694 230.864,-4623.9749 246.847,-4627.5219"/>
-<polygon fill="#191970" stroke="#191970" points="88.7019,-3693.3626 84.5851,-3683.6003 81.7155,-3693.7991 88.7019,-3693.3626"/>
+<path fill="none" stroke="#191970" d="M84.9381,-3606.6943C91.5518,-3741.83 132.9744,-4528.9263 204,-4605 215.3848,-4617.194 231.9264,-4623.0152 248.3392,-4625.4921"/>
+<polygon fill="#191970" stroke="#191970" points="88.4277,-3606.3928 84.4486,-3596.5736 81.4358,-3606.731 88.4277,-3606.3928"/>
+</g>
+<!-- Node424 -->
+<g id="node433" class="node">
+<title>Node424</title>
+<g id="a_node433"><a xlink:href="classtvm_1_1MemoryInfoNode.html" target="_top" xlink:title="Memory information of special memory region. Use MemoryInfo as its container type. ">
+<polygon fill="#ffffff" stroke="#000000" points="242,-4576.5 242,-4595.5 368,-4595.5 368,-4576.5 242,-4576.5"/>
+<text text-anchor="middle" x="305" y="-4583.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::MemoryInfoNode</text>
+</a>
+</g>
+</g>
+<!-- Node0->Node424 -->
+<g id="edge428" class="edge">
+<title>Node0->Node424</title>
+<path fill="none" stroke="#191970" d="M85.0455,-3606.7391C92.2244,-3738.9509 135.9768,-4492.782 204,-4566 213.8549,-4576.6075 227.5849,-4582.5047 241.7512,-4585.6104"/>
+<polygon fill="#191970" stroke="#191970" points="88.5271,-3606.3006 84.4958,-3596.5027 81.5372,-3606.676 88.5271,-3606.3006"/>
</g>
<!-- Node425 -->
<g id="node434" class="node">
<title>Node425</title>
-<g id="a_node434"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderInputNode.html" target="_top" xlink:title="The builder's input, containing an IRModule and the target. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-4566 247,-4596 363,-4596 363,-4566 247,-4566"/>
-<text text-anchor="start" x="255" y="-4584" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4573" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuilderInputNode</text>
+<g id="a_node434"><a xlink:href="classtvm_1_1meta__schedule_1_1ArgInfoNode.html" target="_top" xlink:title="The argument information. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-4527 247,-4557 363,-4557 363,-4527 247,-4527"/>
+<text text-anchor="start" x="255" y="-4545" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4534" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ArgInfoNode</text>
</a>
</g>
</g>
<!-- Node0->Node425 -->
<g id="edge429" class="edge">
<title>Node0->Node425</title>
-<path fill="none" stroke="#191970" d="M85.359,-3693.6423C94.1096,-3817.6765 144.051,-4489.2386 204,-4556 214.9827,-4568.2308 230.9196,-4574.9252 246.9008,-4578.4738"/>
-<polygon fill="#191970" stroke="#191970" points="88.8502,-3693.3931 84.6608,-3683.6617 81.8673,-3693.8816 88.8502,-3693.3931"/>
+<path fill="none" stroke="#191970" d="M85.2312,-3606.8959C93.3617,-3735.5083 140.958,-4446.305 204,-4517 214.9405,-4529.2686 230.8651,-4535.974 246.8481,-4539.5209"/>
+<polygon fill="#191970" stroke="#191970" points="88.704,-3606.3517 84.5858,-3596.59 81.7177,-3606.7892 88.704,-3606.3517"/>
</g>
-<!-- Node426 -->
-<g id="node435" class="node">
-<title>Node426</title>
-<g id="a_node435"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderNode.html" target="_top" xlink:title="The abstract builder interface. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-4517 247,-4547 363,-4547 363,-4517 247,-4517"/>
-<text text-anchor="start" x="255" y="-4535" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4524" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuilderNode</text>
+<!-- Node427 -->
+<g id="node436" class="node">
+<title>Node427</title>
+<g id="a_node436"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderInputNode.html" target="_top" xlink:title="The builder's input, containing an IRModule and the target. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-4478 247,-4508 363,-4508 363,-4478 247,-4478"/>
+<text text-anchor="start" x="255" y="-4496" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4485" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuilderInputNode</text>
</a>
</g>
</g>
-<!-- Node0->Node426 -->
-<g id="edge430" class="edge">
-<title>Node0->Node426</title>
-<path fill="none" stroke="#191970" d="M85.5239,-3693.6569C94.9943,-3813.6413 147.248,-4444.2957 204,-4507 215.0307,-4519.1876 230.9814,-4525.8695 246.9605,-4529.42"/>
-<polygon fill="#191970" stroke="#191970" points="89.0124,-3693.3721 84.7422,-3683.6759 82.0338,-3693.9187 89.0124,-3693.3721"/>
+<!-- Node0->Node427 -->
+<g id="edge431" class="edge">
+<title>Node0->Node427</title>
+<path fill="none" stroke="#191970" d="M85.3872,-3606.9961C94.2218,-3731.8646 144.173,-4401.3847 204,-4468 214.9837,-4480.23 230.9208,-4486.9241 246.9019,-4490.4728"/>
+<polygon fill="#191970" stroke="#191970" points="88.8527,-3606.3814 84.6616,-3596.6508 81.8699,-3606.8712 88.8527,-3606.3814"/>
</g>
<!-- Node428 -->
<g id="node437" class="node">
<title>Node428</title>
-<g id="a_node437"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderResultNode.html" target="_top" xlink:title="The builder's output, containing the artifact path or error message if any. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-4468 247,-4498 363,-4498 363,-4468 247,-4468"/>
-<text text-anchor="start" x="255" y="-4486" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4475" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuilderResultNode</text>
+<g id="a_node437"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderNode.html" target="_top" xlink:title="The abstract builder interface. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-4429 247,-4459 363,-4459 363,-4429 247,-4429"/>
+<text text-anchor="start" x="255" y="-4447" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4436" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuilderNode</text>
</a>
</g>
</g>
<!-- Node0->Node428 -->
<g id="edge432" class="edge">
<title>Node0->Node428</title>
-<path fill="none" stroke="#191970" d="M84.1683,-3693.8689C85.5113,-3804.2626 97.5067,-4341.374 204,-4458 215.0233,-4470.0722 230.8751,-4476.7333 246.7639,-4480.3004"/>
-<polygon fill="#191970" stroke="#191970" points="87.6647,-3693.5048 84.0598,-3683.5422 80.6651,-3693.5784 87.6647,-3693.5048"/>
+<path fill="none" stroke="#191970" d="M85.5544,-3606.9974C95.1115,-3727.7437 147.3666,-4356.4374 204,-4419 215.0317,-4431.1867 230.9827,-4437.8683 246.9618,-4441.4188"/>
+<polygon fill="#191970" stroke="#191970" points="89.0152,-3606.3597 84.7431,-3596.6643 82.0366,-3606.9076 89.0152,-3606.3597"/>
</g>
-<!-- Node429 -->
-<g id="node438" class="node">
-<title>Node429</title>
-<g id="a_node438"><a xlink:href="classtvm_1_1meta__schedule_1_1CostModelNode.html" target="_top" xlink:title="Cost model. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-4419 247,-4449 363,-4449 363,-4419 247,-4419"/>
-<text text-anchor="start" x="255" y="-4437" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4426" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CostModelNode</text>
+<!-- Node430 -->
+<g id="node439" class="node">
+<title>Node430</title>
+<g id="a_node439"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderResultNode.html" target="_top" xlink:title="The builder's output, containing the artifact path or error message if any. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-4380 247,-4410 363,-4410 363,-4380 247,-4380"/>
+<text text-anchor="start" x="255" y="-4398" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4387" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuilderResultNode</text>
</a>
</g>
</g>
-<!-- Node0->Node429 -->
-<g id="edge433" class="edge">
-<title>Node0->Node429</title>
-<path fill="none" stroke="#191970" d="M84.3918,-3693.9519C86.8898,-3800.3775 103.8799,-4300.4437 204,-4409 215.0833,-4421.0172 230.9526,-4427.6622 246.8391,-4431.2314"/>
-<polygon fill="#191970" stroke="#191970" points="87.8852,-3693.6054 84.1684,-3683.6839 80.8869,-3693.7577 87.8852,-3693.6054"/>
+<!-- Node0->Node430 -->
+<g id="edge434" class="edge">
+<title>Node0->Node430</title>
+<path fill="none" stroke="#191970" d="M84.1722,-3606.8438C85.5366,-3717.0979 97.6283,-4253.5295 204,-4370 215.0245,-4382.0711 230.8766,-4388.7319 246.7653,-4392.2991"/>
+<polygon fill="#191970" stroke="#191970" points="87.6687,-3606.492 84.0617,-3596.5301 80.6691,-3606.567 87.6687,-3606.492"/>
</g>
<!-- Node431 -->
<g id="node440" class="node">
<title>Node431</title>
-<g id="a_node440"><a xlink:href="classtvm_1_1meta__schedule_1_1DatabaseNode.html" target="_top" xlink:title="tvm::meta_schedule\l::DatabaseNode">
-<polygon fill="#ffffff" stroke="#000000" points="247,-4370 247,-4400 363,-4400 363,-4370 247,-4370"/>
-<text text-anchor="start" x="255" y="-4388" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4377" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DatabaseNode</text>
+<g id="a_node440"><a xlink:href="classtvm_1_1meta__schedule_1_1CostModelNode.html" target="_top" xlink:title="Cost model. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-4331 247,-4361 363,-4361 363,-4331 247,-4331"/>
+<text text-anchor="start" x="255" y="-4349" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4338" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CostModelNode</text>
</a>
</g>
</g>
<!-- Node0->Node431 -->
<g id="edge435" class="edge">
<title>Node0->Node431</title>
-<path fill="none" stroke="#191970" d="M84.6317,-3693.5747C88.3007,-3794.9363 110.0953,-4259.3339 204,-4360 215.1512,-4371.9541 231.0405,-4378.5807 246.9242,-4382.1524"/>
-<polygon fill="#191970" stroke="#191970" points="88.1274,-3693.3882 84.2852,-3683.5147 81.1316,-3693.6293 88.1274,-3693.3882"/>
+<path fill="none" stroke="#191970" d="M84.396,-3606.9249C86.9158,-3713.207 104.0009,-4212.5984 204,-4321 215.0846,-4333.016 230.9543,-4339.6606 246.8407,-4343.2299"/>
+<polygon fill="#191970" stroke="#191970" points="87.8896,-3606.5914 84.1705,-3596.6709 80.8913,-3606.7455 87.8896,-3606.5914"/>
</g>
<!-- Node433 -->
<g id="node442" class="node">
<title>Node433</title>
-<g id="a_node442"><a xlink:href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html" target="_top" xlink:title="A tuning task extracted from the high-level IR. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-4321 247,-4351 363,-4351 363,-4321 247,-4321"/>
-<text text-anchor="start" x="255" y="-4339" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4328" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ExtractedTaskNode</text>
+<g id="a_node442"><a xlink:href="classtvm_1_1meta__schedule_1_1DatabaseNode.html" target="_top" xlink:title="tvm::meta_schedule\l::DatabaseNode">
+<polygon fill="#ffffff" stroke="#000000" points="247,-4282 247,-4312 363,-4312 363,-4282 247,-4282"/>
+<text text-anchor="start" x="255" y="-4300" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4289" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DatabaseNode</text>
</a>
</g>
</g>
<!-- Node0->Node433 -->
<g id="edge437" class="edge">
<title>Node0->Node433</title>
-<path fill="none" stroke="#191970" d="M84.939,-3693.9941C89.9345,-3791.7542 116.5377,-4218.456 204,-4311 215.1668,-4322.8156 230.9652,-4329.4133 246.7584,-4333.0015"/>
-<polygon fill="#191970" stroke="#191970" points="88.4221,-3693.5631 84.4343,-3683.7474 81.4306,-3693.9075 88.4221,-3693.5631"/>
+<path fill="none" stroke="#191970" d="M84.6361,-3606.5465C88.3273,-3707.7616 110.2157,-4171.4879 204,-4272 215.1527,-4283.9528 231.0424,-4290.5789 246.9261,-4294.1507"/>
+<polygon fill="#191970" stroke="#191970" points="88.1323,-3606.3735 84.2873,-3596.501 81.1365,-3606.6164 88.1323,-3606.3735"/>
</g>
-<!-- Node434 -->
-<g id="node443" class="node">
-<title>Node434</title>
-<g id="a_node443"><a xlink:href="classtvm_1_1meta__schedule_1_1FeatureExtractorNode.html" target="_top" xlink:title="Extractor for features from measure candidates for use in cost model. ">
-<polygon fill="#ffffff" stroke="#000000" points="241,-4272 241,-4302 369,-4302 369,-4272 241,-4272"/>
-<text text-anchor="start" x="249" y="-4290" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4279" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::FeatureExtractorNode</text>
+<!-- Node435 -->
+<g id="node444" class="node">
+<title>Node435</title>
+<g id="a_node444"><a xlink:href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html" target="_top" xlink:title="A tuning task extracted from the high-level IR. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-4233 247,-4263 363,-4263 363,-4233 247,-4233"/>
+<text text-anchor="start" x="255" y="-4251" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4240" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ExtractedTaskNode</text>
</a>
</g>
</g>
-<!-- Node0->Node434 -->
-<g id="edge438" class="edge">
-<title>Node0->Node434</title>
-<path fill="none" stroke="#191970" d="M85.2735,-3693.9204C91.6185,-3786.9164 122.8097,-4177.3828 204,-4262 213.8176,-4272.2319 227.1111,-4278.5395 240.8257,-4282.3674"/>
-<polygon fill="#191970" stroke="#191970" points="88.7618,-3693.6267 84.6074,-3683.8803 81.7771,-3694.0901 88.7618,-3693.6267"/>
+<!-- Node0->Node435 -->
+<g id="edge439" class="edge">
+<title>Node0->Node435</title>
+<path fill="none" stroke="#191970" d="M84.9439,-3606.9631C89.9622,-3704.571 116.6571,-4130.6088 204,-4223 215.1685,-4234.814 230.9674,-4241.4112 246.7605,-4244.9995"/>
+<polygon fill="#191970" stroke="#191970" points="88.4276,-3606.5467 84.4367,-3596.7323 81.4362,-3606.8933 88.4276,-3606.5467"/>
</g>
<!-- Node436 -->
<g id="node445" class="node">
<title>Node436</title>
-<g id="a_node445"><a xlink:href="classtvm_1_1meta__schedule_1_1MeasureCallbackNode.html" target="_top" xlink:title="Rules to apply after measure results is available. ">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-4223 239.5,-4253 370.5,-4253 370.5,-4223 239.5,-4223"/>
-<text text-anchor="start" x="247.5" y="-4241" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4230" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureCallbackNode</text>
+<g id="a_node445"><a xlink:href="classtvm_1_1meta__schedule_1_1FeatureExtractorNode.html" target="_top" xlink:title="Extractor for features from measure candidates for use in cost model. ">
+<polygon fill="#ffffff" stroke="#000000" points="241,-4184 241,-4214 369,-4214 369,-4184 241,-4184"/>
+<text text-anchor="start" x="249" y="-4202" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4191" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::FeatureExtractorNode</text>
</a>
</g>
</g>
<!-- Node0->Node436 -->
<g id="edge440" class="edge">
<title>Node0->Node436</title>
-<path fill="none" stroke="#191970" d="M85.6713,-3693.9189C93.4665,-3782.0918 129.0797,-4136.2914 204,-4213 213.5293,-4222.7567 226.2227,-4228.933 239.385,-4232.7921"/>
-<polygon fill="#191970" stroke="#191970" points="89.1539,-3693.5649 84.8056,-3683.9035 82.1799,-3694.1677 89.1539,-3693.5649"/>
+<path fill="none" stroke="#191970" d="M85.2787,-3606.8869C91.6471,-3699.7262 122.9282,-4089.5344 204,-4174 213.8193,-4184.2303 227.1134,-4190.5373 240.8281,-4194.3651"/>
+<polygon fill="#191970" stroke="#191970" points="88.768,-3606.6085 84.61,-3596.8637 81.7835,-3607.0745 88.768,-3606.6085"/>
</g>
<!-- Node438 -->
<g id="node447" class="node">
<title>Node438</title>
-<g id="a_node447"><a xlink:href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.html" target="_top" xlink:title="The schedule (with input shapes) to be measured. ">
-<polygon fill="#ffffff" stroke="#000000" points="235.5,-4174 235.5,-4204 374.5,-4204 374.5,-4174 235.5,-4174"/>
-<text text-anchor="start" x="243.5" y="-4192" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4181" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureCandidateNode</text>
+<g id="a_node447"><a xlink:href="classtvm_1_1meta__schedule_1_1MeasureCallbackNode.html" target="_top" xlink:title="Rules to apply after measure results is available. ">
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-4135 239.5,-4165 370.5,-4165 370.5,-4135 239.5,-4135"/>
+<text text-anchor="start" x="247.5" y="-4153" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4142" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureCallbackNode</text>
</a>
</g>
</g>
<!-- Node0->Node438 -->
<g id="edge442" class="edge">
<title>Node0->Node438</title>
-<path fill="none" stroke="#191970" d="M86.1476,-3693.9289C95.5011,-3777.0711 135.3248,-4095.1545 204,-4164 212.6112,-4172.6325 223.7031,-4178.4508 235.3689,-4182.3388"/>
-<polygon fill="#191970" stroke="#191970" points="89.6064,-3693.3624 85.0302,-3683.8069 82.6487,-3694.1305 89.6064,-3693.3624"/>
+<path fill="none" stroke="#191970" d="M85.6769,-3606.8823C93.4961,-3694.8933 129.197,-4048.4418 204,-4125 213.5312,-4134.7549 226.2254,-4140.9304 239.3878,-4144.7893"/>
+<polygon fill="#191970" stroke="#191970" points="89.1609,-3606.5448 84.8085,-3596.8853 82.1871,-3607.1507 89.1609,-3606.5448"/>
</g>
-<!-- Node439 -->
-<g id="node448" class="node">
-<title>Node439</title>
-<g id="a_node448"><a xlink:href="classtvm_1_1meta__schedule_1_1MutatorNode.html" target="_top" xlink:title="Mutator is designed to mutate the trace to explore the design space. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-4125 247,-4155 363,-4155 363,-4125 247,-4125"/>
-<text text-anchor="start" x="255" y="-4143" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4132" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MutatorNode</text>
+<!-- Node440 -->
+<g id="node449" class="node">
+<title>Node440</title>
+<g id="a_node449"><a xlink:href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.html" target="_top" xlink:title="The schedule (with input shapes) to be measured. ">
+<polygon fill="#ffffff" stroke="#000000" points="235.5,-4086 235.5,-4116 374.5,-4116 374.5,-4086 235.5,-4086"/>
+<text text-anchor="start" x="243.5" y="-4104" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4093" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureCandidateNode</text>
</a>
</g>
</g>
-<!-- Node0->Node439 -->
-<g id="edge443" class="edge">
-<title>Node0->Node439</title>
-<path fill="none" stroke="#191970" d="M86.7188,-3693.8826C97.7423,-3771.6503 141.5208,-4053.9433 204,-4115 215.4982,-4126.2364 231.2089,-4132.6816 246.8134,-4136.3089"/>
-<polygon fill="#191970" stroke="#191970" points="90.1299,-3693.0012 85.282,-3683.5806 83.197,-3693.9682 90.1299,-3693.0012"/>
+<!-- Node0->Node440 -->
+<g id="edge444" class="edge">
+<title>Node0->Node440</title>
+<path fill="none" stroke="#191970" d="M86.1537,-3606.8887C95.5318,-3689.8629 135.4408,-4007.3033 204,-4076 212.6132,-4084.6305 223.7061,-4090.4478 235.3722,-4094.3355"/>
+<polygon fill="#191970" stroke="#191970" points="89.6144,-3606.3402 85.0333,-3596.7871 82.6571,-3607.112 89.6144,-3606.3402"/>
</g>
<!-- Node441 -->
<g id="node450" class="node">
<title>Node441</title>
-<g id="a_node450"><a xlink:href="classtvm_1_1meta__schedule_1_1PostprocNode.html" target="_top" xlink:title="Rules to apply a postprocessor to a schedule. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-4076 247,-4106 363,-4106 363,-4076 247,-4076"/>
-<text text-anchor="start" x="255" y="-4094" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4083" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PostprocNode</text>
+<g id="a_node450"><a xlink:href="classtvm_1_1meta__schedule_1_1MutatorNode.html" target="_top" xlink:title="Mutator is designed to mutate the trace to explore the design space. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-4037 247,-4067 363,-4067 363,-4037 247,-4037"/>
+<text text-anchor="start" x="255" y="-4055" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4044" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MutatorNode</text>
</a>
</g>
</g>
<!-- Node0->Node441 -->
<g id="edge445" class="edge">
<title>Node0->Node441</title>
-<path fill="none" stroke="#191970" d="M87.3675,-3693.5048C100.1192,-3765.1759 147.5889,-4012.578 204,-4066 215.6075,-4076.9925 231.2601,-4083.3725 246.7738,-4087.0153"/>
-<polygon fill="#191970" stroke="#191970" points="90.7994,-3692.8116 85.6229,-3683.5675 83.9048,-3694.0221 90.7994,-3692.8116"/>
+<path fill="none" stroke="#191970" d="M86.7255,-3606.838C97.7743,-3684.4312 141.6352,-3966.0901 204,-4027 215.5014,-4038.2331 231.2131,-4044.6773 246.8175,-4048.3047"/>
+<polygon fill="#191970" stroke="#191970" points="90.1391,-3605.9767 85.2853,-3596.5591 83.2068,-3606.948 90.1391,-3605.9767"/>
</g>
<!-- Node443 -->
<g id="node452" class="node">
<title>Node443</title>
-<g id="a_node452"><a xlink:href="classtvm_1_1meta__schedule_1_1ProfilerNode.html" target="_top" xlink:title="A generic profiler. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-4027 247,-4057 363,-4057 363,-4027 247,-4027"/>
-<text text-anchor="start" x="255" y="-4045" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4034" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProfilerNode</text>
+<g id="a_node452"><a xlink:href="classtvm_1_1meta__schedule_1_1PostprocNode.html" target="_top" xlink:title="Rules to apply a postprocessor to a schedule. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-3988 247,-4018 363,-4018 363,-3988 247,-3988"/>
+<text text-anchor="start" x="255" y="-4006" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-3995" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PostprocNode</text>
</a>
</g>
</g>
<!-- Node0->Node443 -->
<g id="edge447" class="edge">
<title>Node0->Node443</title>
-<path fill="none" stroke="#191970" d="M84.6978,-3693.8152C87.8821,-3752.5893 105.5887,-3927.4211 204,-4017 215.7555,-4027.7004 231.3636,-4033.9984 246.7867,-4037.6562"/>
-<polygon fill="#191970" stroke="#191970" points="88.187,-3693.4975 84.2349,-3683.6674 81.1943,-3693.8166 88.187,-3693.4975"/>
-</g>
-<!-- Node444 -->
-<g id="node453" class="node">
-<title>Node444</title>
-<g id="a_node453"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerFutureNode.html" target="_top" xlink:title="A class to asynchronously fetch runner's output. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-3978 247,-4008 363,-4008 363,-3978 247,-3978"/>
-<text text-anchor="start" x="255" y="-3996" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-3985" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerFutureNode</text>
-</a>
-</g>
-</g>
-<!-- Node0->Node444 -->
-<g id="edge448" class="edge">
-<title>Node0->Node444</title>
-<path fill="none" stroke="#191970" d="M85.9914,-3693.763C92.4254,-3746.7922 117.5566,-3893.2533 204,-3968 215.9561,-3978.3383 231.5384,-3984.53 246.8713,-3988.2019"/>
-<polygon fill="#191970" stroke="#191970" points="89.4517,-3693.2125 84.8602,-3683.6642 82.4952,-3693.9917 89.4517,-3693.2125"/>
+<path fill="none" stroke="#191970" d="M87.3748,-3606.4556C100.1523,-3677.9458 147.7014,-3924.7227 204,-3978 215.6115,-3988.9883 231.2653,-3995.367 246.7788,-3999.01"/>
+<polygon fill="#191970" stroke="#191970" points="90.8103,-3605.7834 85.6266,-3596.5433 83.9167,-3606.9993 90.8103,-3605.7834"/>
</g>
<!-- Node445 -->
<g id="node454" class="node">
<title>Node445</title>
-<g id="a_node454"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerInputNode.html" target="_top" xlink:title="Runner's input containing path of artifact, type of device and argument info. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-3929 247,-3959 363,-3959 363,-3929 247,-3929"/>
-<text text-anchor="start" x="255" y="-3947" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-3936" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerInputNode</text>
+<g id="a_node454"><a xlink:href="classtvm_1_1meta__schedule_1_1ProfilerNode.html" target="_top" xlink:title="A generic profiler. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-3939 247,-3969 363,-3969 363,-3939 247,-3939"/>
+<text text-anchor="start" x="255" y="-3957" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-3946" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProfilerNode</text>
</a>
</g>
</g>
<!-- Node0->Node445 -->
<g id="edge449" class="edge">
<title>Node0->Node445</title>
-<path fill="none" stroke="#191970" d="M87.7118,-3693.5426C97.6318,-3740.1994 129.2595,-3858.6842 204,-3919 216.1596,-3928.8129 231.6332,-3934.8486 246.7929,-3938.5395"/>
-<polygon fill="#191970" stroke="#191970" points="91.1017,-3692.6473 85.6887,-3683.5396 84.2406,-3694.035 91.1017,-3692.6473"/>
+<path fill="none" stroke="#191970" d="M84.7178,-3606.7589C87.9578,-3665.3659 105.8036,-3839.6985 204,-3929 215.7603,-3939.6951 231.37,-3945.9914 246.793,-3949.6493"/>
+<polygon fill="#191970" stroke="#191970" points="88.208,-3606.4658 84.245,-3596.64 81.2156,-3606.7925 88.208,-3606.4658"/>
</g>
<!-- Node446 -->
<g id="node455" class="node">
<title>Node446</title>
-<g id="a_node455"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerNode.html" target="_top" xlink:title="The abstract runner interface. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-3880 247,-3910 363,-3910 363,-3880 247,-3880"/>
-<text text-anchor="start" x="255" y="-3898" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-3887" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerNode</text>
+<g id="a_node455"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerFutureNode.html" target="_top" xlink:title="A class to asynchronously fetch runner's output. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-3890 247,-3920 363,-3920 363,-3890 247,-3890"/>
+<text text-anchor="start" x="255" y="-3908" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-3897" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerFutureNode</text>
</a>
</g>
</g>
<!-- Node0->Node446 -->
<g id="edge450" class="edge">
<title>Node0->Node446</title>
-<path fill="none" stroke="#191970" d="M90.0901,-3693.068C103.7284,-3732.5811 140.601,-3823.577 204,-3870 216.4611,-3879.1245 231.8647,-3884.9428 246.8553,-3888.6454"/>
-<polygon fill="#191970" stroke="#191970" points="93.407,-3691.9505 86.9222,-3683.5721 86.7668,-3694.1658 93.407,-3691.9505"/>
+<path fill="none" stroke="#191970" d="M86.0139,-3606.6974C92.5043,-3659.5503 117.7641,-3805.5227 204,-3880 215.9622,-3890.3311 231.5465,-3896.5206 246.8793,-3900.1927"/>
+<polygon fill="#191970" stroke="#191970" points="89.477,-3606.1737 84.8717,-3596.6322 82.5217,-3606.9631 89.477,-3606.1737"/>
+</g>
+<!-- Node447 -->
+<g id="node456" class="node">
+<title>Node447</title>
+<g id="a_node456"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerInputNode.html" target="_top" xlink:title="Runner's input containing path of artifact, type of device and argument info. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-3841 247,-3871 363,-3871 363,-3841 247,-3841"/>
+<text text-anchor="start" x="255" y="-3859" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-3848" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerInputNode</text>
+</a>
+</g>
+</g>
+<!-- Node0->Node447 -->
+<g id="edge451" class="edge">
+<title>Node0->Node447</title>
+<path fill="none" stroke="#191970" d="M87.7374,-3606.4645C97.7139,-3652.9344 129.4569,-3770.943 204,-3831 216.1676,-3840.803 231.6437,-3846.8356 246.8034,-3850.5265"/>
+<polygon fill="#191970" stroke="#191970" points="91.1328,-3605.5984 85.7018,-3596.5015 84.2745,-3606.9997 91.1328,-3605.5984"/>
</g>
<!-- Node448 -->
<g id="node457" class="node">
<title>Node448</title>
-<g id="a_node457"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerResultNode.html" target="_top" xlink:title="Runner's output containing measurement result of MeasureCandidate or error msg if any...">
-<polygon fill="#ffffff" stroke="#000000" points="247,-3831 247,-3861 363,-3861 363,-3831 247,-3831"/>
-<text text-anchor="start" x="255" y="-3849" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-3838" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerResultNode</text>
+<g id="a_node457"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerNode.html" target="_top" xlink:title="The abstract runner interface. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-3792 247,-3822 363,-3822 363,-3792 247,-3792"/>
+<text text-anchor="start" x="255" y="-3810" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-3799" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerNode</text>
</a>
</g>
</g>
<!-- Node0->Node448 -->
<g id="edge452" class="edge">
<title>Node0->Node448</title>
-<path fill="none" stroke="#191970" d="M93.914,-3692.7502C111.6167,-3724.3331 151.7574,-3787.9244 204,-3821 216.8203,-3829.1167 232.1015,-3834.5985 246.8484,-3838.3006"/>
-<polygon fill="#191970" stroke="#191970" points="96.835,-3690.7965 88.9679,-3683.6999 90.6924,-3694.1535 96.835,-3690.7965"/>
+<path fill="none" stroke="#191970" d="M90.2072,-3606.2241C103.9704,-3645.6715 140.9183,-3735.9197 204,-3782 216.4715,-3791.1103 231.8786,-3796.9238 246.8692,-3800.6265"/>
+<polygon fill="#191970" stroke="#191970" points="93.4484,-3604.8821 86.9376,-3596.5239 86.8151,-3607.118 93.4484,-3604.8821"/>
</g>
-<!-- Node449 -->
-<g id="node458" class="node">
-<title>Node449</title>
-<g id="a_node458"><a xlink:href="classtvm_1_1meta__schedule_1_1ScheduleRuleNode.html" target="_top" xlink:title="Rules to modify a block in a schedule. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-3782 247,-3812 363,-3812 363,-3782 247,-3782"/>
-<text text-anchor="start" x="255" y="-3800" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-3789" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ScheduleRuleNode</text>
+<!-- Node450 -->
+<g id="node459" class="node">
+<title>Node450</title>
+<g id="a_node459"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerResultNode.html" target="_top" xlink:title="Runner's output containing measurement result of MeasureCandidate or error msg if any...">
+<polygon fill="#ffffff" stroke="#000000" points="247,-3743 247,-3773 363,-3773 363,-3743 247,-3743"/>
+<text text-anchor="start" x="255" y="-3761" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-3750" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerResultNode</text>
</a>
</g>
</g>
-<!-- Node0->Node449 -->
-<g id="edge453" class="edge">
-<title>Node0->Node449</title>
-<path fill="none" stroke="#191970" d="M99.9555,-3691.0663C121.4856,-3713.0711 162.0051,-3750.998 204,-3772 217.248,-3778.6255 232.3717,-3783.5715 246.8101,-3787.2342"/>
-<polygon fill="#191970" stroke="#191970" points="102.3679,-3688.5253 92.9151,-3683.7404 97.3208,-3693.3758 102.3679,-3688.5253"/>
+<!-- Node0->Node450 -->
+<g id="edge454" class="edge">
+<title>Node0->Node450</title>
+<path fill="none" stroke="#191970" d="M93.9478,-3605.622C111.701,-3636.9891 151.9153,-3700.1464 204,-3733 216.8338,-3741.0952 232.1197,-3746.5696 246.8668,-3750.2715"/>
+<polygon fill="#191970" stroke="#191970" points="96.8831,-3603.6971 88.9864,-3596.6336 90.7547,-3607.0798 96.8831,-3603.6971"/>
</g>
<!-- Node451 -->
<g id="node460" class="node">
<title>Node451</title>
-<g id="a_node460"><a xlink:href="classtvm_1_1meta__schedule_1_1SearchStrategyNode.html" target="_top" xlink:title="The search strategy for measure candidates generation. ">
-<polygon fill="#ffffff" stroke="#000000" points="244,-3733 244,-3763 366,-3763 366,-3733 244,-3733"/>
-<text text-anchor="start" x="252" y="-3751" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-3740" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchStrategyNode</text>
+<g id="a_node460"><a xlink:href="classtvm_1_1meta__schedule_1_1ScheduleRuleNode.html" target="_top" xlink:title="Rules to modify a block in a schedule. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-3694 247,-3724 363,-3724 363,-3694 247,-3694"/>
+<text text-anchor="start" x="255" y="-3712" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-3701" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ScheduleRuleNode</text>
</a>
</g>
</g>
<!-- Node0->Node451 -->
<g id="edge455" class="edge">
<title>Node0->Node451</title>
-<path fill="none" stroke="#191970" d="M114.1755,-3687.7474C138.1735,-3698.3308 172.7852,-3712.8232 204,-3723 216.7948,-3727.1714 230.6963,-3731.0322 243.9768,-3734.4098"/>
-<polygon fill="#191970" stroke="#191970" points="115.4566,-3684.4866 104.8974,-3683.617 112.6096,-3690.8815 115.4566,-3684.4866"/>
+<path fill="none" stroke="#191970" d="M99.9915,-3603.8849C121.561,-3625.6573 162.1237,-3663.1885 204,-3684 217.2646,-3690.5922 232.3942,-3695.5263 246.8331,-3699.1881"/>
+<polygon fill="#191970" stroke="#191970" points="102.4198,-3601.3617 92.937,-3596.6366 97.4035,-3606.244 102.4198,-3601.3617"/>
</g>
<!-- Node453 -->
<g id="node462" class="node">
<title>Node453</title>
-<g id="a_node462"><a xlink:href="classtvm_1_1meta__schedule_1_1SpaceGeneratorNode.html" target="_top" xlink:title="The abstract class for design space generation. ">
-<polygon fill="#ffffff" stroke="#000000" points="242,-3684 242,-3714 368,-3714 368,-3684 242,-3684"/>
-<text text-anchor="start" x="250" y="-3702" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-3691" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SpaceGeneratorNode</text>
+<g id="a_node462"><a xlink:href="classtvm_1_1meta__schedule_1_1SearchStrategyNode.html" target="_top" xlink:title="The search strategy for measure candidates generation. ">
+<polygon fill="#ffffff" stroke="#000000" points="244,-3645 244,-3675 366,-3675 366,-3645 244,-3645"/>
+<text text-anchor="start" x="252" y="-3663" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-3652" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchStrategyNode</text>
</a>
</g>
</g>
<!-- Node0->Node453 -->
<g id="edge457" class="edge">
<title>Node0->Node453</title>
-<path fill="none" stroke="#191970" d="M153.4313,-3681.8542C181.6957,-3685.0515 214.1396,-3688.7217 241.7396,-3691.8438"/>
-<polygon fill="#191970" stroke="#191970" points="153.554,-3678.3459 143.2239,-3680.6995 152.7671,-3685.3015 153.554,-3678.3459"/>
+<path fill="none" stroke="#191970" d="M114.6407,-3600.6172C138.637,-3610.9477 173.027,-3625.0246 204,-3635 216.8096,-3639.1256 230.7174,-3642.9672 243.9992,-3646.3407"/>
+<polygon fill="#191970" stroke="#191970" points="115.9168,-3597.3556 105.3502,-3596.5812 113.1275,-3603.7759 115.9168,-3597.3556"/>
</g>
<!-- Node455 -->
<g id="node464" class="node">
<title>Node455</title>
-<g id="a_node464"><a xlink:href="classtvm_1_1meta__schedule_1_1TaskRecordNode.html" target="_top" xlink:title="tvm::meta_schedule\l::TaskRecordNode">
-<polygon fill="#ffffff" stroke="#000000" points="247,-3635 247,-3665 363,-3665 363,-3635 247,-3635"/>
-<text text-anchor="start" x="255" y="-3653" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-3642" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TaskRecordNode</text>
+<g id="a_node464"><a xlink:href="classtvm_1_1meta__schedule_1_1SpaceGeneratorNode.html" target="_top" xlink:title="The abstract class for design space generation. ">
+<polygon fill="#ffffff" stroke="#000000" points="242,-3596 242,-3626 368,-3626 368,-3596 242,-3596"/>
+<text text-anchor="start" x="250" y="-3614" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-3603" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SpaceGeneratorNode</text>
</a>
</g>
</g>
<!-- Node0->Node455 -->
<g id="edge459" class="edge">
<title>Node0->Node455</title>
-<path fill="none" stroke="#191970" d="M153.2158,-3666.4834C183.2628,-3663.2203 218.0662,-3659.4408 246.761,-3656.3246"/>
-<polygon fill="#191970" stroke="#191970" points="152.7876,-3663.0092 143.2239,-3667.5684 153.5434,-3669.9683 152.7876,-3663.0092"/>
+<path fill="none" stroke="#191970" d="M153.4313,-3594.5401C181.6957,-3597.6095 214.1396,-3601.1328 241.7396,-3604.1301"/>
+<polygon fill="#191970" stroke="#191970" points="153.5434,-3591.0317 143.2239,-3593.4316 152.7876,-3597.9908 153.5434,-3591.0317"/>
</g>
-<!-- Node456 -->
-<g id="node465" class="node">
-<title>Node456</title>
-<g id="a_node465"><a xlink:href="classtvm_1_1meta__schedule_1_1TaskSchedulerNode.html" target="_top" xlink:title="The abstract interface of task schedulers. ">
-<polygon fill="#ffffff" stroke="#000000" points="246,-3586 246,-3616 364,-3616 364,-3586 246,-3586"/>
-<text text-anchor="start" x="254" y="-3604" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-3593" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TaskSchedulerNode</text>
+<!-- Node457 -->
+<g id="node466" class="node">
+<title>Node457</title>
+<g id="a_node466"><a xlink:href="classtvm_1_1meta__schedule_1_1TaskRecordNode.html" target="_top" xlink:title="tvm::meta_schedule\l::TaskRecordNode">
+<polygon fill="#ffffff" stroke="#000000" points="247,-3547 247,-3577 363,-3577 363,-3547 247,-3547"/>
+<text text-anchor="start" x="255" y="-3565" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-3554" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TaskRecordNode</text>
</a>
</g>
</g>
-<!-- Node0->Node456 -->
-<g id="edge460" class="edge">
-<title>Node0->Node456</title>
-<path fill="none" stroke="#191970" d="M114.1493,-3660.1716C138.1329,-3649.5435 172.7379,-3635.0308 204,-3625 217.3858,-3620.705 231.9908,-3616.7993 245.8296,-3613.4443"/>
-<polygon fill="#191970" stroke="#191970" points="112.5752,-3657.0415 104.8775,-3664.3214 115.4349,-3663.4307 112.5752,-3657.0415"/>
+<!-- Node0->Node457 -->
+<g id="edge461" class="edge">
+<title>Node0->Node457</title>
+<path fill="none" stroke="#191970" d="M153.2158,-3579.1702C183.2628,-3575.7712 218.0662,-3571.8341 246.761,-3568.5881"/>
+<polygon fill="#191970" stroke="#191970" points="152.7671,-3575.6985 143.2239,-3580.3005 153.554,-3582.6541 152.7671,-3575.6985"/>
</g>
<!-- Node458 -->
<g id="node467" class="node">
<title>Node458</title>
-<g id="a_node467"><a xlink:href="classtvm_1_1meta__schedule_1_1TuneContextNode.html" target="_top" xlink:title="The auto tuning context. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-3537 247,-3567 363,-3567 363,-3537 247,-3537"/>
-<text text-anchor="start" x="255" y="-3555" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-3544" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TuneContextNode</text>
+<g id="a_node467"><a xlink:href="classtvm_1_1meta__schedule_1_1TaskSchedulerNode.html" target="_top" xlink:title="The abstract interface of task schedulers. ">
+<polygon fill="#ffffff" stroke="#000000" points="246,-3498 246,-3528 364,-3528 364,-3498 246,-3498"/>
+<text text-anchor="start" x="254" y="-3516" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-3505" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TaskSchedulerNode</text>
</a>
</g>
</g>
<!-- Node0->Node458 -->
<g id="edge462" class="edge">
<title>Node0->Node458</title>
-<path fill="none" stroke="#191970" d="M99.9259,-3656.8741C121.4234,-3634.8038 161.9074,-3596.8054 204,-3576 217.2488,-3569.4514 232.3727,-3564.6356 246.8111,-3561.1144"/>
-<polygon fill="#191970" stroke="#191970" points="97.2795,-3654.5773 92.897,-3664.2232 102.3382,-3659.4156 97.2795,-3654.5773"/>
-</g>
-<!-- Node459 -->
-<g id="node468" class="node">
-<title>Node459</title>
-<g id="a_node468"><a xlink:href="classtvm_1_1meta__schedule_1_1TuningRecordNode.html" target="_top" xlink:title="The class of tuning records. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-3488 247,-3518 363,-3518 363,-3488 247,-3488"/>
-<text text-anchor="start" x="255" y="-3506" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-3495" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TuningRecordNode</text>
-</a>
-</g>
-</g>
-<!-- Node0->Node459 -->
-<g id="edge463" class="edge">
-<title>Node0->Node459</title>
-<path fill="none" stroke="#191970" d="M93.8811,-3655.1976C111.5345,-3623.5363 151.6033,-3559.831 204,-3527 216.829,-3518.9616 232.1132,-3513.6144 246.8602,-3510.0578"/>
-<polygon fill="#191970" stroke="#191970" points="90.6497,-3653.8139 88.9499,-3664.2715 96.8001,-3657.1563 90.6497,-3653.8139"/>
+<path fill="none" stroke="#191970" d="M113.2567,-3573.245C137.2506,-3562.3474 172.3047,-3547.2944 204,-3537 217.3704,-3532.6574 231.9695,-3528.7331 245.8073,-3525.3752"/>
+<polygon fill="#191970" stroke="#191970" points="111.6359,-3570.1377 104.0067,-3577.4894 114.5553,-3576.4999 111.6359,-3570.1377"/>
</g>
<!-- Node460 -->
<g id="node469" class="node">
<title>Node460</title>
-<g id="a_node469"><a xlink:href="classtvm_1_1meta__schedule_1_1WorkloadNode.html" target="_top" xlink:title="A workload, i.e. an IRModule and its structural hash. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-3439 247,-3469 363,-3469 363,-3439 247,-3439"/>
-<text text-anchor="start" x="255" y="-3457" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-3446" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::WorkloadNode</text>
+<g id="a_node469"><a xlink:href="classtvm_1_1meta__schedule_1_1TuneContextNode.html" target="_top" xlink:title="The auto tuning context. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-3449 247,-3479 363,-3479 363,-3449 247,-3449"/>
+<text text-anchor="start" x="255" y="-3467" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-3456" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TuneContextNode</text>
</a>
</g>
</g>
<!-- Node0->Node460 -->
<g id="edge464" class="edge">
<title>Node0->Node460</title>
-<path fill="none" stroke="#191970" d="M90.0556,-3654.8846C103.6286,-3615.2819 140.3847,-3524.1261 204,-3478 216.4753,-3468.9544 231.8837,-3463.2739 246.8742,-3459.7197"/>
-<polygon fill="#191970" stroke="#191970" points="86.7247,-3653.8096 86.9041,-3664.403 93.3699,-3656.0099 86.7247,-3653.8096"/>
+<path fill="none" stroke="#191970" d="M99.5624,-3570.0328C120.9343,-3547.7821 161.5718,-3509.1029 204,-3488 217.2324,-3481.4185 232.3505,-3476.5908 246.7885,-3473.0688"/>
+<polygon fill="#191970" stroke="#191970" points="96.9068,-3567.7474 92.5926,-3577.4241 101.9996,-3572.5498 96.9068,-3567.7474"/>
</g>
<!-- Node461 -->
<g id="node470" class="node">
<title>Node461</title>
-<g id="a_node470"><a xlink:href="classtvm_1_1NameSupplyNode.html" target="_top" xlink:title="NameSupply can be used to generate unique names. ">
-<polygon fill="#ffffff" stroke="#000000" points="240,-3400.5 240,-3419.5 370,-3419.5 370,-3400.5 240,-3400.5"/>
-<text text-anchor="middle" x="305" y="-3407.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::NameSupplyNode</text>
+<g id="a_node470"><a xlink:href="classtvm_1_1meta__schedule_1_1TuningRecordNode.html" target="_top" xlink:title="The class of tuning records. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-3400 247,-3430 363,-3430 363,-3400 247,-3400"/>
+<text text-anchor="start" x="255" y="-3418" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-3407" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TuningRecordNode</text>
</a>
</g>
</g>
<!-- Node0->Node461 -->
<g id="edge465" class="edge">
<title>Node0->Node461</title>
-<path fill="none" stroke="#191970" d="M87.4344,-3654.4784C96.804,-3607.4162 127.4182,-3487.2958 204,-3429 214.3638,-3421.1108 227.0297,-3416.176 239.8421,-3413.1521"/>
-<polygon fill="#191970" stroke="#191970" points="83.9925,-3653.8434 85.5779,-3664.319 90.8712,-3655.1412 83.9925,-3653.8434"/>
+<path fill="none" stroke="#191970" d="M93.8471,-3568.0693C111.4494,-3536.1921 151.4439,-3472.0524 204,-3439 216.8156,-3430.9403 232.0952,-3425.5858 246.8421,-3422.0289"/>
+<polygon fill="#191970" stroke="#191970" points="90.5876,-3566.7405 88.9313,-3577.2051 96.7519,-3570.0574 90.5876,-3566.7405"/>
</g>
<!-- Node462 -->
<g id="node471" class="node">
<title>Node462</title>
-<g id="a_node471"><a xlink:href="classtvm_1_1ObjectPathNode.html" target="_top" xlink:title="Path to an object from some root object. ">
-<polygon fill="#ffffff" stroke="#000000" points="245,-3362.5 245,-3381.5 365,-3381.5 365,-3362.5 245,-3362.5"/>
-<text text-anchor="middle" x="305" y="-3369.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ObjectPathNode</text>
+<g id="a_node471"><a xlink:href="classtvm_1_1meta__schedule_1_1WorkloadNode.html" target="_top" xlink:title="A workload, i.e. an IRModule and its structural hash. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-3351 247,-3381 363,-3381 363,-3351 247,-3351"/>
+<text text-anchor="start" x="255" y="-3369" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-3358" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::WorkloadNode</text>
</a>
</g>
</g>
<!-- Node0->Node462 -->
<g id="edge466" class="edge">
<title>Node0->Node462</title>
-<path fill="none" stroke="#191970" d="M86.0655,-3654.3464C92.6445,-3602.3106 118.0264,-3460.2179 204,-3391 215.5352,-3381.713 230.2074,-3376.4507 244.77,-3373.5797"/>
-<polygon fill="#191970" stroke="#191970" points="82.5889,-3653.9432 84.9045,-3664.2819 89.5416,-3654.7558 82.5889,-3653.9432"/>
+<path fill="none" stroke="#191970" d="M90.0262,-3567.7884C103.5438,-3527.9861 140.2009,-3436.3696 204,-3390 216.4651,-3380.9403 231.87,-3375.2551 246.8606,-3371.7009"/>
+<polygon fill="#191970" stroke="#191970" points="86.6795,-3566.7619 86.8886,-3577.3547 93.3309,-3568.9435 86.6795,-3566.7619"/>
</g>
-<!-- Node470 -->
-<g id="node479" class="node">
-<title>Node470</title>
-<g id="a_node479"><a xlink:href="classtvm_1_1ObjectPathPairNode.html" target="_top" xlink:title="Pair of ObjectPaths, one for each object being tested for structural equality. ">
-<polygon fill="#ffffff" stroke="#000000" points="236,-3324.5 236,-3343.5 374,-3343.5 374,-3324.5 236,-3324.5"/>
-<text text-anchor="middle" x="305" y="-3331.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ObjectPathPairNode</text>
+<!-- Node463 -->
+<g id="node472" class="node">
+<title>Node463</title>
+<g id="a_node472"><a xlink:href="classtvm_1_1NameSupplyNode.html" target="_top" xlink:title="NameSupply can be used to generate unique names. ">
+<polygon fill="#ffffff" stroke="#000000" points="240,-3312.5 240,-3331.5 370,-3331.5 370,-3312.5 240,-3312.5"/>
+<text text-anchor="middle" x="305" y="-3319.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::NameSupplyNode</text>
</a>
</g>
</g>
-<!-- Node0->Node470 -->
-<g id="edge474" class="edge">
-<title>Node0->Node470</title>
-<path fill="none" stroke="#191970" d="M84.9957,-3654.0689C88.9755,-3597.2287 108.5982,-3433.2739 204,-3353 213.0788,-3345.3608 224.2562,-3340.4084 235.8292,-3337.2623"/>
-<polygon fill="#191970" stroke="#191970" points="81.4914,-3654.0346 84.3762,-3664.2291 88.4784,-3654.4607 81.4914,-3654.0346"/>
+<!-- Node0->Node463 -->
+<g id="edge467" class="edge">
+<title>Node0->Node463</title>
+<path fill="none" stroke="#191970" d="M87.4082,-3567.4007C96.7194,-3520.1509 127.2131,-3399.5495 204,-3341 214.3575,-3333.1025 227.0206,-3328.1641 239.8324,-3325.1393"/>
+<polygon fill="#191970" stroke="#191970" points="83.9585,-3566.8081 85.5643,-3577.2805 90.8397,-3568.0924 83.9585,-3566.8081"/>
</g>
-<!-- Node471 -->
-<g id="node480" class="node">
-<title>Node471</title>
-<g id="a_node480"><a xlink:href="structtvm_1_1PoolInfoNode.html" target="_top" xlink:title="Describes a pool of memory accessible by one or more targets. ">
-<polygon fill="#ffffff" stroke="#000000" points="251.5,-3286.5 251.5,-3305.5 358.5,-3305.5 358.5,-3286.5 251.5,-3286.5"/>
-<text text-anchor="middle" x="305" y="-3293.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PoolInfoNode</text>
+<!-- Node464 -->
+<g id="node473" class="node">
+<title>Node464</title>
+<g id="a_node473"><a xlink:href="classtvm_1_1ObjectPathNode.html" target="_top" xlink:title="Path to an object from some root object. ">
+<polygon fill="#ffffff" stroke="#000000" points="245,-3274.5 245,-3293.5 365,-3293.5 365,-3274.5 245,-3274.5"/>
+<text text-anchor="middle" x="305" y="-3281.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ObjectPathNode</text>
</a>
</g>
</g>
-<!-- Node0->Node471 -->
-<g id="edge475" class="edge">
-<title>Node0->Node471</title>
-<path fill="none" stroke="#191970" d="M87.869,-3654.2888C101.6504,-3586.0854 150.3938,-3361.7399 204,-3315 216.9776,-3303.6847 234.5227,-3298.2003 251.3479,-3295.7587"/>
-<polygon fill="#191970" stroke="#191970" points="84.4219,-3653.6786 85.8976,-3664.1702 91.2866,-3655.0482 84.4219,-3653.6786"/>
+<!-- Node0->Node464 -->
+<g id="edge468" class="edge">
+<title>Node0->Node464</title>
+<path fill="none" stroke="#191970" d="M86.0419,-3567.2789C92.5625,-3515.0639 117.8128,-3372.4799 204,-3303 215.5293,-3293.7056 230.1995,-3288.4409 244.7619,-3285.5697"/>
+<polygon fill="#191970" stroke="#191970" points="82.5609,-3566.9135 84.8924,-3577.2486 89.5149,-3567.7153 82.5609,-3566.9135"/>
</g>
-<!-- Node474 -->
-<g id="node483" class="node">
-<title>Node474</title>
-<g id="a_node483"><a xlink:href="structtvm_1_1PoolInfoPropertiesNode.html" target="_top" xlink:title="Describes a pool of memory properties. ">
-<polygon fill="#ffffff" stroke="#000000" points="226.5,-3248.5 226.5,-3267.5 383.5,-3267.5 383.5,-3248.5 226.5,-3248.5"/>
-<text text-anchor="middle" x="305" y="-3255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PoolInfoPropertiesNode</text>
+<!-- Node472 -->
+<g id="node481" class="node">
+<title>Node472</title>
+<g id="a_node481"><a xlink:href="classtvm_1_1ObjectPathPairNode.html" target="_top" xlink:title="Pair of ObjectPaths, one for each object being tested for structural equality. ">
+<polygon fill="#ffffff" stroke="#000000" points="236,-3236.5 236,-3255.5 374,-3255.5 374,-3236.5 236,-3236.5"/>
+<text text-anchor="middle" x="305" y="-3243.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ObjectPathPairNode</text>
</a>
</g>
</g>
-<!-- Node0->Node474 -->
-<g id="edge478" class="edge">
-<title>Node0->Node474</title>
-<path fill="none" stroke="#191970" d="M87.2326,-3654.1428C99.5084,-3581.1919 145.5141,-3329.5092 204,-3277 210.5055,-3271.1593 218.2209,-3266.8584 226.4447,-3263.7218"/>
-<polygon fill="#191970" stroke="#191970" points="83.7383,-3653.8207 85.5553,-3664.2585 90.644,-3654.9658 83.7383,-3653.8207"/>
+<!-- Node0->Node472 -->
+<g id="edge476" class="edge">
+<title>Node0->Node472</title>
+<path fill="none" stroke="#191970" d="M84.948,-3567.3888C88.8092,-3510.7307 108.165,-3345.7219 204,-3265 213.0749,-3257.3562 224.2504,-3252.4015 235.8228,-3249.2547"/>
+<polygon fill="#191970" stroke="#191970" points="81.447,-3567.304 84.3506,-3577.4931 88.4348,-3567.7171 81.447,-3567.304"/>
</g>
-<!-- Node475 -->
-<g id="node484" class="node">
-<title>Node475</title>
-<g id="a_node484"><a xlink:href="classtvm_1_1PrinterConfigNode.html" target="_top" xlink:title="tvm::PrinterConfigNode">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-3210.5 239.5,-3229.5 370.5,-3229.5 370.5,-3210.5 239.5,-3210.5"/>
-<text text-anchor="middle" x="305" y="-3217.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PrinterConfigNode</text>
+<!-- Node473 -->
+<g id="node482" class="node">
+<title>Node473</title>
+<g id="a_node482"><a xlink:href="structtvm_1_1PoolInfoNode.html" target="_top" xlink:title="Describes a pool of memory accessible by one or more targets. ">
+<polygon fill="#ffffff" stroke="#000000" points="251.5,-3198.5 251.5,-3217.5 358.5,-3217.5 358.5,-3198.5 251.5,-3198.5"/>
+<text text-anchor="middle" x="305" y="-3205.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PoolInfoNode</text>
</a>
</g>
</g>
-<!-- Node0->Node475 -->
-<g id="edge479" class="edge">
-<title>Node0->Node475</title>
-<path fill="none" stroke="#191970" d="M86.6604,-3654.2808C97.4639,-3577.1675 140.5258,-3297.4 204,-3239 213.7821,-3229.9999 226.4244,-3224.629 239.4337,-3221.5373"/>
-<polygon fill="#191970" stroke="#191970" points="83.1506,-3654.113 85.2533,-3664.497 90.0851,-3655.0682 83.1506,-3654.113"/>
+<!-- Node0->Node473 -->
+<g id="edge477" class="edge">
+<title>Node0->Node473</title>
+<path fill="none" stroke="#191970" d="M87.8558,-3567.2596C101.6031,-3498.8983 150.2725,-3273.8852 204,-3227 216.9728,-3215.6793 234.5168,-3210.1936 251.3424,-3207.7524"/>
+<polygon fill="#191970" stroke="#191970" points="84.3399,-3566.9962 85.8263,-3577.4863 91.206,-3568.3589 84.3399,-3566.9962"/>
</g>
<!-- Node476 -->
<g id="node485" class="node">
<title>Node476</title>
-<g id="a_node485"><a xlink:href="classtvm_1_1RangeNode.html" target="_top" xlink:title="range over one dimension ">
-<polygon fill="#ffffff" stroke="#000000" points="256,-3172.5 256,-3191.5 354,-3191.5 354,-3172.5 256,-3172.5"/>
-<text text-anchor="middle" x="305" y="-3179.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::RangeNode</text>
+<g id="a_node485"><a xlink:href="structtvm_1_1PoolInfoPropertiesNode.html" target="_top" xlink:title="Describes a pool of memory properties. ">
+<polygon fill="#ffffff" stroke="#000000" points="226.5,-3160.5 226.5,-3179.5 383.5,-3179.5 383.5,-3160.5 226.5,-3160.5"/>
+<text text-anchor="middle" x="305" y="-3167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PoolInfoPropertiesNode</text>
</a>
</g>
</g>
<!-- Node0->Node476 -->
<g id="edge480" class="edge">
<title>Node0->Node476</title>
-<path fill="none" stroke="#191970" d="M86.2117,-3654.1561C95.6954,-3572.6986 135.582,-3265.2693 204,-3201 217.7848,-3188.0511 237.4703,-3182.568 255.8066,-3180.5881"/>
-<polygon fill="#191970" stroke="#191970" points="82.6901,-3654.1465 85.0333,-3664.479 89.645,-3654.9405 82.6901,-3654.1465"/>
+<path fill="none" stroke="#191970" d="M87.225,-3567.0934C99.4741,-3493.9609 145.3974,-3241.6508 204,-3189 210.5035,-3183.157 218.2176,-3178.8548 226.4407,-3175.7174"/>
+<polygon fill="#191970" stroke="#191970" points="83.7266,-3566.7978 85.5515,-3577.2343 90.6331,-3567.9377 83.7266,-3566.7978"/>
</g>
<!-- Node477 -->
<g id="node486" class="node">
<title>Node477</title>
-<g id="a_node486"><a xlink:href="classtvm_1_1relay_1_1ClauseNode.html" target="_top" xlink:title="Clause container node. ">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-3134.5 239.5,-3153.5 370.5,-3153.5 370.5,-3134.5 239.5,-3134.5"/>
-<text text-anchor="middle" x="305" y="-3141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ClauseNode</text>
+<g id="a_node486"><a xlink:href="classtvm_1_1PrinterConfigNode.html" target="_top" xlink:title="tvm::PrinterConfigNode">
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-3122.5 239.5,-3141.5 370.5,-3141.5 370.5,-3122.5 239.5,-3122.5"/>
+<text text-anchor="middle" x="305" y="-3129.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PrinterConfigNode</text>
</a>
</g>
</g>
<!-- Node0->Node477 -->
<g id="edge481" class="edge">
<title>Node0->Node477</title>
-<path fill="none" stroke="#191970" d="M85.8337,-3653.9406C94.0892,-3568.1338 130.6428,-3233.1487 204,-3163 213.6714,-3153.7516 226.3449,-3148.2914 239.4313,-3145.1935"/>
-<polygon fill="#191970" stroke="#191970" points="82.3259,-3653.8598 84.8738,-3664.1437 89.2951,-3654.5155 82.3259,-3653.8598"/>
+<path fill="none" stroke="#191970" d="M86.6535,-3567.236C97.4308,-3489.9475 140.4074,-3209.5435 204,-3151 213.7794,-3141.997 226.4206,-3136.625 239.4297,-3133.533"/>
+<polygon fill="#191970" stroke="#191970" points="83.1405,-3567.0927 85.2498,-3577.4755 90.0756,-3568.0435 83.1405,-3567.0927"/>
</g>
<!-- Node478 -->
<g id="node487" class="node">
<title>Node478</title>
-<g id="a_node487"><a xlink:href="structtvm_1_1relay_1_1ConstructorValueObj.html" target="_top" xlink:title="tvm::relay::ConstructorValueObj">
-<polygon fill="#ffffff" stroke="#000000" points="219,-3096.5 219,-3115.5 391,-3115.5 391,-3096.5 219,-3096.5"/>
-<text text-anchor="middle" x="305" y="-3103.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ConstructorValueObj</text>
+<g id="a_node487"><a xlink:href="classtvm_1_1RangeNode.html" target="_top" xlink:title="range over one dimension ">
+<polygon fill="#ffffff" stroke="#000000" points="256,-3084.5 256,-3103.5 354,-3103.5 354,-3084.5 256,-3084.5"/>
+<text text-anchor="middle" x="305" y="-3091.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::RangeNode</text>
</a>
</g>
</g>
<!-- Node0->Node478 -->
<g id="edge482" class="edge">
<title>Node0->Node478</title>
-<path fill="none" stroke="#191970" d="M85.4655,-3654.1868C92.4768,-3564.9239 125.5517,-3201.1867 204,-3125 208.3518,-3120.7736 213.3293,-3117.3347 218.6894,-3114.5487"/>
-<polygon fill="#191970" stroke="#191970" points="81.9652,-3654.0574 84.6921,-3664.2953 88.9448,-3654.5915 81.9652,-3654.0574"/>
+<path fill="none" stroke="#191970" d="M86.2052,-3567.1147C95.6633,-3485.4869 135.4623,-3177.4142 204,-3113 217.7815,-3100.0476 237.4665,-3094.5639 255.8032,-3092.5845"/>
+<polygon fill="#191970" stroke="#191970" points="82.6813,-3567.1279 85.0301,-3577.4591 89.6365,-3567.9181 82.6813,-3567.1279"/>
</g>
<!-- Node479 -->
<g id="node488" class="node">
<title>Node479</title>
-<g id="a_node488"><a xlink:href="classtvm_1_1relay_1_1DFPatternCallbackNode.html" target="_top" xlink:title="Base type of all dataflow pattern callbacks. ">
-<polygon fill="#ffffff" stroke="#000000" points="211.5,-3058.5 211.5,-3077.5 398.5,-3077.5 398.5,-3058.5 211.5,-3058.5"/>
-<text text-anchor="middle" x="305" y="-3065.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::DFPatternCallbackNode</text>
+<g id="a_node488"><a xlink:href="classtvm_1_1relay_1_1ClauseNode.html" target="_top" xlink:title="Clause container node. ">
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-3046.5 239.5,-3065.5 370.5,-3065.5 370.5,-3046.5 239.5,-3046.5"/>
+<text text-anchor="middle" x="305" y="-3053.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ClauseNode</text>
</a>
</g>
</g>
<!-- Node0->Node479 -->
<g id="edge483" class="edge">
<title>Node0->Node479</title>
-<path fill="none" stroke="#191970" d="M85.1755,-3654.0113C91.0772,-3560.711 120.5664,-3169.1335 204,-3087 207.6874,-3083.3701 211.8354,-3080.3188 216.2925,-3077.7615"/>
-<polygon fill="#191970" stroke="#191970" points="81.6765,-3653.8894 84.5579,-3664.0849 88.6634,-3654.3178 81.6765,-3653.8894"/>
+<path fill="none" stroke="#191970" d="M85.8024,-3567.1645C93.9834,-3481.6148 130.4469,-3145.3666 204,-3075 213.6694,-3065.7495 226.3421,-3060.2884 239.4283,-3057.1903"/>
+<polygon fill="#191970" stroke="#191970" points="82.3174,-3566.8421 84.8707,-3577.1247 89.287,-3567.4941 82.3174,-3566.8421"/>
</g>
<!-- Node480 -->
<g id="node489" class="node">
<title>Node480</title>
-<g id="a_node489"><a xlink:href="classtvm_1_1relay_1_1DFPatternNode.html" target="_top" xlink:title="Base type of all dataflow patterns. ">
-<polygon fill="#ffffff" stroke="#000000" points="232.5,-3020.5 232.5,-3039.5 377.5,-3039.5 377.5,-3020.5 232.5,-3020.5"/>
-<text text-anchor="middle" x="305" y="-3027.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::DFPatternNode</text>
+<g id="a_node489"><a xlink:href="structtvm_1_1relay_1_1ConstructorValueObj.html" target="_top" xlink:title="tvm::relay::ConstructorValueObj">
+<polygon fill="#ffffff" stroke="#000000" points="219,-3008.5 219,-3027.5 391,-3027.5 391,-3008.5 219,-3008.5"/>
+<text text-anchor="middle" x="305" y="-3015.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ConstructorValueObj</text>
</a>
</g>
</g>
<!-- Node0->Node480 -->
<g id="edge484" class="edge">
<title>Node0->Node480</title>
-<path fill="none" stroke="#191970" d="M84.8944,-3654.279C89.6782,-3557.869 115.4331,-3137.2357 204,-3049 211.8368,-3041.1925 221.8018,-3036.0523 232.4045,-3032.7454"/>
-<polygon fill="#191970" stroke="#191970" points="81.3929,-3654.2294 84.4122,-3664.3849 88.385,-3654.5631 81.3929,-3654.2294"/>
+<path fill="none" stroke="#191970" d="M85.4598,-3567.1511C92.4465,-3477.7274 125.4298,-3113.334 204,-3037 208.351,-3032.7728 213.3279,-3029.3333 218.6876,-3026.5468"/>
+<polygon fill="#191970" stroke="#191970" points="81.9582,-3567.0411 84.6893,-3577.2778 88.938,-3567.5722 81.9582,-3567.0411"/>
</g>
-<!-- Node497 -->
-<g id="node506" class="node">
-<title>Node497</title>
-<g id="a_node506"><a xlink:href="classtvm_1_1relay_1_1ExecutorNode.html" target="_top" xlink:title="Executor information. ">
-<polygon fill="#ffffff" stroke="#000000" points="235,-2932.5 235,-2951.5 375,-2951.5 375,-2932.5 235,-2932.5"/>
-<text text-anchor="middle" x="305" y="-2939.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ExecutorNode</text>
+<!-- Node481 -->
+<g id="node490" class="node">
+<title>Node481</title>
+<g id="a_node490"><a xlink:href="classtvm_1_1relay_1_1DFPatternCallbackNode.html" target="_top" xlink:title="Base type of all dataflow pattern callbacks. ">
+<polygon fill="#ffffff" stroke="#000000" points="211.5,-2970.5 211.5,-2989.5 398.5,-2989.5 398.5,-2970.5 211.5,-2970.5"/>
+<text text-anchor="middle" x="305" y="-2977.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::DFPatternCallbackNode</text>
</a>
</g>
</g>
-<!-- Node0->Node497 -->
-<g id="edge501" class="edge">
-<title>Node0->Node497</title>
-<path fill="none" stroke="#191970" d="M84.3977,-3653.8806C86.9002,-3548.7134 103.8098,-3063.1331 204,-2961 212.3714,-2952.4662 223.2791,-2947.0979 234.822,-2943.8227"/>
-<polygon fill="#191970" stroke="#191970" points="80.8946,-3653.9892 84.1734,-3664.0638 87.8929,-3654.1434 80.8946,-3653.9892"/>
+<!-- Node0->Node481 -->
+<g id="edge485" class="edge">
+<title>Node0->Node481</title>
+<path fill="none" stroke="#191970" d="M85.1701,-3566.9776C91.0476,-3473.52 120.4437,-3081.2817 204,-2999 207.6868,-2995.3695 211.8344,-2992.3177 216.291,-2989.76"/>
+<polygon fill="#191970" stroke="#191970" points="81.6701,-3566.8738 84.5552,-3577.0682 88.6571,-3567.2996 81.6701,-3566.8738"/>
</g>
-<!-- Node498 -->
-<g id="node507" class="node">
-<title>Node498</title>
-<g id="a_node507"><a xlink:href="classtvm_1_1relay_1_1IdNode.html" target="_top" xlink:title="The unique identifier of variables. ">
-<polygon fill="#ffffff" stroke="#000000" points="251.5,-2894.5 251.5,-2913.5 358.5,-2913.5 358.5,-2894.5 251.5,-2894.5"/>
-<text text-anchor="middle" x="305" y="-2901.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::IdNode</text>
+<!-- Node482 -->
+<g id="node491" class="node">
+<title>Node482</title>
+<g id="a_node491"><a xlink:href="classtvm_1_1relay_1_1DFPatternNode.html" target="_top" xlink:title="Base type of all dataflow patterns. ">
+<polygon fill="#ffffff" stroke="#000000" points="232.5,-2932.5 232.5,-2951.5 377.5,-2951.5 377.5,-2932.5 232.5,-2932.5"/>
+<text text-anchor="middle" x="305" y="-2939.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::DFPatternNode</text>
</a>
</g>
</g>
-<!-- Node0->Node498 -->
-<g id="edge502" class="edge">
-<title>Node0->Node498</title>
-<path fill="none" stroke="#191970" d="M84.2068,-3654.1885C85.7505,-3546.3884 98.6205,-3031.3179 204,-2923 216.2551,-2910.4032 234.0321,-2904.6871 251.2673,-2902.4218"/>
-<polygon fill="#191970" stroke="#191970" points="80.7056,-3654.2675 84.0792,-3664.3108 87.705,-3654.3557 80.7056,-3654.2675"/>
+<!-- Node0->Node482 -->
+<g id="edge486" class="edge">
+<title>Node0->Node482</title>
+<path fill="none" stroke="#191970" d="M84.8894,-3567.2477C89.6495,-3470.6851 115.3095,-3049.385 204,-2961 211.8357,-2953.1913 221.8,-2948.0506 232.4025,-2944.7434"/>
+<polygon fill="#191970" stroke="#191970" points="81.3871,-3567.2151 84.4097,-3577.3696 88.3793,-3567.5466 81.3871,-3567.2151"/>
</g>
<!-- Node499 -->
<g id="node508" class="node">
<title>Node499</title>
-<g id="a_node508"><a xlink:href="classtvm_1_1relay_1_1OpImplementationNode.html" target="_top" xlink:title="Operator implementation that includes compute and schedule function. ">
-<polygon fill="#ffffff" stroke="#000000" points="210.5,-2856.5 210.5,-2875.5 399.5,-2875.5 399.5,-2856.5 210.5,-2856.5"/>
-<text text-anchor="middle" x="305" y="-2863.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpImplementationNode</text>
+<g id="a_node508"><a xlink:href="classtvm_1_1relay_1_1ExecutorNode.html" target="_top" xlink:title="Executor information. ">
+<polygon fill="#ffffff" stroke="#000000" points="235,-2894.5 235,-2913.5 375,-2913.5 375,-2894.5 235,-2894.5"/>
+<text text-anchor="middle" x="305" y="-2901.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ExecutorNode</text>
</a>
</g>
</g>
<!-- Node0->Node499 -->
<g id="edge503" class="edge">
<title>Node0->Node499</title>
-<path fill="none" stroke="#191970" d="M85.6434,-3654.2621C95.5229,-3537.7055 148.4646,-2942.5146 204,-2885 207.5942,-2881.2778 211.6701,-2878.155 216.0726,-2875.5437"/>
-<polygon fill="#191970" stroke="#191970" points="82.1516,-3654.0181 84.8011,-3664.2762 89.127,-3654.6048 82.1516,-3654.0181"/>
+<path fill="none" stroke="#191970" d="M84.6638,-3567.0158C88.421,-3466.5065 110.3152,-3017.3573 204,-2923 212.4227,-2914.5168 223.3548,-2909.1726 234.9059,-2905.9054"/>
+<polygon fill="#191970" stroke="#191970" points="81.1568,-3567.1532 84.2995,-3577.2712 88.1524,-3567.4018 81.1568,-3567.1532"/>
</g>
<!-- Node500 -->
<g id="node509" class="node">
<title>Node500</title>
-<g id="a_node509"><a xlink:href="classtvm_1_1relay_1_1OpSpecializationNode.html" target="_top" xlink:title="Specialized implementations for operators under certain conditions. ">
-<polygon fill="#ffffff" stroke="#000000" points="215.5,-2818.5 215.5,-2837.5 394.5,-2837.5 394.5,-2818.5 215.5,-2818.5"/>
-<text text-anchor="middle" x="305" y="-2825.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpSpecializationNode</text>
+<g id="a_node509"><a xlink:href="classtvm_1_1relay_1_1IdNode.html" target="_top" xlink:title="The unique identifier of variables. ">
+<polygon fill="#ffffff" stroke="#000000" points="251.5,-2856.5 251.5,-2875.5 358.5,-2875.5 358.5,-2856.5 251.5,-2856.5"/>
+<text text-anchor="middle" x="305" y="-2863.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::IdNode</text>
</a>
</g>
</g>
<!-- Node0->Node500 -->
<g id="edge504" class="edge">
<title>Node0->Node500</title>
-<path fill="none" stroke="#191970" d="M85.5143,-3654.0771C94.835,-3533.786 145.9337,-2907.5486 204,-2847 207.5814,-2843.2655 211.6475,-2840.1333 216.0425,-2837.5148"/>
-<polygon fill="#191970" stroke="#191970" points="81.9998,-3654.1326 84.7235,-3664.3714 88.9793,-3654.6689 81.9998,-3654.1326"/>
+<path fill="none" stroke="#191970" d="M84.4472,-3567.188C87.2013,-3463.6281 105.1838,-2985.4745 204,-2885 216.3233,-2872.4699 234.116,-2866.7692 251.3447,-2864.4976"/>
+<polygon fill="#191970" stroke="#191970" points="80.9476,-3567.1318 84.1982,-3577.2156 87.9454,-3567.3056 80.9476,-3567.1318"/>
</g>
<!-- Node501 -->
<g id="node510" class="node">
<title>Node501</title>
-<g id="a_node510"><a xlink:href="classtvm_1_1relay_1_1OpStrategyNode.html" target="_top" xlink:title="Operator strategy to choose implementation. ">
-<polygon fill="#ffffff" stroke="#000000" points="229,-2780.5 229,-2799.5 381,-2799.5 381,-2780.5 229,-2780.5"/>
-<text text-anchor="middle" x="305" y="-2787.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpStrategyNode</text>
+<g id="a_node510"><a xlink:href="classtvm_1_1relay_1_1OpImplementationNode.html" target="_top" xlink:title="Operator implementation that includes compute and schedule function. ">
+<polygon fill="#ffffff" stroke="#000000" points="210.5,-2818.5 210.5,-2837.5 399.5,-2837.5 399.5,-2818.5 210.5,-2818.5"/>
+<text text-anchor="middle" x="305" y="-2825.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpImplementationNode</text>
</a>
</g>
</g>
<!-- Node0->Node501 -->
<g id="edge505" class="edge">
<title>Node0->Node501</title>
-<path fill="none" stroke="#191970" d="M85.3923,-3653.9346C94.1666,-3530.0647 143.3931,-2872.5944 204,-2809 210.8317,-2801.8315 219.4483,-2796.8783 228.7548,-2793.5166"/>
-<polygon fill="#191970" stroke="#191970" points="81.8794,-3653.9978 84.6705,-3664.2184 88.8622,-3654.488 81.8794,-3653.9978"/>
+<path fill="none" stroke="#191970" d="M84.2589,-3567.1388C86.0724,-3460.1712 100.1113,-2953.5384 204,-2847 207.6124,-2843.2955 211.7025,-2840.1864 216.1156,-2837.5855"/>
+<polygon fill="#191970" stroke="#191970" points="80.7584,-3567.1489 84.1056,-3577.2011 87.7576,-3567.2556 80.7584,-3567.1489"/>
</g>
<!-- Node502 -->
<g id="node511" class="node">
<title>Node502</title>
-<g id="a_node511"><a xlink:href="classtvm_1_1relay_1_1RecClosureObj.html" target="_top" xlink:title="The container type of RecClosure. ">
-<polygon fill="#ffffff" stroke="#000000" points="233.5,-2742.5 233.5,-2761.5 376.5,-2761.5 376.5,-2742.5 233.5,-2742.5"/>
-<text text-anchor="middle" x="305" y="-2749.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RecClosureObj</text>
+<g id="a_node511"><a xlink:href="classtvm_1_1relay_1_1OpSpecializationNode.html" target="_top" xlink:title="Specialized implementations for operators under certain conditions. ">
+<polygon fill="#ffffff" stroke="#000000" points="215.5,-2742.5 215.5,-2761.5 394.5,-2761.5 394.5,-2742.5 215.5,-2742.5"/>
+<text text-anchor="middle" x="305" y="-2749.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpSpecializationNode</text>
</a>
</g>
</g>
<!-- Node0->Node502 -->
<g id="edge506" class="edge">
<title>Node0->Node502</title>
-<path fill="none" stroke="#191970" d="M85.2504,-3654.2429C93.4152,-3528.0267 140.7748,-2837.7236 204,-2771 211.9156,-2762.6464 222.2541,-2757.2961 233.2919,-2753.966"/>
-<polygon fill="#191970" stroke="#191970" points="81.7477,-3654.175 84.601,-3664.3783 88.7334,-3654.6226 81.7477,-3654.175"/>
+<path fill="none" stroke="#191970" d="M85.5339,-3567.341C94.9699,-3448.6437 146.6328,-2830.705 204,-2771 207.585,-2767.2689 211.6538,-2764.1393 216.0509,-2761.5229"/>
+<polygon fill="#191970" stroke="#191970" points="82.0299,-3567.2547 84.733,-3577.4989 89.0082,-3567.805 82.0299,-3567.2547"/>
</g>
<!-- Node503 -->
<g id="node512" class="node">
<title>Node503</title>
-<g id="a_node512"><a xlink:href="structtvm_1_1relay_1_1RefValueObj.html" target="_top" xlink:title="tvm::relay::RefValueObj">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-2666.5 239.5,-2685.5 370.5,-2685.5 370.5,-2666.5 239.5,-2666.5"/>
-<text text-anchor="middle" x="305" y="-2673.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RefValueObj</text>
+<g id="a_node512"><a xlink:href="classtvm_1_1relay_1_1OpStrategyNode.html" target="_top" xlink:title="Operator strategy to choose implementation. ">
+<polygon fill="#ffffff" stroke="#000000" points="229,-2654.5 229,-2673.5 381,-2673.5 381,-2654.5 229,-2654.5"/>
+<text text-anchor="middle" x="305" y="-2661.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpStrategyNode</text>
</a>
</g>
</g>
<!-- Node0->Node503 -->
<g id="edge507" class="edge">
<title>Node0->Node503</title>
-<path fill="none" stroke="#191970" d="M85.0374,-3654.2534C92.163,-3521.9918 135.6281,-2767.8925 204,-2695 213.3379,-2685.0447 226.1141,-2679.3426 239.4398,-2676.2407"/>
-<polygon fill="#191970" stroke="#191970" points="81.5289,-3654.3216 84.4918,-3664.4936 88.519,-3654.694 81.5289,-3654.3216"/>
+<path fill="none" stroke="#191970" d="M85.2488,-3567.2211C93.4034,-3440.8657 140.7108,-2749.8008 204,-2683 210.872,-2675.7467 219.5705,-2670.7576 228.9675,-2667.3891"/>
+<polygon fill="#191970" stroke="#191970" points="81.7453,-3567.1648 84.6002,-3577.3677 88.7311,-3567.6114 81.7453,-3567.1648"/>
</g>
<!-- Node504 -->
<g id="node513" class="node">
<title>Node504</title>
-<g id="a_node513"><a xlink:href="classtvm_1_1relay_1_1RelayNode.html" target="_top" xlink:title="This is the base node container of all relay structures. ">
-<polygon fill="#ffffff" stroke="#000000" points="242.5,-2590.5 242.5,-2609.5 367.5,-2609.5 367.5,-2590.5 242.5,-2590.5"/>
-<text text-anchor="middle" x="305" y="-2597.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RelayNode</text>
+<g id="a_node513"><a xlink:href="classtvm_1_1relay_1_1RecClosureObj.html" target="_top" xlink:title="The container type of RecClosure. ">
+<polygon fill="#ffffff" stroke="#000000" points="233.5,-2616.5 233.5,-2635.5 376.5,-2635.5 376.5,-2616.5 233.5,-2616.5"/>
+<text text-anchor="middle" x="305" y="-2623.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RecClosureObj</text>
</a>
</g>
</g>
<!-- Node0->Node504 -->
<g id="edge508" class="edge">
<title>Node0->Node504</title>
-<path fill="none" stroke="#191970" d="M84.8655,-3654.0265C91.0586,-3515.2567 130.5123,-2698.0333 204,-2619 213.9627,-2608.2855 227.9057,-2602.4855 242.2568,-2599.5511"/>
-<polygon fill="#191970" stroke="#191970" points="81.3523,-3654.2517 84.4087,-3664.396 88.3455,-3654.5598 81.3523,-3654.2517"/>
+<path fill="none" stroke="#191970" d="M85.1399,-3567.1954C92.771,-3437.702 138.1442,-2714.8774 204,-2645 211.893,-2636.625 222.2202,-2631.2641 233.2539,-2627.9301"/>
+<polygon fill="#191970" stroke="#191970" points="81.641,-3567.0776 84.5526,-3577.2645 88.6291,-3567.4853 81.641,-3567.0776"/>
</g>
-<!-- Node510 -->
-<g id="node519" class="node">
-<title>Node510</title>
-<g id="a_node519"><a xlink:href="classtvm_1_1relay_1_1RuntimeNode.html" target="_top" xlink:title="Runtime information. ">
-<polygon fill="#ffffff" stroke="#000000" points="236,-2628.5 236,-2647.5 374,-2647.5 374,-2628.5 236,-2628.5"/>
-<text text-anchor="middle" x="305" y="-2635.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RuntimeNode</text>
+<!-- Node505 -->
+<g id="node514" class="node">
+<title>Node505</title>
+<g id="a_node514"><a xlink:href="structtvm_1_1relay_1_1RefValueObj.html" target="_top" xlink:title="tvm::relay::RefValueObj">
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-2578.5 239.5,-2597.5 370.5,-2597.5 370.5,-2578.5 239.5,-2578.5"/>
+<text text-anchor="middle" x="305" y="-2585.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RefValueObj</text>
</a>
</g>
</g>
-<!-- Node0->Node510 -->
-<g id="edge514" class="edge">
-<title>Node0->Node510</title>
-<path fill="none" stroke="#191970" d="M84.9395,-3654.325C91.5629,-3519.3216 133.0389,-2732.996 204,-2657 212.463,-2647.9365 223.775,-2642.3938 235.7652,-2639.1283"/>
-<polygon fill="#191970" stroke="#191970" points="81.4378,-3654.278 84.4493,-3664.4357 88.4295,-3654.617 81.4378,-3654.278"/>
+<!-- Node0->Node505 -->
+<g id="edge509" class="edge">
+<title>Node0->Node505</title>
+<path fill="none" stroke="#191970" d="M85.0359,-3567.2333C92.1517,-3434.8371 135.5638,-2679.9701 204,-2607 213.3373,-2597.0441 226.1132,-2591.3418 239.4389,-2588.2398"/>
+<polygon fill="#191970" stroke="#191970" points="81.5268,-3567.3123 84.4911,-3577.484 88.517,-3567.6838 81.5268,-3567.3123"/>
</g>
-<!-- Node513 -->
-<g id="node520" class="node">
-<title>Node513</title>
-<g id="a_node520"><a xlink:href="classtvm_1_1runtime_1_1ClosureObj.html" target="_top" xlink:title="An object representing a closure. This object is used by both the Relay VM and interpreter. ">
-<polygon fill="#ffffff" stroke="#000000" points="235,-2552.5 235,-2571.5 375,-2571.5 375,-2552.5 235,-2552.5"/>
-<text text-anchor="middle" x="305" y="-2559.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ClosureObj</text>
+<!-- Node506 -->
+<g id="node515" class="node">
+<title>Node506</title>
+<g id="a_node515"><a xlink:href="classtvm_1_1relay_1_1RelayNode.html" target="_top" xlink:title="This is the base node container of all relay structures. ">
+<polygon fill="#ffffff" stroke="#000000" points="242.5,-2780.5 242.5,-2799.5 367.5,-2799.5 367.5,-2780.5 242.5,-2780.5"/>
+<text text-anchor="middle" x="305" y="-2787.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RelayNode</text>
</a>
</g>
</g>
-<!-- Node0->Node513 -->
-<g id="edge517" class="edge">
-<title>Node0->Node513</title>
-<path fill="none" stroke="#191970" d="M84.7766,-3654.1819C90.4874,-3513.0211 127.9034,-2663.1603 204,-2581 212.2444,-2572.0987 223.2352,-2566.5856 234.9316,-2563.2888"/>
-<polygon fill="#191970" stroke="#191970" points="81.2715,-3654.2423 84.37,-3664.374 88.266,-3654.5215 81.2715,-3654.2423"/>
+<!-- Node0->Node506 -->
+<g id="edge510" class="edge">
+<title>Node0->Node506</title>
+<path fill="none" stroke="#191970" d="M85.694,-3567.1867C95.7681,-3451.414 149.217,-2865.6163 204,-2809 214.1118,-2798.5498 228.0218,-2792.8278 242.2869,-2789.8825"/>
+<polygon fill="#191970" stroke="#191970" points="82.1845,-3567.1472 84.8112,-3577.4112 89.1585,-3567.7494 82.1845,-3567.1472"/>
</g>
-<!-- Node516 -->
-<g id="node523" class="node">
-<title>Node516</title>
-<g id="a_node523"><a xlink:href="classtvm_1_1runtime_1_1MapNode.html" target="_top" xlink:title="Shared content of all specializations of hash map. ">
-<polygon fill="#ffffff" stroke="#000000" points="239,-2704.5 239,-2723.5 371,-2723.5 371,-2704.5 239,-2704.5"/>
-<text text-anchor="middle" x="305" y="-2711.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::MapNode</text>
+<!-- Node512 -->
+<g id="node521" class="node">
+<title>Node512</title>
+<g id="a_node521"><a xlink:href="classtvm_1_1relay_1_1RuntimeNode.html" target="_top" xlink:title="Runtime information. ">
+<polygon fill="#ffffff" stroke="#000000" points="236,-2540.5 236,-2559.5 374,-2559.5 374,-2540.5 236,-2540.5"/>
+<text text-anchor="middle" x="305" y="-2547.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RuntimeNode</text>
</a>
</g>
</g>
-<!-- Node0->Node516 -->
-<g id="edge520" class="edge">
-<title>Node0->Node516</title>
-<path fill="none" stroke="#191970" d="M85.1415,-3654.2163C92.7825,-3524.8599 138.2083,-2802.8 204,-2733 213.2398,-2723.1973 225.8144,-2717.5241 238.9531,-2714.3972"/>
-<polygon fill="#191970" stroke="#191970" points="81.6431,-3654.0875 84.5534,-3664.2748 88.6312,-3654.4962 81.6431,-3654.0875"/>
+<!-- Node0->Node512 -->
+<g id="edge516" class="edge">
+<title>Node0->Node512</title>
+<path fill="none" stroke="#191970" d="M84.9381,-3567.3057C91.5518,-3432.17 132.9744,-2645.0737 204,-2569 212.4625,-2559.936 223.7742,-2554.3931 235.7644,-2551.1275"/>
+<polygon fill="#191970" stroke="#191970" points="81.4358,-3567.269 84.4486,-3577.4264 88.4277,-3567.6072 81.4358,-3567.269"/>
</g>
-<!-- Node519 -->
+<!-- Node515 -->
+<g id="node522" class="node">
+<title>Node515</title>
+<g id="a_node522"><a xlink:href="classtvm_1_1runtime_1_1ClosureObj.html" target="_top" xlink:title="An object representing a closure. This object is used by both the Relay VM and interpreter. ">
+<polygon fill="#ffffff" stroke="#000000" points="235,-2464.5 235,-2483.5 375,-2483.5 375,-2464.5 235,-2464.5"/>
+<text text-anchor="middle" x="305" y="-2471.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ClosureObj</text>
+</a>
+</g>
+</g>
+<!-- Node0->Node515 -->
+<g id="edge519" class="edge">
+<title>Node0->Node515</title>
+<path fill="none" stroke="#191970" d="M84.7753,-3567.1638C90.4766,-3425.8743 127.8387,-2575.2384 204,-2493 212.2439,-2484.0983 223.2345,-2478.585 234.9309,-2475.2881"/>
+<polygon fill="#191970" stroke="#191970" points="81.2698,-3567.2339 84.3694,-3577.3652 88.2643,-3567.5123 81.2698,-3567.2339"/>
+</g>
+<!-- Node518 -->
<g id="node525" class="node">
-<title>Node519</title>
-<g id="a_node525"><a xlink:href="classtvm_1_1runtime_1_1metadata_1_1MetadataBaseNode.html" target="_top" xlink:title="Common base class for all Metadata. ">
-<polygon fill="#ffffff" stroke="#000000" points="238,-2503 238,-2533 372,-2533 372,-2503 238,-2503"/>
-<text text-anchor="start" x="246" y="-2521" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::metadata</text>
-<text text-anchor="middle" x="305" y="-2510" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MetadataBaseNode</text>
+<title>Node518</title>
+<g id="a_node525"><a xlink:href="classtvm_1_1runtime_1_1MapNode.html" target="_top" xlink:title="Shared content of all specializations of hash map. ">
+<polygon fill="#ffffff" stroke="#000000" points="239,-2502.5 239,-2521.5 371,-2521.5 371,-2502.5 239,-2502.5"/>
+<text text-anchor="middle" x="305" y="-2509.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::MapNode</text>
</a>
</g>
</g>
-<!-- Node0->Node519 -->
-<g id="edge523" class="edge">
-<title>Node0->Node519</title>
-<path fill="none" stroke="#191970" d="M84.7587,-3653.9916C90.4075,-3509.6279 127.8096,-2630.4098 204,-2543 212.7833,-2532.9234 224.928,-2526.5833 237.7569,-2522.6617"/>
-<polygon fill="#191970" stroke="#191970" points="81.2457,-3654.2631 84.3574,-3664.3907 88.2405,-3654.5331 81.2457,-3654.2631"/>
+<!-- Node0->Node518 -->
+<g id="edge522" class="edge">
+<title>Node0->Node518</title>
+<path fill="none" stroke="#191970" d="M84.8641,-3567.0076C91.0476,-3428.1067 130.4478,-2610.1112 204,-2531 213.1725,-2521.1343 225.7195,-2515.4352 238.8528,-2512.3032"/>
+<polygon fill="#191970" stroke="#191970" points="81.3505,-3567.2429 84.408,-3577.387 88.3437,-3567.5503 81.3505,-3567.2429"/>
</g>
-<!-- Node524 -->
-<g id="node530" class="node">
-<title>Node524</title>
-<g id="a_node530"><a xlink:href="classtvm_1_1runtime_1_1ModuleNode.html" target="_top" xlink:title="Base container of module. ">
-<polygon fill="#ffffff" stroke="#000000" points="231.5,-2464.5 231.5,-2483.5 378.5,-2483.5 378.5,-2464.5 231.5,-2464.5"/>
-<text text-anchor="middle" x="305" y="-2471.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ModuleNode</text>
+<!-- Node521 -->
+<g id="node527" class="node">
+<title>Node521</title>
+<g id="a_node527"><a xlink:href="classtvm_1_1runtime_1_1metadata_1_1MetadataBaseNode.html" target="_top" xlink:title="Common base class for all Metadata. ">
+<polygon fill="#ffffff" stroke="#000000" points="238,-2415 238,-2445 372,-2445 372,-2415 238,-2415"/>
+<text text-anchor="start" x="246" y="-2433" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::metadata</text>
+<text text-anchor="middle" x="305" y="-2422" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MetadataBaseNode</text>
</a>
</g>
</g>
-<!-- Node0->Node524 -->
-<g id="edge528" class="edge">
-<title>Node0->Node524</title>
-<path fill="none" stroke="#191970" d="M84.6135,-3653.9782C89.3367,-3505.7636 121.9547,-2582.305 204,-2493 211.3633,-2484.9851 220.9522,-2479.7111 231.2878,-2476.3267"/>
-<polygon fill="#191970" stroke="#191970" points="81.1057,-3654.1773 84.2908,-3664.2821 88.1022,-3654.3966 81.1057,-3654.1773"/>
+<!-- Node0->Node521 -->
+<g id="edge525" class="edge">
+<title>Node0->Node521</title>
+<path fill="none" stroke="#191970" d="M84.7574,-3566.974C90.3972,-3422.483 127.7471,-2542.4897 204,-2455 212.7828,-2444.923 224.9273,-2438.5828 237.7562,-2434.6611"/>
+<polygon fill="#191970" stroke="#191970" points="81.2441,-3567.2549 84.3568,-3577.3822 88.2389,-3567.5242 81.2441,-3567.2549"/>
</g>
-<!-- Node528 -->
-<g id="node533" class="node">
-<title>Node528</title>
-<g id="a_node533"><a xlink:href="classtvm_1_1runtime_1_1PackedFuncObj.html" target="_top" xlink:title="Object container class that backs PackedFunc. ">
-<polygon fill="#ffffff" stroke="#000000" points="225.5,-2426.5 225.5,-2445.5 384.5,-2445.5 384.5,-2426.5 225.5,-2426.5"/>
-<text text-anchor="middle" x="305" y="-2433.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::PackedFuncObj</text>
+<!-- Node526 -->
+<g id="node532" class="node">
+<title>Node526</title>
+<g id="a_node532"><a xlink:href="classtvm_1_1runtime_1_1ModuleNode.html" target="_top" xlink:title="Base container of module. ">
+<polygon fill="#ffffff" stroke="#000000" points="231.5,-2376.5 231.5,-2395.5 378.5,-2395.5 378.5,-2376.5 231.5,-2376.5"/>
+<text text-anchor="middle" x="305" y="-2383.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ModuleNode</text>
</a>
</g>
</g>
-<!-- Node0->Node528 -->
-<g id="edge532" class="edge">
-<title>Node0->Node528</title>
-<path fill="none" stroke="#191970" d="M84.5391,-3654.2613C88.8146,-3504.2558 119.3137,-2547.4703 204,-2455 209.9047,-2448.5526 217.2493,-2443.8772 225.2662,-2440.5317"/>
-<polygon fill="#191970" stroke="#191970" points="81.039,-3654.2189 84.2578,-3664.3129 88.0362,-3654.4148 81.039,-3654.2189"/>
+<!-- Node0->Node526 -->
+<g id="edge530" class="edge">
+<title>Node0->Node526</title>
+<path fill="none" stroke="#191970" d="M84.6123,-3566.9613C89.3262,-3418.6216 121.8897,-2494.3834 204,-2405 211.363,-2396.9848 220.9516,-2391.7106 231.2872,-2388.3262"/>
+<polygon fill="#191970" stroke="#191970" points="81.1042,-3567.1694 84.2901,-3577.2739 88.1007,-3567.388 81.1042,-3567.1694"/>
</g>
<!-- Node530 -->
<g id="node535" class="node">
<title>Node530</title>
-<g id="a_node535"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::CountNode">
-<polygon fill="#ffffff" stroke="#000000" points="242,-2377 242,-2407 368,-2407 368,-2377 242,-2377"/>
-<text text-anchor="start" x="250" y="-2395" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="305" y="-2384" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CountNode</text>
+<g id="a_node535"><a xlink:href="classtvm_1_1runtime_1_1PackedFuncObj.html" target="_top" xlink:title="Object container class that backs PackedFunc. ">
+<polygon fill="#ffffff" stroke="#000000" points="225.5,-2338.5 225.5,-2357.5 384.5,-2357.5 384.5,-2338.5 225.5,-2338.5"/>
+<text text-anchor="middle" x="305" y="-2345.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::PackedFuncObj</text>
</a>
</g>
</g>
<!-- Node0->Node530 -->
<g id="edge534" class="edge">
<title>Node0->Node530</title>
-<path fill="none" stroke="#191970" d="M84.5307,-3654.1687C88.7931,-3501.3981 119.493,-2514.9878 204,-2417 213.6739,-2405.7829 227.513,-2399.1868 241.8566,-2395.4022"/>
-<polygon fill="#191970" stroke="#191970" points="81.0262,-3654.2887 84.2509,-3664.3809 88.0236,-3654.4805 81.0262,-3654.2887"/>
-</g>
-<!-- Node531 -->
-<g id="node536" class="node">
-<title>Node531</title>
-<g id="a_node536"><a xlink:href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperNode.html" target="_top" xlink:title="Wrapper for Device because Device is not passable across the PackedFunc interface. ">
-<polygon fill="#ffffff" stroke="#000000" points="242,-2328 242,-2358 368,-2358 368,-2328 242,-2328"/>
-<text text-anchor="start" x="250" y="-2346" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="305" y="-2335" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DeviceWrapperNode</text>
-</a>
-</g>
-</g>
-<!-- Node0->Node531 -->
-<g id="edge535" class="edge">
-<title>Node0->Node531</title>
-<path fill="none" stroke="#191970" d="M84.4423,-3654.3339C88.1176,-3498.6672 115.6905,-2468.8056 204,-2367 213.684,-2355.836 227.5268,-2349.3616 241.8706,-2345.7178"/>
-<polygon fill="#191970" stroke="#191970" points="80.9429,-3654.2717 84.2108,-3664.35 87.9411,-3654.4336 80.9429,-3654.2717"/>
+<path fill="none" stroke="#191970" d="M84.5378,-3567.2452C88.8043,-3417.117 119.2485,-2459.5489 204,-2367 209.9045,-2360.5523 217.2489,-2355.8768 225.2657,-2352.5313"/>
+<polygon fill="#191970" stroke="#191970" points="81.0375,-3567.2113 84.2572,-3577.305 88.0348,-3567.4066 81.0375,-3567.2113"/>
</g>
<!-- Node532 -->
<g id="node537" class="node">
<title>Node532</title>
-<g id="a_node537"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::DurationNode">
-<polygon fill="#ffffff" stroke="#000000" points="242,-2279 242,-2309 368,-2309 368,-2279 242,-2279"/>
-<text text-anchor="start" x="250" y="-2297" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="305" y="-2286" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DurationNode</text>
+<g id="a_node537"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::CountNode">
+<polygon fill="#ffffff" stroke="#000000" points="242,-2289 242,-2319 368,-2319 368,-2289 242,-2289"/>
+<text text-anchor="start" x="250" y="-2307" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
+<text text-anchor="middle" x="305" y="-2296" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CountNode</text>
</a>
</g>
</g>
<!-- Node0->Node532 -->
<g id="edge536" class="edge">
<title>Node0->Node532</title>
-<path fill="none" stroke="#191970" d="M84.3787,-3654.0952C87.5944,-3494.3158 112.4865,-2423.8506 204,-2318 213.6656,-2306.8201 227.5018,-2300.3399 241.8451,-2296.6958"/>
-<polygon fill="#191970" stroke="#191970" points="80.8744,-3654.2835 84.1773,-3664.3503 87.873,-3654.421 80.8744,-3654.2835"/>
+<path fill="none" stroke="#191970" d="M84.5296,-3567.153C88.7833,-3414.2612 119.43,-2427.0682 204,-2329 213.6735,-2317.7825 227.5125,-2311.1863 241.856,-2307.4016"/>
+<polygon fill="#191970" stroke="#191970" points="81.0249,-3567.2813 84.2504,-3577.3732 88.0223,-3567.4726 81.0249,-3567.2813"/>
</g>
<!-- Node533 -->
<g id="node538" class="node">
<title>Node533</title>
-<g id="a_node538"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" target="_top" xlink:title="Interface for user defined profiling metric collection. ">
-<polygon fill="#ffffff" stroke="#000000" points="242,-2230 242,-2260 368,-2260 368,-2230 242,-2230"/>
-<text text-anchor="start" x="250" y="-2248" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="305" y="-2237" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MetricCollectorNode</text>
+<g id="a_node538"><a xlink:href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperNode.html" target="_top" xlink:title="Wrapper for Device because Device is not passable across the PackedFunc interface. ">
+<polygon fill="#ffffff" stroke="#000000" points="242,-2240 242,-2270 368,-2270 368,-2240 242,-2240"/>
+<text text-anchor="start" x="250" y="-2258" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
+<text text-anchor="middle" x="305" y="-2247" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DeviceWrapperNode</text>
</a>
</g>
</g>
<!-- Node0->Node533 -->
<g id="edge537" class="edge">
<title>Node0->Node533</title>
-<path fill="none" stroke="#191970" d="M84.3176,-3653.8864C87.0822,-3490.1256 109.2755,-2378.9045 204,-2269 213.6485,-2257.8053 227.4785,-2251.3198 241.8214,-2247.6753"/>
-<polygon fill="#191970" stroke="#191970" points="80.8103,-3654.3141 84.1458,-3664.3701 87.8093,-3654.4289 80.8103,-3654.3141"/>
+<path fill="none" stroke="#191970" d="M84.4413,-3567.3189C88.1079,-3411.5334 115.627,-2380.8859 204,-2279 213.6836,-2267.8357 227.5263,-2261.3611 241.87,-2257.7174"/>
+<polygon fill="#191970" stroke="#191970" points="80.9417,-3567.2646 84.2102,-3577.3426 87.9398,-3567.4259 80.9417,-3567.2646"/>
</g>
<!-- Node534 -->
<g id="node539" class="node">
<title>Node534</title>
-<g id="a_node539"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::PercentNode">
-<polygon fill="#ffffff" stroke="#000000" points="242,-2181 242,-2211 368,-2211 368,-2181 242,-2181"/>
-<text text-anchor="start" x="250" y="-2199" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="305" y="-2188" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PercentNode</text>
+<g id="a_node539"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::DurationNode">
+<polygon fill="#ffffff" stroke="#000000" points="242,-2191 242,-2221 368,-2221 368,-2191 242,-2191"/>
+<text text-anchor="start" x="250" y="-2209" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
+<text text-anchor="middle" x="305" y="-2198" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DurationNode</text>
</a>
</g>
</g>
<!-- Node0->Node534 -->
<g id="edge538" class="edge">
<title>Node0->Node534</title>
-<path fill="none" stroke="#191970" d="M84.2524,-3654.207C86.5421,-3488.4042 105.9593,-2334.0813 204,-2220 213.6325,-2208.7915 227.4567,-2202.3011 241.7992,-2198.6562"/>
-<polygon fill="#191970" stroke="#191970" points="80.7501,-3654.3628 84.1163,-3664.4086 87.7494,-3654.4562 80.7501,-3654.3628"/>
+<path fill="none" stroke="#191970" d="M84.3776,-3567.0806C87.5849,-3407.1837 112.423,-2335.931 204,-2230 213.6653,-2218.8198 227.5013,-2212.3395 241.8446,-2208.6953"/>
+<polygon fill="#191970" stroke="#191970" points="80.8732,-3567.2766 84.1767,-3577.3432 87.8718,-3567.4137 80.8732,-3567.2766"/>
</g>
<!-- Node535 -->
<g id="node540" class="node">
<title>Node535</title>
-<g id="a_node540"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::RatioNode">
-<polygon fill="#ffffff" stroke="#000000" points="242,-2132 242,-2162 368,-2162 368,-2132 242,-2132"/>
-<text text-anchor="start" x="250" y="-2150" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="305" y="-2139" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RatioNode</text>
+<g id="a_node540"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" target="_top" xlink:title="Interface for user defined profiling metric collection. ">
+<polygon fill="#ffffff" stroke="#000000" points="242,-2142 242,-2172 368,-2172 368,-2142 242,-2142"/>
+<text text-anchor="start" x="250" y="-2160" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
+<text text-anchor="middle" x="305" y="-2149" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MetricCollectorNode</text>
</a>
</g>
</g>
<!-- Node0->Node535 -->
<g id="edge539" class="edge">
<title>Node0->Node535</title>
-<path fill="none" stroke="#191970" d="M84.1979,-3654.0668C86.0574,-3484.6191 102.731,-2289.1569 204,-2171 213.6175,-2159.7787 227.4364,-2153.2836 241.7784,-2149.6384"/>
-<polygon fill="#191970" stroke="#191970" points="80.694,-3654.4288 84.0887,-3664.4651 87.6936,-3654.5024 80.694,-3654.4288"/>
+<path fill="none" stroke="#191970" d="M84.3084,-3567.3614C87.0285,-3405.2223 109.117,-2291.0951 204,-2181 213.6481,-2169.805 227.4781,-2163.3194 241.8209,-2159.6749"/>
+<polygon fill="#191970" stroke="#191970" points="80.8089,-3567.3075 84.1453,-3577.3633 87.808,-3567.4217 80.8089,-3567.3075"/>
</g>
<!-- Node536 -->
<g id="node541" class="node">
<title>Node536</title>
-<g id="a_node541"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html" target="_top" xlink:title="Data collected from a profiling run. Includes per-call metrics and per-device metrics. ">
-<polygon fill="#ffffff" stroke="#000000" points="242,-2083 242,-2113 368,-2113 368,-2083 242,-2083"/>
-<text text-anchor="start" x="250" y="-2101" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="305" y="-2090" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ReportNode</text>
+<g id="a_node541"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::PercentNode">
+<polygon fill="#ffffff" stroke="#000000" points="242,-2093 242,-2123 368,-2123 368,-2093 242,-2093"/>
+<text text-anchor="start" x="250" y="-2111" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
+<text text-anchor="middle" x="305" y="-2100" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PercentNode</text>
</a>
</g>
</g>
<!-- Node0->Node536 -->
<g id="edge540" class="edge">
<title>Node0->Node536</title>
-<path fill="none" stroke="#191970" d="M84.1461,-3653.9403C85.5845,-3480.93 99.4986,-2244.238 204,-2122 213.6034,-2110.7666 227.4173,-2104.2672 241.7589,-2100.6217"/>
-<polygon fill="#191970" stroke="#191970" points="80.6446,-3654.1277 84.0657,-3664.155 87.6444,-3654.1829 80.6446,-3654.1277"/>
+<path fill="none" stroke="#191970" d="M84.2514,-3567.1934C86.5329,-3401.2769 105.8956,-2246.162 204,-2132 213.6322,-2120.7913 227.4563,-2114.3007 241.7987,-2110.6558"/>
+<polygon fill="#191970" stroke="#191970" points="80.749,-3567.3564 84.1158,-3577.402 87.7484,-3567.4494 80.749,-3567.3564"/>
</g>
<!-- Node537 -->
<g id="node542" class="node">
<title>Node537</title>
-<g id="a_node542"><a xlink:href="classtvm_1_1runtime_1_1ShapeTupleObj.html" target="_top" xlink:title="An object representing a shape tuple. ">
-<polygon fill="#ffffff" stroke="#000000" points="226,-2044.5 226,-2063.5 384,-2063.5 384,-2044.5 226,-2044.5"/>
-<text text-anchor="middle" x="305" y="-2051.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ShapeTupleObj</text>
+<g id="a_node542"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::RatioNode">
+<polygon fill="#ffffff" stroke="#000000" points="242,-2044 242,-2074 368,-2074 368,-2044 242,-2044"/>
+<text text-anchor="start" x="250" y="-2062" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
+<text text-anchor="middle" x="305" y="-2051" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RatioNode</text>
</a>
</g>
</g>
<!-- Node0->Node537 -->
<g id="edge541" class="edge">
<title>Node0->Node537</title>
-<path fill="none" stroke="#191970" d="M84.0531,-3654.0815C84.7034,-3478.3908 93.2407,-2196.8067 204,-2073 209.9481,-2066.3512 217.4256,-2061.5748 225.6081,-2058.193"/>
-<polygon fill="#191970" stroke="#191970" points="80.5527,-3654.2113 84.0201,-3664.2226 87.5527,-3654.2341 80.5527,-3654.2113"/>
+<path fill="none" stroke="#191970" d="M84.1969,-3567.0536C86.0483,-3397.4934 102.6672,-2201.2377 204,-2083 213.6172,-2071.7784 227.436,-2065.2833 241.778,-2061.638"/>
+<polygon fill="#191970" stroke="#191970" points="80.693,-3567.4227 84.0882,-3577.4587 87.6926,-3567.4959 80.693,-3567.4227"/>
+</g>
+<!-- Node538 -->
+<g id="node543" class="node">
+<title>Node538</title>
+<g id="a_node543"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html" target="_top" xlink:title="Data collected from a profiling run. Includes per-call metrics and per-device metrics. ">
+<polygon fill="#ffffff" stroke="#000000" points="242,-1995 242,-2025 368,-2025 368,-1995 242,-1995"/>
+<text text-anchor="start" x="250" y="-2013" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
+<text text-anchor="middle" x="305" y="-2002" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ReportNode</text>
+</a>
+</g>
+</g>
+<!-- Node0->Node538 -->
+<g id="edge542" class="edge">
+<title>Node0->Node538</title>
+<path fill="none" stroke="#191970" d="M84.1451,-3566.9274C85.5756,-3393.8059 99.4347,-2156.3188 204,-2034 213.6031,-2022.7664 227.4169,-2016.2669 241.7585,-2012.6213"/>
+<polygon fill="#191970" stroke="#191970" points="80.6436,-3567.1216 84.0653,-3577.1487 87.6434,-3567.1763 80.6436,-3567.1216"/>
</g>
<!-- Node539 -->
<g id="node544" class="node">
<title>Node539</title>
-<g id="a_node544"><a xlink:href="classtvm_1_1runtime_1_1StringObj.html" target="_top" xlink:title="An object representing string. It's POD type. ">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-2006.5 239.5,-2025.5 370.5,-2025.5 370.5,-2006.5 239.5,-2006.5"/>
-<text text-anchor="middle" x="305" y="-2013.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::StringObj</text>
+<g id="a_node544"><a xlink:href="classtvm_1_1runtime_1_1ShapeTupleObj.html" target="_top" xlink:title="An object representing a shape tuple. ">
+<polygon fill="#ffffff" stroke="#000000" points="226,-1956.5 226,-1975.5 384,-1975.5 384,-1956.5 226,-1956.5"/>
+<text text-anchor="middle" x="305" y="-1963.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ShapeTupleObj</text>
</a>
</g>
</g>
<!-- Node0->Node539 -->
<g id="edge543" class="edge">
<title>Node0->Node539</title>
-<path fill="none" stroke="#191970" d="M84.7659,-3654.1236C91.8666,-3472.0195 147.2234,-2098.5753 204,-2035 213.1513,-2024.7529 225.9349,-2018.9512 239.3378,-2015.8477"/>
-<polygon fill="#191970" stroke="#191970" points="81.2588,-3654.2409 84.3685,-3664.3691 88.2536,-3654.5123 81.2588,-3654.2409"/>
+<path fill="none" stroke="#191970" d="M84.0521,-3567.0691C84.6944,-3391.2689 93.1747,-2108.8862 204,-1985 209.948,-1978.3511 217.4254,-1973.5746 225.6078,-1970.1927"/>
+<polygon fill="#191970" stroke="#191970" points="80.5518,-3567.2054 84.0196,-3577.2165 87.5517,-3567.2278 80.5518,-3567.2054"/>
</g>
<!-- Node541 -->
<g id="node546" class="node">
<title>Node541</title>
-<g id="a_node546"><a xlink:href="classtvm_1_1runtime_1_1TimerNode.html" target="_top" xlink:title="Base class for all implementations. ">
-<polygon fill="#ffffff" stroke="#000000" points="235,-1968.5 235,-1987.5 375,-1987.5 375,-1968.5 235,-1968.5"/>
-<text text-anchor="middle" x="305" y="-1975.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::TimerNode</text>
+<g id="a_node546"><a xlink:href="classtvm_1_1runtime_1_1StringObj.html" target="_top" xlink:title="An object representing string. It's POD type. ">
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-1918.5 239.5,-1937.5 370.5,-1937.5 370.5,-1918.5 239.5,-1918.5"/>
+<text text-anchor="middle" x="305" y="-1925.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::StringObj</text>
</a>
</g>
</g>
<!-- Node0->Node541 -->
<g id="edge545" class="edge">
<title>Node0->Node541</title>
-<path fill="none" stroke="#191970" d="M84.7389,-3653.9413C91.6457,-3468.7447 145.9387,-2062.1219 204,-1997 212.1335,-1987.8774 223.1458,-1982.2764 234.9138,-1978.9657"/>
-<polygon fill="#191970" stroke="#191970" points="81.2336,-3654.0232 84.3604,-3664.1461 88.2288,-3654.2827 81.2336,-3654.0232"/>
-</g>
-<!-- Node542 -->
-<g id="node547" class="node">
-<title>Node542</title>
-<g id="a_node547"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1StorageObj.html" target="_top" xlink:title="An object representing a storage allocation. ">
-<polygon fill="#ffffff" stroke="#000000" points="224,-1930.5 224,-1949.5 386,-1949.5 386,-1930.5 224,-1930.5"/>
-<text text-anchor="middle" x="305" y="-1937.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::vm::StorageObj</text>
-</a>
-</g>
-</g>
-<!-- Node0->Node542 -->
-<g id="edge546" class="edge">
-<title>Node0->Node542</title>
-<path fill="none" stroke="#191970" d="M84.692,-3654.3438C91.318,-3468.4831 144.5919,-2025.7384 204,-1959 209.4571,-1952.8696 216.2141,-1948.3288 223.6277,-1945.0043"/>
-<polygon fill="#191970" stroke="#191970" points="81.1942,-3654.2232 84.3375,-3664.3409 88.1898,-3654.4713 81.1942,-3654.2232"/>
+<path fill="none" stroke="#191970" d="M84.7655,-3567.1115C91.8622,-3384.8964 147.1904,-2010.6151 204,-1947 213.151,-1936.7527 225.9346,-1930.9509 239.3375,-1927.8474"/>
+<polygon fill="#191970" stroke="#191970" points="81.2582,-3567.2352 84.3683,-3577.3632 88.2529,-3567.5063 81.2582,-3567.2352"/>
</g>
<!-- Node543 -->
<g id="node548" class="node">
<title>Node543</title>
-<g id="a_node548"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html" target="_top" xlink:title="tvm::script::ir_builder\l::IRBuilderFrameNode">
-<polygon fill="#ffffff" stroke="#000000" points="244,-1881 244,-1911 366,-1911 366,-1881 244,-1881"/>
-<text text-anchor="start" x="252" y="-1899" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="305" y="-1888" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRBuilderFrameNode</text>
+<g id="a_node548"><a xlink:href="classtvm_1_1runtime_1_1TimerNode.html" target="_top" xlink:title="Base class for all implementations. ">
+<polygon fill="#ffffff" stroke="#000000" points="235,-1880.5 235,-1899.5 375,-1899.5 375,-1880.5 235,-1880.5"/>
+<text text-anchor="middle" x="305" y="-1887.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::TimerNode</text>
</a>
</g>
</g>
<!-- Node0->Node543 -->
<g id="edge547" class="edge">
<title>Node0->Node543</title>
-<path fill="none" stroke="#191970" d="M84.7008,-3653.9299C91.4084,-3464.1527 145.2927,-1990.9481 204,-1921 213.9871,-1909.1007 228.6623,-1902.3749 243.7488,-1898.6895"/>
-<polygon fill="#191970" stroke="#191970" points="81.1955,-3654.0208 84.3419,-3664.1376 88.1912,-3654.2668 81.1955,-3654.0208"/>
+<path fill="none" stroke="#191970" d="M84.7385,-3566.9294C91.6414,-3381.6225 145.9057,-1974.1618 204,-1909 212.1333,-1899.8772 223.1455,-1894.2762 234.9135,-1890.9654"/>
+<polygon fill="#191970" stroke="#191970" points="81.2329,-3567.0174 84.3602,-3577.1402 88.2281,-3567.2767 81.2329,-3567.0174"/>
</g>
-<!-- Node562 -->
-<g id="node567" class="node">
-<title>Node562</title>
-<g id="a_node567"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html" target="_top" xlink:title="A dialect-agnostic IRBuilder that constructs any IR of TVM. An idiomatic use of this class is to put ...">
-<polygon fill="#ffffff" stroke="#000000" points="244.5,-1832 244.5,-1862 365.5,-1862 365.5,-1832 244.5,-1832"/>
-<text text-anchor="start" x="252.5" y="-1850" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="305" y="-1839" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRBuilderNode</text>
+<!-- Node544 -->
+<g id="node549" class="node">
+<title>Node544</title>
+<g id="a_node549"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1StorageObj.html" target="_top" xlink:title="An object representing a storage allocation. ">
+<polygon fill="#ffffff" stroke="#000000" points="224,-1842.5 224,-1861.5 386,-1861.5 386,-1842.5 224,-1842.5"/>
+<text text-anchor="middle" x="305" y="-1849.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::vm::StorageObj</text>
</a>
</g>
</g>
-<!-- Node0->Node562 -->
-<g id="edge566" class="edge">
-<title>Node0->Node562</title>
-<path fill="none" stroke="#191970" d="M84.6473,-3654.2364C91,-3462.7519 143.2657,-1942.8174 204,-1871 214.125,-1859.0273 229.0331,-1852.4204 244.3038,-1848.9151"/>
-<polygon fill="#191970" stroke="#191970" points="81.1476,-3654.1748 84.3158,-3664.2848 88.1437,-3654.4057 81.1476,-3654.1748"/>
+<!-- Node0->Node544 -->
+<g id="edge548" class="edge">
+<title>Node0->Node544</title>
+<path fill="none" stroke="#191970" d="M84.6916,-3567.3324C91.3137,-3381.3634 144.5588,-1937.7783 204,-1871 209.457,-1864.8694 216.2139,-1860.3286 223.6274,-1857.0041"/>
+<polygon fill="#191970" stroke="#191970" points="81.1936,-3567.2177 84.3373,-3577.3353 88.1892,-3567.4655 81.1936,-3567.2177"/>
</g>
-<!-- Node563 -->
-<g id="node568" class="node">
-<title>Node563</title>
-<g id="a_node568"><a xlink:href="classtvm_1_1script_1_1printer_1_1DocNode.html" target="_top" xlink:title="The base class of all Doc. ">
-<polygon fill="#ffffff" stroke="#000000" points="251.5,-1783 251.5,-1813 358.5,-1813 358.5,-1783 251.5,-1783"/>
-<text text-anchor="start" x="259.5" y="-1801" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::printer</text>
-<text text-anchor="middle" x="305" y="-1790" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DocNode</text>
+<!-- Node545 -->
+<g id="node550" class="node">
+<title>Node545</title>
+<g id="a_node550"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html" target="_top" xlink:title="tvm::script::ir_builder\l::IRBuilderFrameNode">
+<polygon fill="#ffffff" stroke="#000000" points="244,-1793 244,-1823 366,-1823 366,-1793 244,-1793"/>
+<text text-anchor="start" x="252" y="-1811" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="305" y="-1800" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRBuilderFrameNode</text>
</a>
</g>
</g>
-<!-- Node0->Node563 -->
-<g id="edge567" class="edge">
-<title>Node0->Node563</title>
-<path fill="none" stroke="#191970" d="M84.6097,-3654.2983C90.6969,-3460.2075 141.6234,-1895.8908 204,-1822 215.684,-1808.1592 233.7601,-1801.4868 251.4088,-1798.4875"/>
-<polygon fill="#191970" stroke="#191970" points="81.1065,-3654.3491 84.2931,-3664.4534 88.1031,-3654.5673 81.1065,-3654.3491"/>
+<!-- Node0->Node545 -->
+<g id="edge549" class="edge">
+<title>Node0->Node545</title>
+<path fill="none" stroke="#191970" d="M84.7004,-3566.9185C91.4043,-3377.0331 145.2607,-1902.989 204,-1833 213.9868,-1821.1005 228.662,-1814.3746 243.7485,-1810.6893"/>
+<polygon fill="#191970" stroke="#191970" points="81.1949,-3567.0153 84.3417,-3577.132 88.1906,-3567.261 81.1949,-3567.0153"/>
</g>
-<!-- Node590 -->
-<g id="node595" class="node">
-<title>Node590</title>
-<g id="a_node595"><a xlink:href="classtvm_1_1script_1_1printer_1_1FrameNode.html" target="_top" xlink:title="tvm::script::printer\l::FrameNode">
-<polygon fill="#ffffff" stroke="#000000" points="251.5,-1734 251.5,-1764 358.5,-1764 358.5,-1734 251.5,-1734"/>
-<text text-anchor="start" x="259.5" y="-1752" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::printer</text>
-<text text-anchor="middle" x="305" y="-1741" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::FrameNode</text>
+<!-- Node564 -->
+<g id="node569" class="node">
+<title>Node564</title>
+<g id="a_node569"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html" target="_top" xlink:title="A dialect-agnostic IRBuilder that constructs any IR of TVM. An idiomatic use of this class is to put ...">
+<polygon fill="#ffffff" stroke="#000000" points="244.5,-1744 244.5,-1774 365.5,-1774 365.5,-1744 244.5,-1744"/>
+<text text-anchor="start" x="252.5" y="-1762" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="305" y="-1751" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRBuilderNode</text>
</a>
</g>
</g>
-<!-- Node0->Node590 -->
-<g id="edge594" class="edge">
-<title>Node0->Node590</title>
-<path fill="none" stroke="#191970" d="M84.5826,-3654.0743C90.4511,-3456.1571 140.0111,-1848.9287 204,-1773 215.6725,-1759.1495 233.7462,-1752.475 251.3961,-1749.4768"/>
-<polygon fill="#191970" stroke="#191970" points="81.0804,-3654.1022 84.2841,-3664.201 88.0773,-3654.3085 81.0804,-3654.1022"/>
+<!-- Node0->Node564 -->
+<g id="edge568" class="edge">
+<title>Node0->Node564</title>
+<path fill="none" stroke="#191970" d="M84.6469,-3567.2255C90.9959,-3375.6348 143.2335,-1854.8582 204,-1783 214.1248,-1771.0271 229.0328,-1764.4202 244.3035,-1760.9149"/>
+<polygon fill="#191970" stroke="#191970" points="81.147,-3567.1695 84.3156,-3577.2794 88.1432,-3567.4002 81.147,-3567.1695"/>
</g>
-<!-- Node591 -->
-<g id="node596" class="node">
-<title>Node591</title>
-<g id="a_node596"><a xlink:href="classtvm_1_1script_1_1printer_1_1IRDocsifierNode.html" target="_top" xlink:title="IRDocsifier is the top-level interface in the IR->Doc process. ">
-<polygon fill="#ffffff" stroke="#000000" points="251.5,-1685 251.5,-1715 358.5,-1715 358.5,-1685 251.5,-1685"/>
-<text text-anchor="start" x="259.5" y="-1703" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::printer</text>
-<text text-anchor="middle" x="305" y="-1692" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRDocsifierNode</text>
+<!-- Node565 -->
+<g id="node570" class="node">
+<title>Node565</title>
+<g id="a_node570"><a xlink:href="classtvm_1_1script_1_1printer_1_1DocNode.html" target="_top" xlink:title="The base class of all Doc. ">
+<polygon fill="#ffffff" stroke="#000000" points="251.5,-1695 251.5,-1725 358.5,-1725 358.5,-1695 251.5,-1695"/>
+<text text-anchor="start" x="259.5" y="-1713" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::printer</text>
+<text text-anchor="middle" x="305" y="-1702" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DocNode</text>
</a>
</g>
</g>
-<!-- Node0->Node591 -->
-<g id="edge595" class="edge">
-<title>Node0->Node591</title>
-<path fill="none" stroke="#191970" d="M84.5473,-3654.1781C90.1578,-3453.9136 138.3628,-1802.0095 204,-1724 215.6616,-1710.1403 233.7329,-1703.4638 251.384,-1700.4666"/>
-<polygon fill="#191970" stroke="#191970" points="81.0426,-3654.3006 84.2629,-3664.3941 88.0399,-3654.4954 81.0426,-3654.3006"/>
+<!-- Node0->Node565 -->
+<g id="edge569" class="edge">
+<title>Node0->Node565</title>
+<path fill="none" stroke="#191970" d="M84.6093,-3567.2877C90.6929,-3373.0922 141.5911,-1807.9316 204,-1734 215.6838,-1720.159 233.7599,-1713.4865 251.4086,-1710.4873"/>
+<polygon fill="#191970" stroke="#191970" points="81.106,-3567.3441 84.2929,-3577.4482 88.1026,-3567.5621 81.106,-3567.3441"/>
</g>
<!-- Node592 -->
<g id="node597" class="node">
<title>Node592</title>
-<g id="a_node597"><a xlink:href="classtvm_1_1SourceMapNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node. ">
-<polygon fill="#ffffff" stroke="#000000" points="244.5,-1646.5 244.5,-1665.5 365.5,-1665.5 365.5,-1646.5 244.5,-1646.5"/>
-<text text-anchor="middle" x="305" y="-1653.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::SourceMapNode</text>
+<g id="a_node597"><a xlink:href="classtvm_1_1script_1_1printer_1_1FrameNode.html" target="_top" xlink:title="tvm::script::printer\l::FrameNode">
+<polygon fill="#ffffff" stroke="#000000" points="251.5,-1646 251.5,-1676 358.5,-1676 358.5,-1646 251.5,-1646"/>
+<text text-anchor="start" x="259.5" y="-1664" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::printer</text>
+<text text-anchor="middle" x="305" y="-1653" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::FrameNode</text>
</a>
</g>
</g>
<!-- Node0->Node592 -->
<g id="edge596" class="edge">
<title>Node0->Node592</title>
-<path fill="none" stroke="#191970" d="M84.5013,-3653.9686C89.693,-3449.881 134.8699,-1753.4383 204,-1675 214.2635,-1663.3545 229.2159,-1657.4299 244.4849,-1654.6828"/>
-<polygon fill="#191970" stroke="#191970" points="80.998,-3654.059 84.2442,-3664.1443 87.9957,-3654.2359 80.998,-3654.059"/>
+<path fill="none" stroke="#191970" d="M84.5822,-3567.0638C90.4471,-3369.0426 139.9788,-1760.9695 204,-1685 215.6723,-1671.1493 233.7459,-1664.4747 251.3959,-1661.4766"/>
+<polygon fill="#191970" stroke="#191970" points="81.0798,-3567.0972 84.284,-3577.1959 88.0768,-3567.3033 81.0798,-3567.0972"/>
</g>
<!-- Node593 -->
<g id="node598" class="node">
<title>Node593</title>
-<g id="a_node598"><a xlink:href="classtvm_1_1SourceNameNode.html" target="_top" xlink:title="The name of a source fragment. ">
-<polygon fill="#ffffff" stroke="#000000" points="240,-1608.5 240,-1627.5 370,-1627.5 370,-1608.5 240,-1608.5"/>
-<text text-anchor="middle" x="305" y="-1615.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::SourceNameNode</text>
+<g id="a_node598"><a xlink:href="classtvm_1_1script_1_1printer_1_1IRDocsifierNode.html" target="_top" xlink:title="IRDocsifier is the top-level interface in the IR->Doc process. ">
+<polygon fill="#ffffff" stroke="#000000" points="251.5,-1597 251.5,-1627 358.5,-1627 358.5,-1597 251.5,-1597"/>
+<text text-anchor="start" x="259.5" y="-1615" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::printer</text>
+<text text-anchor="middle" x="305" y="-1604" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRDocsifierNode</text>
</a>
</g>
</g>
<!-- Node0->Node593 -->
<g id="edge597" class="edge">
<title>Node0->Node593</title>
-<path fill="none" stroke="#191970" d="M84.4722,-3654.2194C89.4508,-3449.1507 133.5333,-1717.0448 204,-1637 213.196,-1626.5541 226.1644,-1620.7098 239.7528,-1617.6328"/>
-<polygon fill="#191970" stroke="#191970" points="80.9686,-3654.331 84.2265,-3664.4125 87.9665,-3654.4998 80.9686,-3654.331"/>
+<path fill="none" stroke="#191970" d="M84.5469,-3567.168C90.1539,-3366.8009 138.3305,-1714.0504 204,-1636 215.6614,-1622.1401 233.7326,-1615.4636 251.3837,-1612.4664"/>
+<polygon fill="#191970" stroke="#191970" points="81.0421,-3567.2957 84.2627,-3577.3892 88.0394,-3567.4904 81.0421,-3567.2957"/>
</g>
<!-- Node594 -->
<g id="node599" class="node">
<title>Node594</title>
-<g id="a_node599"><a xlink:href="classtvm_1_1SourceNode.html" target="_top" xlink:title="tvm::SourceNode">
-<polygon fill="#ffffff" stroke="#000000" points="254.5,-1570.5 254.5,-1589.5 355.5,-1589.5 355.5,-1570.5 254.5,-1570.5"/>
-<text text-anchor="middle" x="305" y="-1577.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::SourceNode</text>
+<g id="a_node599"><a xlink:href="classtvm_1_1SourceMapNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node. ">
+<polygon fill="#ffffff" stroke="#000000" points="244.5,-1558.5 244.5,-1577.5 365.5,-1577.5 365.5,-1558.5 244.5,-1558.5"/>
+<text text-anchor="middle" x="305" y="-1565.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::SourceMapNode</text>
</a>
</g>
</g>
<!-- Node0->Node594 -->
<g id="edge598" class="edge">
<title>Node0->Node594</title>
-<path fill="none" stroke="#191970" d="M84.4516,-3654.1615C89.2579,-3446.717 132.2314,-1680.6121 204,-1599 216.4894,-1584.7976 235.9523,-1579.099 254.4724,-1577.297"/>
-<polygon fill="#191970" stroke="#191970" points="80.9509,-3654.156 84.22,-3664.2338 87.9491,-3654.317 80.9509,-3654.156"/>
+<path fill="none" stroke="#191970" d="M84.5009,-3566.9586C89.6889,-3362.769 134.8367,-1665.4784 204,-1587 214.2633,-1575.3544 229.2157,-1569.4297 244.4846,-1566.6826"/>
+<polygon fill="#191970" stroke="#191970" points="80.9975,-3567.0542 84.2441,-3577.1393 87.9952,-3567.2308 80.9975,-3567.0542"/>
</g>
<!-- Node595 -->
<g id="node600" class="node">
<title>Node595</title>
-<g id="a_node600"><a xlink:href="classtvm_1_1SpanNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node. ">
-<polygon fill="#ffffff" stroke="#000000" points="259,-1532.5 259,-1551.5 351,-1551.5 351,-1532.5 259,-1532.5"/>
-<text text-anchor="middle" x="305" y="-1539.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::SpanNode</text>
+<g id="a_node600"><a xlink:href="classtvm_1_1SourceNameNode.html" target="_top" xlink:title="The name of a source fragment. ">
+<polygon fill="#ffffff" stroke="#000000" points="240,-1520.5 240,-1539.5 370,-1539.5 370,-1520.5 240,-1520.5"/>
+<text text-anchor="middle" x="305" y="-1527.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::SourceNameNode</text>
</a>
</g>
</g>
<!-- Node0->Node595 -->
<g id="edge599" class="edge">
<title>Node0->Node595</title>
-<path fill="none" stroke="#191970" d="M84.4385,-3653.7985C89.1089,-3442.5586 130.9645,-1644.1396 204,-1561 217.483,-1545.6517 239.1097,-1540.232 258.8981,-1538.9299"/>
-<polygon fill="#191970" stroke="#191970" points="80.9337,-3653.9808 84.2135,-3664.0551 87.932,-3654.1343 80.9337,-3653.9808"/>
+<path fill="none" stroke="#191970" d="M84.4718,-3567.2097C89.4468,-3362.0404 133.5,-1629.085 204,-1549 213.1958,-1538.554 226.1642,-1532.7096 239.7526,-1529.6326"/>
+<polygon fill="#191970" stroke="#191970" points="80.9681,-3567.3264 84.2264,-3577.4078 87.9661,-3567.4949 80.9681,-3567.3264"/>
</g>
<!-- Node596 -->
<g id="node601" class="node">
<title>Node596</title>
-<g id="a_node601"><a xlink:href="classtvm_1_1TargetKindNode.html" target="_top" xlink:title="Target kind, specifies the kind of the target. ">
-<polygon fill="#ffffff" stroke="#000000" points="245.5,-1494.5 245.5,-1513.5 364.5,-1513.5 364.5,-1494.5 245.5,-1494.5"/>
-<text text-anchor="middle" x="305" y="-1501.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TargetKindNode</text>
+<g id="a_node601"><a xlink:href="classtvm_1_1SourceNode.html" target="_top" xlink:title="tvm::SourceNode">
+<polygon fill="#ffffff" stroke="#000000" points="254.5,-1482.5 254.5,-1501.5 355.5,-1501.5 355.5,-1482.5 254.5,-1482.5"/>
+<text text-anchor="middle" x="305" y="-1489.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::SourceNode</text>
</a>
</g>
</g>
<!-- Node0->Node596 -->
<g id="edge600" class="edge">
<title>Node0->Node596</title>
-<path fill="none" stroke="#191970" d="M84.4116,-3654.0875C88.8769,-3442.1306 129.6219,-1607.7534 204,-1523 214.4154,-1511.1317 229.7001,-1505.1985 245.2427,-1502.5152"/>
-<polygon fill="#191970" stroke="#191970" points="80.907,-3654.2755 84.1972,-3664.3465 87.9055,-3654.4218 80.907,-3654.2755"/>
+<path fill="none" stroke="#191970" d="M84.4513,-3567.1519C89.254,-3359.6076 132.1981,-1592.6523 204,-1511 216.4892,-1496.7974 235.952,-1491.0988 254.4722,-1489.2969"/>
+<polygon fill="#191970" stroke="#191970" points="80.9505,-3567.1514 84.2198,-3577.2291 87.9486,-3567.3121 80.9505,-3567.1514"/>
</g>
<!-- Node597 -->
<g id="node602" class="node">
<title>Node597</title>
-<g id="a_node602"><a xlink:href="classtvm_1_1TargetNode.html" target="_top" xlink:title="Compilation target. ">
-<polygon fill="#ffffff" stroke="#000000" points="256,-1456.5 256,-1475.5 354,-1475.5 354,-1456.5 256,-1456.5"/>
-<text text-anchor="middle" x="305" y="-1463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TargetNode</text>
+<g id="a_node602"><a xlink:href="classtvm_1_1SpanNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node. ">
+<polygon fill="#ffffff" stroke="#000000" points="259,-1444.5 259,-1463.5 351,-1463.5 351,-1444.5 259,-1444.5"/>
+<text text-anchor="middle" x="305" y="-1451.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::SpanNode</text>
</a>
</g>
</g>
<!-- Node0->Node597 -->
<g id="edge601" class="edge">
<title>Node0->Node597</title>
-<path fill="none" stroke="#191970" d="M84.3924,-3654.0567C88.6908,-3439.896 128.316,-1571.3256 204,-1485 216.7622,-1470.4434 236.849,-1464.8128 255.7593,-1463.1569"/>
-<polygon fill="#191970" stroke="#191970" points="80.8908,-3654.1084 84.191,-3664.1761 87.8894,-3654.2477 80.8908,-3654.1084"/>
+<path fill="none" stroke="#191970" d="M84.4381,-3566.789C89.105,-3355.4492 130.9312,-1556.1798 204,-1473 217.4828,-1457.6515 239.1095,-1452.2318 258.898,-1450.9298"/>
+<polygon fill="#191970" stroke="#191970" points="80.9333,-3566.9761 84.2133,-3577.0504 87.9316,-3567.1295 80.9333,-3566.9761"/>
</g>
<!-- Node598 -->
<g id="node603" class="node">
<title>Node598</title>
-<g id="a_node603"><a xlink:href="classtvm_1_1TargetTagNode.html" target="_top" xlink:title="A target tag. ">
-<polygon fill="#ffffff" stroke="#000000" points="248,-1418.5 248,-1437.5 362,-1437.5 362,-1418.5 248,-1418.5"/>
-<text text-anchor="middle" x="305" y="-1425.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TargetTagNode</text>
+<g id="a_node603"><a xlink:href="classtvm_1_1TargetKindNode.html" target="_top" xlink:title="Target kind, specifies the kind of the target. ">
+<polygon fill="#ffffff" stroke="#000000" points="245.5,-1406.5 245.5,-1425.5 364.5,-1425.5 364.5,-1406.5 245.5,-1406.5"/>
+<text text-anchor="middle" x="305" y="-1413.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TargetKindNode</text>
</a>
</g>
</g>
<!-- Node0->Node598 -->
<g id="edge602" class="edge">
<title>Node0->Node598</title>
-<path fill="none" stroke="#191970" d="M84.3673,-3654.3705C88.4668,-3439.7052 126.9687,-1534.9449 204,-1447 214.9919,-1434.4507 231.4276,-1428.5338 247.8643,-1426.0785"/>
-<polygon fill="#191970" stroke="#191970" points="80.8659,-3654.4166 84.1759,-3664.4811 87.8646,-3654.5491 80.8659,-3654.4166"/>
+<path fill="none" stroke="#191970" d="M84.4112,-3567.0782C88.8731,-3355.0229 129.5885,-1519.7937 204,-1435 214.4153,-1423.1316 229.6999,-1417.1983 245.2425,-1414.5151"/>
+<polygon fill="#191970" stroke="#191970" points="80.9066,-3567.2711 84.1971,-3577.342 87.905,-3567.4172 80.9066,-3567.2711"/>
</g>
<!-- Node599 -->
<g id="node604" class="node">
<title>Node599</title>
-<g id="a_node604"><a xlink:href="classtvm_1_1te_1_1IterVarAttrNode.html" target="_top" xlink:title="node container for IterVar attr ">
-<polygon fill="#ffffff" stroke="#000000" points="238,-1380.5 238,-1399.5 372,-1399.5 372,-1380.5 238,-1380.5"/>
-<text text-anchor="middle" x="305" y="-1387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::IterVarAttrNode</text>
+<g id="a_node604"><a xlink:href="classtvm_1_1TargetNode.html" target="_top" xlink:title="Compilation target. ">
+<polygon fill="#ffffff" stroke="#000000" points="256,-1368.5 256,-1387.5 354,-1387.5 354,-1368.5 256,-1368.5"/>
+<text text-anchor="middle" x="305" y="-1375.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TargetNode</text>
</a>
</g>
</g>
<!-- Node0->Node599 -->
<g id="edge603" class="edge">
<title>Node0->Node599</title>
-<path fill="none" stroke="#191970" d="M84.3551,-3654.0359C88.3235,-3435.7109 125.6984,-1498.4766 204,-1409 212.7538,-1398.9969 224.9663,-1393.2068 237.8831,-1390.0248"/>
-<polygon fill="#191970" stroke="#191970" points="80.8507,-3654.2574 84.17,-3664.3188 87.8495,-3654.3835 80.8507,-3654.2574"/>
+<path fill="none" stroke="#191970" d="M84.3921,-3567.0476C88.6869,-3352.7891 128.2826,-1483.3658 204,-1397 216.762,-1382.4433 236.8488,-1376.8127 255.7592,-1375.1567"/>
+<polygon fill="#191970" stroke="#191970" points="80.8904,-3567.104 84.1909,-3577.1716 87.889,-3567.2432 80.8904,-3567.104"/>
</g>
<!-- Node600 -->
<g id="node605" class="node">
<title>Node600</title>
-<g id="a_node605"><a xlink:href="classtvm_1_1te_1_1IterVarRelationNode.html" target="_top" xlink:title="base node of iteration var ">
-<polygon fill="#ffffff" stroke="#000000" points="227.5,-1342.5 227.5,-1361.5 382.5,-1361.5 382.5,-1342.5 227.5,-1342.5"/>
-<text text-anchor="middle" x="305" y="-1349.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::IterVarRelationNode</text>
+<g id="a_node605"><a xlink:href="classtvm_1_1TargetTagNode.html" target="_top" xlink:title="A target tag. ">
+<polygon fill="#ffffff" stroke="#000000" points="248,-1330.5 248,-1349.5 362,-1349.5 362,-1330.5 248,-1330.5"/>
+<text text-anchor="middle" x="305" y="-1337.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TargetTagNode</text>
</a>
</g>
</g>
<!-- Node0->Node600 -->
<g id="edge604" class="edge">
<title>Node0->Node600</title>
-<path fill="none" stroke="#191970" d="M84.3373,-3654.0311C88.1441,-3433.6759 124.3885,-1462.0535 204,-1371 210.3419,-1363.7467 218.5022,-1358.7079 227.4317,-1355.2723"/>
-<polygon fill="#191970" stroke="#191970" points="80.8357,-3654.0981 84.1641,-3664.1565 87.8347,-3654.2179 80.8357,-3654.0981"/>
+<path fill="none" stroke="#191970" d="M84.367,-3567.3617C88.4631,-3352.6001 126.9353,-1446.9853 204,-1359 214.9918,-1346.4506 231.4274,-1340.5336 247.8641,-1338.0783"/>
+<polygon fill="#191970" stroke="#191970" points="80.8655,-3567.4124 84.1757,-3577.4768 87.8642,-3567.5448 80.8655,-3567.4124"/>
</g>
-<!-- Node606 -->
-<g id="node611" class="node">
-<title>Node606</title>
-<g id="a_node611"><a xlink:href="classtvm_1_1te_1_1OperationNode.html" target="_top" xlink:title="Base class of all operation nodes. ">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-1304.5 239.5,-1323.5 370.5,-1323.5 370.5,-1304.5 239.5,-1304.5"/>
-<text text-anchor="middle" x="305" y="-1311.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::OperationNode</text>
+<!-- Node601 -->
+<g id="node606" class="node">
+<title>Node601</title>
+<g id="a_node606"><a xlink:href="classtvm_1_1te_1_1IterVarAttrNode.html" target="_top" xlink:title="node container for IterVar attr ">
+<polygon fill="#ffffff" stroke="#000000" points="238,-1292.5 238,-1311.5 372,-1311.5 372,-1292.5 238,-1292.5"/>
+<text text-anchor="middle" x="305" y="-1299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::IterVarAttrNode</text>
</a>
</g>
</g>
-<!-- Node0->Node606 -->
-<g id="edge610" class="edge">
-<title>Node0->Node606</title>
-<path fill="none" stroke="#191970" d="M84.3143,-3654.3793C87.9305,-3433.7893 123.0353,-1425.6801 204,-1333 213.0974,-1322.5863 225.943,-1316.7364 239.4337,-1313.6416"/>
-<polygon fill="#191970" stroke="#191970" points="80.8131,-3654.4265 84.1503,-3664.482 87.8122,-3654.5402 80.8131,-3654.4265"/>
+<!-- Node0->Node601 -->
+<g id="edge605" class="edge">
+<title>Node0->Node601</title>
+<path fill="none" stroke="#191970" d="M84.3548,-3567.0271C88.3197,-3348.6058 125.665,-1410.5169 204,-1321 212.7537,-1310.9968 224.9661,-1305.2067 237.8829,-1302.0246"/>
+<polygon fill="#191970" stroke="#191970" points="80.8503,-3567.2532 84.1698,-3577.3145 87.8492,-3567.3791 80.8503,-3567.2532"/>
</g>
-<!-- Node614 -->
-<g id="node619" class="node">
-<title>Node614</title>
-<g id="a_node619"><a xlink:href="classtvm_1_1te_1_1ScheduleNode.html" target="_top" xlink:title="node container for schedule ">
-<polygon fill="#ffffff" stroke="#000000" points="241,-1266.5 241,-1285.5 369,-1285.5 369,-1266.5 241,-1266.5"/>
-<text text-anchor="middle" x="305" y="-1273.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::ScheduleNode</text>
+<!-- Node602 -->
+<g id="node607" class="node">
+<title>Node602</title>
+<g id="a_node607"><a xlink:href="classtvm_1_1te_1_1IterVarRelationNode.html" target="_top" xlink:title="base node of iteration var ">
+<polygon fill="#ffffff" stroke="#000000" points="227.5,-1254.5 227.5,-1273.5 382.5,-1273.5 382.5,-1254.5 227.5,-1254.5"/>
+<text text-anchor="middle" x="305" y="-1261.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::IterVarRelationNode</text>
</a>
</g>
</g>
-<!-- Node0->Node614 -->
-<g id="edge618" class="edge">
-<title>Node0->Node614</title>
-<path fill="none" stroke="#191970" d="M84.3027,-3654.061C87.7906,-3429.8934 121.7629,-1389.2142 204,-1295 213.4451,-1284.1793 226.9371,-1278.2851 240.9969,-1275.289"/>
-<polygon fill="#191970" stroke="#191970" points="80.7991,-3654.275 84.1447,-3664.3277 87.7983,-3654.3828 80.7991,-3654.275"/>
+<!-- Node0->Node602 -->
+<g id="edge606" class="edge">
+<title>Node0->Node602</title>
+<path fill="none" stroke="#191970" d="M84.337,-3567.0224C88.1403,-3346.5717 124.355,-1374.0938 204,-1283 210.3418,-1275.7466 218.5021,-1270.7078 227.4315,-1267.2721"/>
+<polygon fill="#191970" stroke="#191970" points="80.8354,-3567.0939 84.1639,-3577.1522 87.8343,-3567.2135 80.8354,-3567.0939"/>
</g>
-<!-- Node615 -->
-<g id="node620" class="node">
-<title>Node615</title>
-<g id="a_node620"><a xlink:href="classtvm_1_1te_1_1SpecializedConditionNode.html" target="_top" xlink:title="Container for specialization conditions. ">
-<polygon fill="#ffffff" stroke="#000000" points="212.5,-1228.5 212.5,-1247.5 397.5,-1247.5 397.5,-1228.5 212.5,-1228.5"/>
-<text text-anchor="middle" x="305" y="-1235.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::SpecializedConditionNode</text>
+<!-- Node608 -->
+<g id="node613" class="node">
+<title>Node608</title>
+<g id="a_node613"><a xlink:href="classtvm_1_1te_1_1OperationNode.html" target="_top" xlink:title="Base class of all operation nodes. ">
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-1216.5 239.5,-1235.5 370.5,-1235.5 370.5,-1216.5 239.5,-1216.5"/>
+<text text-anchor="middle" x="305" y="-1223.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::OperationNode</text>
</a>
</g>
</g>
-<!-- Node0->Node615 -->
-<g id="edge619" class="edge">
-<title>Node0->Node615</title>
-<path fill="none" stroke="#191970" d="M84.2862,-3654.081C87.618,-3428.0588 120.449,-1352.7959 204,-1257 207.1665,-1253.3694 210.7885,-1250.2934 214.7348,-1247.6952"/>
-<polygon fill="#191970" stroke="#191970" points="80.7853,-3654.1233 84.139,-3664.1733 87.7845,-3654.2254 80.7853,-3654.1233"/>
+<!-- Node0->Node608 -->
+<g id="edge612" class="edge">
+<title>Node0->Node608</title>
+<path fill="none" stroke="#191970" d="M84.314,-3567.3709C87.9268,-3346.6868 123.0018,-1337.7205 204,-1245 213.0972,-1234.5862 225.9428,-1228.7363 239.4336,-1225.6414"/>
+<polygon fill="#191970" stroke="#191970" points="80.8128,-3567.4226 84.1502,-3577.478 87.8118,-3567.536 80.8128,-3567.4226"/>
</g>
<!-- Node616 -->
<g id="node621" class="node">
<title>Node616</title>
-<g id="a_node621"><a xlink:href="classtvm_1_1te_1_1StageNode.html" target="_top" xlink:title="represents a stage. ">
-<polygon fill="#ffffff" stroke="#000000" points="249.5,-1190.5 249.5,-1209.5 360.5,-1209.5 360.5,-1190.5 249.5,-1190.5"/>
-<text text-anchor="middle" x="305" y="-1197.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::StageNode</text>
+<g id="a_node621"><a xlink:href="classtvm_1_1te_1_1ScheduleNode.html" target="_top" xlink:title="node container for schedule ">
+<polygon fill="#ffffff" stroke="#000000" points="241,-1178.5 241,-1197.5 369,-1197.5 369,-1178.5 241,-1178.5"/>
+<text text-anchor="middle" x="305" y="-1185.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::ScheduleNode</text>
</a>
</g>
</g>
<!-- Node0->Node616 -->
<g id="edge620" class="edge">
<title>Node0->Node616</title>
-<path fill="none" stroke="#191970" d="M84.2748,-3653.7681C87.4792,-3424.1953 119.1759,-1316.3309 204,-1219 215.3123,-1206.0198 232.4476,-1200.1257 249.4086,-1197.8198"/>
-<polygon fill="#191970" stroke="#191970" points="80.7718,-3653.9716 84.1334,-3664.0189 87.7711,-3654.0682 80.7718,-3653.9716"/>
+<path fill="none" stroke="#191970" d="M84.3024,-3567.0527C87.7869,-3342.7908 121.7294,-1301.2546 204,-1207 213.445,-1196.1792 226.9369,-1190.285 240.9967,-1187.2889"/>
+<polygon fill="#191970" stroke="#191970" points="80.7987,-3567.271 84.1445,-3577.3236 87.7979,-3567.3786 80.7987,-3567.271"/>
</g>
<!-- Node617 -->
<g id="node622" class="node">
<title>Node617</title>
-<g id="a_node622"><a xlink:href="classtvm_1_1te_1_1TensorIntrinCallNode.html" target="_top" xlink:title="tvm::te::TensorIntrinCallNode">
-<polygon fill="#ffffff" stroke="#000000" points="225.5,-1152.5 225.5,-1171.5 384.5,-1171.5 384.5,-1152.5 225.5,-1152.5"/>
-<text text-anchor="middle" x="305" y="-1159.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::TensorIntrinCallNode</text>
+<g id="a_node622"><a xlink:href="classtvm_1_1te_1_1SpecializedConditionNode.html" target="_top" xlink:title="Container for specialization conditions. ">
+<polygon fill="#ffffff" stroke="#000000" points="212.5,-1140.5 212.5,-1159.5 397.5,-1159.5 397.5,-1140.5 212.5,-1140.5"/>
+<text text-anchor="middle" x="305" y="-1147.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::SpecializedConditionNode</text>
</a>
</g>
</g>
<!-- Node0->Node617 -->
<g id="edge621" class="edge">
<title>Node0->Node617</title>
-<path fill="none" stroke="#191970" d="M84.2542,-3654.1593C87.2783,-3424.68 117.8154,-1279.9662 204,-1181 209.8588,-1174.2723 217.2818,-1169.4479 225.4346,-1166.0398"/>
-<polygon fill="#191970" stroke="#191970" points="80.7518,-3654.3267 84.1212,-3664.3714 87.7512,-3654.4178 80.7518,-3654.3267"/>
+<path fill="none" stroke="#191970" d="M84.2859,-3567.0728C87.6143,-3340.9571 120.4155,-1264.8363 204,-1169 207.1664,-1165.3694 210.7885,-1162.2933 214.7347,-1159.6951"/>
+<polygon fill="#191970" stroke="#191970" points="80.7849,-3567.1193 84.1389,-3577.1693 87.7842,-3567.2213 80.7849,-3567.1193"/>
</g>
<!-- Node618 -->
<g id="node623" class="node">
<title>Node618</title>
-<g id="a_node623"><a xlink:href="classtvm_1_1te_1_1TensorIntrinNode.html" target="_top" xlink:title="Node to represent a Tensor intrinsic operator. ">
-<polygon fill="#ffffff" stroke="#000000" points="235,-1114.5 235,-1133.5 375,-1133.5 375,-1114.5 235,-1114.5"/>
-<text text-anchor="middle" x="305" y="-1121.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::TensorIntrinNode</text>
+<g id="a_node623"><a xlink:href="classtvm_1_1te_1_1StageNode.html" target="_top" xlink:title="represents a stage. ">
+<polygon fill="#ffffff" stroke="#000000" points="249.5,-1102.5 249.5,-1121.5 360.5,-1121.5 360.5,-1102.5 249.5,-1102.5"/>
+<text text-anchor="middle" x="305" y="-1109.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::StageNode</text>
</a>
</g>
</g>
<!-- Node0->Node618 -->
<g id="edge622" class="edge">
<title>Node0->Node618</title>
-<path fill="none" stroke="#191970" d="M84.2388,-3654.2101C87.112,-3423.0915 116.4966,-1243.5538 204,-1143 212.0818,-1133.7129 223.1443,-1128.0518 234.9937,-1124.7368"/>
-<polygon fill="#191970" stroke="#191970" points="80.7359,-3654.435 84.1128,-3664.4772 87.7354,-3654.5209 80.7359,-3654.435"/>
+<path fill="none" stroke="#191970" d="M84.2745,-3566.7599C87.4755,-3337.0936 119.1424,-1228.3713 204,-1131 215.3121,-1118.0197 232.4475,-1112.1255 249.4084,-1109.8197"/>
+<polygon fill="#191970" stroke="#191970" points="80.7714,-3566.9676 84.1332,-3577.0149 87.7708,-3567.0641 80.7714,-3566.9676"/>
</g>
<!-- Node619 -->
<g id="node624" class="node">
<title>Node619</title>
-<g id="a_node624"><a xlink:href="classtvm_1_1tir_1_1BijectiveLayoutNode.html" target="_top" xlink:title="tvm::tir::BijectiveLayoutNode">
-<polygon fill="#ffffff" stroke="#000000" points="225,-1076.5 225,-1095.5 385,-1095.5 385,-1076.5 225,-1076.5"/>
-<text text-anchor="middle" x="305" y="-1083.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BijectiveLayoutNode</text>
+<g id="a_node624"><a xlink:href="classtvm_1_1te_1_1TensorIntrinCallNode.html" target="_top" xlink:title="tvm::te::TensorIntrinCallNode">
+<polygon fill="#ffffff" stroke="#000000" points="225.5,-1064.5 225.5,-1083.5 384.5,-1083.5 384.5,-1064.5 225.5,-1064.5"/>
+<text text-anchor="middle" x="305" y="-1071.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::TensorIntrinCallNode</text>
</a>
</g>
</g>
<!-- Node0->Node619 -->
<g id="edge623" class="edge">
<title>Node0->Node619</title>
-<path fill="none" stroke="#191970" d="M84.224,-3654.2613C86.9486,-3421.5258 115.1773,-1207.1419 204,-1105 209.7369,-1098.4028 216.9779,-1093.635 224.9371,-1090.238"/>
-<polygon fill="#191970" stroke="#191970" points="80.7234,-3654.2945 84.1076,-3664.3343 87.723,-3654.3755 80.7234,-3654.2945"/>
+<path fill="none" stroke="#191970" d="M84.2539,-3567.1514C87.2747,-3337.5801 117.7818,-1192.0067 204,-1093 209.8587,-1086.2723 217.2817,-1081.4478 225.4345,-1078.0397"/>
+<polygon fill="#191970" stroke="#191970" points="80.7515,-3567.3229 84.1211,-3577.3675 87.7509,-3567.4139 80.7515,-3567.3229"/>
</g>
<!-- Node620 -->
<g id="node625" class="node">
<title>Node620</title>
-<g id="a_node625"><a xlink:href="classtvm_1_1tir_1_1BlockRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR block. ">
-<polygon fill="#ffffff" stroke="#000000" points="243,-1038.5 243,-1057.5 367,-1057.5 367,-1038.5 243,-1038.5"/>
-<text text-anchor="middle" x="305" y="-1045.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BlockRVNode</text>
+<g id="a_node625"><a xlink:href="classtvm_1_1te_1_1TensorIntrinNode.html" target="_top" xlink:title="Node to represent a Tensor intrinsic operator. ">
+<polygon fill="#ffffff" stroke="#000000" points="235,-1026.5 235,-1045.5 375,-1045.5 375,-1026.5 235,-1026.5"/>
+<text text-anchor="middle" x="305" y="-1033.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::TensorIntrinNode</text>
</a>
</g>
</g>
<!-- Node0->Node620 -->
<g id="edge624" class="edge">
<title>Node0->Node620</title>
-<path fill="none" stroke="#191970" d="M84.2094,-3654.3271C86.7869,-3420.0726 113.8559,-1170.7326 204,-1067 213.8309,-1055.6872 228.0845,-1049.7528 242.8,-1046.8851"/>
-<polygon fill="#191970" stroke="#191970" points="80.7084,-3654.4108 84.0997,-3664.4482 87.708,-3654.4868 80.7084,-3654.4108"/>
+<path fill="none" stroke="#191970" d="M84.2385,-3567.2023C87.1084,-3335.9925 116.463,-1155.5942 204,-1055 212.0817,-1045.7128 223.1442,-1040.0517 234.9936,-1036.7367"/>
+<polygon fill="#191970" stroke="#191970" points="80.7356,-3567.4313 84.1127,-3577.4734 87.735,-3567.5171 80.7356,-3567.4313"/>
</g>
<!-- Node621 -->
<g id="node626" class="node">
<title>Node621</title>
-<g id="a_node626"><a xlink:href="classtvm_1_1tir_1_1BlockScopeNode.html" target="_top" xlink:title="An object with 1-to-1 correspondence with each block reference in the sref tree. This data structure ...">
-<polygon fill="#ffffff" stroke="#000000" points="235,-1000.5 235,-1019.5 375,-1019.5 375,-1000.5 235,-1000.5"/>
-<text text-anchor="middle" x="305" y="-1007.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BlockScopeNode</text>
+<g id="a_node626"><a xlink:href="classtvm_1_1tir_1_1BijectiveLayoutNode.html" target="_top" xlink:title="tvm::tir::BijectiveLayoutNode">
+<polygon fill="#ffffff" stroke="#000000" points="225,-988.5 225,-1007.5 385,-1007.5 385,-988.5 225,-988.5"/>
+<text text-anchor="middle" x="305" y="-995.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BijectiveLayoutNode</text>
</a>
</g>
</g>
<!-- Node0->Node621 -->
<g id="edge625" class="edge">
<title>Node0->Node621</title>
-<path fill="none" stroke="#191970" d="M84.199,-3654.0406C86.6538,-3416.3741 112.5794,-1134.2717 204,-1029 212.0723,-1019.7047 223.1305,-1014.0398 234.9785,-1010.7236"/>
-<polygon fill="#191970" stroke="#191970" points="80.6966,-3654.2739 84.0946,-3664.3091 87.6962,-3654.3452 80.6966,-3654.2739"/>
+<path fill="none" stroke="#191970" d="M84.2237,-3567.2536C86.945,-3334.4276 115.1438,-1119.1824 204,-1017 209.7369,-1010.4028 216.9779,-1005.6349 224.937,-1002.2379"/>
+<polygon fill="#191970" stroke="#191970" points="80.7231,-3567.2908 84.1075,-3577.3306 87.7227,-3567.3716 80.7231,-3567.2908"/>
</g>
<!-- Node622 -->
<g id="node627" class="node">
<title>Node622</title>
-<g id="a_node627"><a xlink:href="classtvm_1_1tir_1_1BufferNode.html" target="_top" xlink:title="Node to represent a buffer. ">
-<polygon fill="#ffffff" stroke="#000000" points="248.5,-962.5 248.5,-981.5 361.5,-981.5 361.5,-962.5 248.5,-962.5"/>
-<text text-anchor="middle" x="305" y="-969.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BufferNode</text>
+<g id="a_node627"><a xlink:href="classtvm_1_1tir_1_1BlockRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR block. ">
+<polygon fill="#ffffff" stroke="#000000" points="243,-950.5 243,-969.5 367,-969.5 367,-950.5 243,-950.5"/>
+<text text-anchor="middle" x="305" y="-957.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BlockRVNode</text>
</a>
</g>
</g>
<!-- Node0->Node622 -->
<g id="edge626" class="edge">
<title>Node0->Node622</title>
-<path fill="none" stroke="#191970" d="M84.1851,-3654.1189C86.4956,-3415.0216 111.256,-1097.8648 204,-991 215.0515,-978.2659 231.7066,-972.3441 248.3224,-969.9404"/>
-<polygon fill="#191970" stroke="#191970" points="80.6824,-3654.3978 84.0871,-3664.4307 87.6821,-3654.4645 80.6824,-3654.3978"/>
+<path fill="none" stroke="#191970" d="M84.2092,-3567.3196C86.7834,-3332.9753 113.8223,-1082.7731 204,-979 213.8308,-967.6871 228.0844,-961.7526 242.7999,-958.885"/>
+<polygon fill="#191970" stroke="#191970" points="80.7081,-3567.4072 84.0995,-3577.4445 87.7077,-3567.483 80.7081,-3567.4072"/>
</g>
<!-- Node623 -->
<g id="node628" class="node">
<title>Node623</title>
-<g id="a_node628"><a xlink:href="classtvm_1_1tir_1_1BufferRegionNode.html" target="_top" xlink:title="Representing the region of multi-dimensional buffer access. ">
-<polygon fill="#ffffff" stroke="#000000" points="232,-924.5 232,-943.5 378,-943.5 378,-924.5 232,-924.5"/>
-<text text-anchor="middle" x="305" y="-931.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BufferRegionNode</text>
+<g id="a_node628"><a xlink:href="classtvm_1_1tir_1_1BlockScopeNode.html" target="_top" xlink:title="An object with 1-to-1 correspondence with each block reference in the sref tree. This data structure ...">
+<polygon fill="#ffffff" stroke="#000000" points="235,-912.5 235,-931.5 375,-931.5 375,-912.5 235,-912.5"/>
+<text text-anchor="middle" x="305" y="-919.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BlockScopeNode</text>
</a>
</g>
</g>
<!-- Node0->Node623 -->
<g id="edge627" class="edge">
<title>Node0->Node623</title>
-<path fill="none" stroke="#191970" d="M84.1716,-3654.1971C86.3402,-3413.6905 109.9321,-1061.4585 204,-953 211.365,-944.5083 221.2218,-939.0454 231.8979,-935.6349"/>
-<polygon fill="#191970" stroke="#191970" points="80.671,-3654.2646 84.0821,-3664.2953 87.6707,-3654.3267 80.671,-3654.2646"/>
+<path fill="none" stroke="#191970" d="M84.1988,-3567.0331C86.6503,-3329.2768 112.5458,-1046.3122 204,-941 212.0722,-931.7046 223.1304,-926.0397 234.9784,-922.7235"/>
+<polygon fill="#191970" stroke="#191970" points="80.6963,-3567.2703 84.0944,-3577.3054 87.6959,-3567.3415 80.6963,-3567.2703"/>
</g>
<!-- Node624 -->
<g id="node629" class="node">
<title>Node624</title>
-<g id="a_node629"><a xlink:href="classtvm_1_1tir_1_1CommReducerNode.html" target="_top" xlink:title="A commutative reducer node to represent a commutative binary operator with identity element...">
-<polygon fill="#ffffff" stroke="#000000" points="227.5,-886.5 227.5,-905.5 382.5,-905.5 382.5,-886.5 227.5,-886.5"/>
-<text text-anchor="middle" x="305" y="-893.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::CommReducerNode</text>
+<g id="a_node629"><a xlink:href="classtvm_1_1tir_1_1BufferNode.html" target="_top" xlink:title="Node to represent a buffer. ">
+<polygon fill="#ffffff" stroke="#000000" points="248.5,-874.5 248.5,-893.5 361.5,-893.5 361.5,-874.5 248.5,-874.5"/>
+<text text-anchor="middle" x="305" y="-881.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BufferNode</text>
</a>
</g>
</g>
<!-- Node0->Node624 -->
<g id="edge628" class="edge">
<title>Node0->Node624</title>
-<path fill="none" stroke="#191970" d="M84.1585,-3654.2895C86.1867,-3412.4736 108.606,-1025.0549 204,-915 210.3106,-907.7195 218.4529,-902.665 227.3734,-899.2215"/>
-<polygon fill="#191970" stroke="#191970" points="80.6576,-3654.3959 84.075,-3664.4245 87.6574,-3654.4537 80.6576,-3654.3959"/>
+<path fill="none" stroke="#191970" d="M84.1848,-3567.1114C86.4921,-3327.9251 111.2224,-1009.9053 204,-903 215.0514,-890.2658 231.7064,-884.344 248.3222,-881.9403"/>
+<polygon fill="#191970" stroke="#191970" points="80.6821,-3567.3943 84.0869,-3577.4271 87.6818,-3567.4608 80.6821,-3567.3943"/>
</g>
<!-- Node625 -->
<g id="node630" class="node">
<title>Node625</title>
-<g id="a_node630"><a xlink:href="classtvm_1_1tir_1_1DataProducerNode.html" target="_top" xlink:title="Base node for data producers. ">
-<polygon fill="#ffffff" stroke="#000000" points="230,-848.5 230,-867.5 380,-867.5 380,-848.5 230,-848.5"/>
-<text text-anchor="middle" x="305" y="-855.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::DataProducerNode</text>
+<g id="a_node630"><a xlink:href="classtvm_1_1tir_1_1BufferRegionNode.html" target="_top" xlink:title="Representing the region of multi-dimensional buffer access. ">
+<polygon fill="#ffffff" stroke="#000000" points="232,-836.5 232,-855.5 378,-855.5 378,-836.5 232,-836.5"/>
+<text text-anchor="middle" x="305" y="-843.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BufferRegionNode</text>
</a>
</g>
</g>
<!-- Node0->Node625 -->
<g id="edge629" class="edge">
<title>Node0->Node625</title>
-<path fill="none" stroke="#191970" d="M84.1486,-3654.0183C86.0571,-3408.8742 107.3275,-988.5963 204,-877 210.8926,-869.0433 219.9729,-863.745 229.8663,-860.3023"/>
-<polygon fill="#191970" stroke="#191970" points="80.6467,-3654.2662 84.0702,-3664.2927 87.6465,-3654.3197 80.6467,-3654.2662"/>
+<path fill="none" stroke="#191970" d="M84.1714,-3567.1898C86.3368,-3326.5949 109.8985,-973.4991 204,-865 211.3649,-856.5082 221.2217,-851.0453 231.8978,-847.6348"/>
+<polygon fill="#191970" stroke="#191970" points="80.6707,-3567.2611 84.082,-3577.2917 87.6704,-3567.3231 80.6707,-3567.2611"/>
+</g>
+<!-- Node626 -->
+<g id="node631" class="node">
+<title>Node626</title>
+<g id="a_node631"><a xlink:href="classtvm_1_1tir_1_1CommReducerNode.html" target="_top" xlink:title="A commutative reducer node to represent a commutative binary operator with identity element...">
+<polygon fill="#ffffff" stroke="#000000" points="227.5,-798.5 227.5,-817.5 382.5,-817.5 382.5,-798.5 227.5,-798.5"/>
+<text text-anchor="middle" x="305" y="-805.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::CommReducerNode</text>
+</a>
+</g>
+</g>
+<!-- Node0->Node626 -->
+<g id="edge630" class="edge">
+<title>Node0->Node626</title>
+<path fill="none" stroke="#191970" d="M84.1582,-3567.2824C86.1833,-3325.3789 108.5724,-937.0954 204,-827 210.3106,-819.7194 218.4529,-814.665 227.3733,-811.2214"/>
+<polygon fill="#191970" stroke="#191970" points="80.6573,-3567.3925 84.0749,-3577.421 87.6571,-3567.4501 80.6573,-3567.3925"/>
</g>
<!-- Node627 -->
<g id="node632" class="node">
<title>Node627</title>
-<g id="a_node632"><a xlink:href="classtvm_1_1tir_1_1DependencyNode.html" target="_top" xlink:title="A tuple (src, dst, kind) representing certain types of dependency. For example, (A, B, kRAW) means block B depends on block A, and the dependency kind is read-after-write, which means block B reads the result written by block A. ">
-<polygon fill="#ffffff" stroke="#000000" points="232.5,-810.5 232.5,-829.5 377.5,-829.5 377.5,-810.5 232.5,-810.5"/>
-<text text-anchor="middle" x="305" y="-817.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::DependencyNode</text>
+<g id="a_node632"><a xlink:href="classtvm_1_1tir_1_1DataProducerNode.html" target="_top" xlink:title="Base node for data producers. ">
+<polygon fill="#ffffff" stroke="#000000" points="230,-760.5 230,-779.5 380,-779.5 380,-760.5 230,-760.5"/>
+<text text-anchor="middle" x="305" y="-767.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::DataProducerNode</text>
</a>
</g>
</g>
<!-- Node0->Node627 -->
<g id="edge631" class="edge">
<title>Node0->Node627</title>
-<path fill="none" stroke="#191970" d="M84.1361,-3654.1225C85.9071,-3407.7583 105.9994,-952.1951 204,-839 211.4743,-830.3669 221.5239,-824.8628 232.3941,-821.4629"/>
-<polygon fill="#191970" stroke="#191970" points="80.6341,-3654.4048 84.0635,-3664.4292 87.6339,-3654.4541 80.6341,-3654.4048"/>
-</g>
-<!-- Node628 -->
-<g id="node633" class="node">
-<title>Node628</title>
-<g id="a_node633"><a xlink:href="classtvm_1_1tir_1_1IndexMapNode.html" target="_top" xlink:title="Defines a mapping between two representations of indices into a buffer. ">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-772.5 239.5,-791.5 370.5,-791.5 370.5,-772.5 239.5,-772.5"/>
-<text text-anchor="middle" x="305" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::IndexMapNode</text>
-</a>
-</g>
-</g>
-<!-- Node0->Node628 -->
-<g id="edge632" class="edge">
-<title>Node0->Node628</title>
-<path fill="none" stroke="#191970" d="M84.1239,-3654.2263C85.7598,-3406.6627 104.671,-915.7943 204,-801 213.0479,-790.5433 225.8741,-784.6765 239.3616,-781.5789"/>
-<polygon fill="#191970" stroke="#191970" points="80.6236,-3654.2785 84.0588,-3664.301 87.6235,-3654.3238 80.6236,-3654.2785"/>
+<path fill="none" stroke="#191970" d="M84.1484,-3567.0111C86.0536,-3321.7795 107.2939,-900.6369 204,-789 210.8926,-781.0433 219.9728,-775.7449 229.8662,-772.3022"/>
+<polygon fill="#191970" stroke="#191970" points="80.6464,-3567.2628 84.0701,-3577.2892 87.6462,-3567.3162 80.6464,-3567.2628"/>
</g>
<!-- Node629 -->
<g id="node634" class="node">
<title>Node629</title>
-<g id="a_node634"><a xlink:href="classtvm_1_1tir_1_1InstructionKindNode.html" target="_top" xlink:title="Kind of an instruction, e.g. Split, Reorder, etc. Besides the name, every kind of instruction has its...">
-<polygon fill="#ffffff" stroke="#000000" points="226,-734.5 226,-753.5 384,-753.5 384,-734.5 226,-734.5"/>
-<text text-anchor="middle" x="305" y="-741.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::InstructionKindNode</text>
+<g id="a_node634"><a xlink:href="classtvm_1_1tir_1_1DependencyNode.html" target="_top" xlink:title="A tuple (src, dst, kind) representing certain types of dependency. For example, (A, B, kRAW) means block B depends on block A, and the dependency kind is read-after-write, which means block B reads the result written by block A. ">
+<polygon fill="#ffffff" stroke="#000000" points="232.5,-722.5 232.5,-741.5 377.5,-741.5 377.5,-722.5 232.5,-722.5"/>
+<text text-anchor="middle" x="305" y="-729.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::DependencyNode</text>
</a>
</g>
</g>
<!-- Node0->Node629 -->
<g id="edge633" class="edge">
<title>Node0->Node629</title>
-<path fill="none" stroke="#191970" d="M84.1121,-3654.3439C85.6145,-3405.683 103.3402,-879.3963 204,-763 209.9523,-756.1172 217.5414,-751.2227 225.879,-747.7974"/>
-<polygon fill="#191970" stroke="#191970" points="80.6117,-3654.4241 84.0526,-3664.4446 87.6116,-3654.4654 80.6117,-3654.4241"/>
+<path fill="none" stroke="#191970" d="M84.1358,-3567.1155C85.9037,-3320.6645 105.9658,-864.2357 204,-751 211.4742,-742.3668 221.5238,-736.8628 232.394,-733.4628"/>
+<polygon fill="#191970" stroke="#191970" points="80.6338,-3567.4014 84.0634,-3577.4258 87.6336,-3567.4507 80.6338,-3567.4014"/>
</g>
<!-- Node630 -->
<g id="node635" class="node">
<title>Node630</title>
-<g id="a_node635"><a xlink:href="classtvm_1_1tir_1_1InstructionNode.html" target="_top" xlink:title="Schedule instructions each corresponds to a schedule primitive. ">
-<polygon fill="#ffffff" stroke="#000000" points="237,-696.5 237,-715.5 373,-715.5 373,-696.5 237,-696.5"/>
-<text text-anchor="middle" x="305" y="-703.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::InstructionNode</text>
+<g id="a_node635"><a xlink:href="classtvm_1_1tir_1_1IndexMapNode.html" target="_top" xlink:title="Defines a mapping between two representations of indices into a buffer. ">
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-684.5 239.5,-703.5 370.5,-703.5 370.5,-684.5 239.5,-684.5"/>
+<text text-anchor="middle" x="305" y="-691.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::IndexMapNode</text>
</a>
</g>
</g>
<!-- Node0->Node630 -->
<g id="edge634" class="edge">
<title>Node0->Node630</title>
-<path fill="none" stroke="#191970" d="M84.1028,-3654.0875C85.4883,-3402.1828 102.0597,-842.9402 204,-725 212.4589,-715.2134 224.2273,-709.4461 236.7521,-706.2065"/>
-<polygon fill="#191970" stroke="#191970" points="80.6017,-3654.3013 84.048,-3664.3199 87.6016,-3654.3388 80.6017,-3654.3013"/>
+<path fill="none" stroke="#191970" d="M84.1237,-3567.2195C85.7564,-3319.5697 104.6373,-827.8349 204,-713 213.0479,-702.5433 225.874,-696.6764 239.3615,-693.5788"/>
+<polygon fill="#191970" stroke="#191970" points="80.6234,-3567.2752 84.0587,-3577.2976 87.6232,-3567.3204 80.6234,-3567.2752"/>
</g>
<!-- Node631 -->
<g id="node636" class="node">
<title>Node631</title>
-<g id="a_node636"><a xlink:href="classtvm_1_1tir_1_1IterVarNode.html" target="_top" xlink:title="An iteration variable representing an iteration over a one dimensional interval. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-658.5 247,-677.5 363,-677.5 363,-658.5 247,-658.5"/>
-<text text-anchor="middle" x="305" y="-665.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::IterVarNode</text>
+<g id="a_node636"><a xlink:href="classtvm_1_1tir_1_1InstructionKindNode.html" target="_top" xlink:title="Kind of an instruction, e.g. Split, Reorder, etc. Besides the name, every kind of instruction has its...">
+<polygon fill="#ffffff" stroke="#000000" points="226,-646.5 226,-665.5 384,-665.5 384,-646.5 226,-646.5"/>
+<text text-anchor="middle" x="305" y="-653.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::InstructionKindNode</text>
</a>
</g>
</g>
<!-- Node0->Node631 -->
<g id="edge635" class="edge">
<title>Node0->Node631</title>
-<path fill="none" stroke="#191970" d="M84.0916,-3654.2162C85.3466,-3401.3043 100.727,-806.5445 204,-687 214.7309,-674.5784 230.7932,-668.6309 246.969,-666.1086"/>
-<polygon fill="#191970" stroke="#191970" points="80.5905,-3654.4535 84.0422,-3664.4703 87.5904,-3654.4873 80.5905,-3654.4535"/>
+<path fill="none" stroke="#191970" d="M84.1119,-3567.3371C85.6112,-3318.5908 103.3065,-791.4369 204,-675 209.9522,-668.1172 217.5413,-663.2226 225.8789,-659.7974"/>
+<polygon fill="#191970" stroke="#191970" points="80.6114,-3567.4208 84.0525,-3577.4413 87.6113,-3567.4621 80.6114,-3567.4208"/>
</g>
<!-- Node632 -->
<g id="node637" class="node">
<title>Node632</title>
-<g id="a_node637"><a xlink:href="classtvm_1_1tir_1_1LayoutNode.html" target="_top" xlink:title="Layout is to describe how data is organized within an N-dimention tensor. It is composed of upper cas...">
-<polygon fill="#ffffff" stroke="#000000" points="246.5,-620.5 246.5,-639.5 363.5,-639.5 363.5,-620.5 246.5,-620.5"/>
-<text text-anchor="middle" x="305" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::LayoutNode</text>
+<g id="a_node637"><a xlink:href="classtvm_1_1tir_1_1InstructionNode.html" target="_top" xlink:title="Schedule instructions each corresponds to a schedule primitive. ">
+<polygon fill="#ffffff" stroke="#000000" points="237,-608.5 237,-627.5 373,-627.5 373,-608.5 237,-608.5"/>
+<text text-anchor="middle" x="305" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::InstructionNode</text>
</a>
</g>
</g>
<!-- Node0->Node632 -->
<g id="edge636" class="edge">
<title>Node0->Node632</title>
-<path fill="none" stroke="#191970" d="M84.0807,-3654.3441C85.2075,-3400.4449 99.3939,-770.1493 204,-649 214.6112,-636.7107 230.4406,-630.7575 246.4377,-628.1887"/>
-<polygon fill="#191970" stroke="#191970" points="80.5809,-3654.3342 84.0378,-3664.3491 87.5808,-3654.3643 80.5809,-3654.3342"/>
+<path fill="none" stroke="#191970" d="M84.1026,-3567.0807C85.485,-3315.0907 102.026,-754.9808 204,-637 212.4589,-627.2133 224.2272,-621.446 236.752,-618.2064"/>
+<polygon fill="#191970" stroke="#191970" points="80.6015,-3567.298 84.0479,-3577.3166 87.6014,-3567.3355 80.6015,-3567.298"/>
</g>
<!-- Node633 -->
<g id="node638" class="node">
<title>Node633</title>
-<g id="a_node638"><a xlink:href="classtvm_1_1tir_1_1LoopRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR for loop. ">
-<polygon fill="#ffffff" stroke="#000000" points="245,-582.5 245,-601.5 365,-601.5 365,-582.5 245,-582.5"/>
-<text text-anchor="middle" x="305" y="-589.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::LoopRVNode</text>
+<g id="a_node638"><a xlink:href="classtvm_1_1tir_1_1IterVarNode.html" target="_top" xlink:title="An iteration variable representing an iteration over a one dimensional interval. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-570.5 247,-589.5 363,-589.5 363,-570.5 247,-570.5"/>
+<text text-anchor="middle" x="305" y="-577.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::IterVarNode</text>
</a>
</g>
</g>
<!-- Node0->Node633 -->
<g id="edge637" class="edge">
<title>Node0->Node633</title>
-<path fill="none" stroke="#191970" d="M84.0718,-3654.0974C85.0836,-3397.0108 98.112,-733.6948 204,-611 214.2584,-599.1133 229.3988,-593.1536 244.8525,-590.4507"/>
-<polygon fill="#191970" stroke="#191970" points="80.5714,-3654.2147 84.0333,-3664.228 87.5713,-3654.2414 80.5714,-3654.2147"/>
+<path fill="none" stroke="#191970" d="M84.0913,-3567.2096C85.3433,-3314.213 100.6932,-718.5852 204,-599 214.7308,-586.5783 230.793,-580.6308 246.9688,-578.1085"/>
+<polygon fill="#191970" stroke="#191970" points="80.5902,-3567.4504 84.0421,-3577.4671 87.5902,-3567.4841 80.5902,-3567.4504"/>
</g>
<!-- Node634 -->
<g id="node639" class="node">
<title>Node634</title>
-<g id="a_node639"><a xlink:href="classtvm_1_1tir_1_1MatchBufferRegionNode.html" target="_top" xlink:title="Match introduces a constraint that the source buffer region can be remapped to the data layout specif...">
-<polygon fill="#ffffff" stroke="#000000" points="217,-544.5 217,-563.5 393,-563.5 393,-544.5 217,-544.5"/>
-<text text-anchor="middle" x="305" y="-551.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::MatchBufferRegionNode</text>
+<g id="a_node639"><a xlink:href="classtvm_1_1tir_1_1LayoutNode.html" target="_top" xlink:title="Layout is to describe how data is organized within an N-dimention tensor. It is composed of upper cas...">
+<polygon fill="#ffffff" stroke="#000000" points="246.5,-532.5 246.5,-551.5 363.5,-551.5 363.5,-532.5 246.5,-532.5"/>
+<text text-anchor="middle" x="305" y="-539.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::LayoutNode</text>
</a>
</g>
</g>
<!-- Node0->Node634 -->
<g id="edge638" class="edge">
<title>Node0->Node634</title>
-<path fill="none" stroke="#191970" d="M84.0614,-3654.2433C84.9477,-3396.3023 96.776,-697.3031 204,-573 207.7293,-568.6767 212.1044,-565.1373 216.9056,-562.2535"/>
-<polygon fill="#191970" stroke="#191970" points="80.5611,-3654.3769 84.028,-3664.3884 87.561,-3654.4 80.5611,-3654.3769"/>
+<path fill="none" stroke="#191970" d="M84.0805,-3567.3376C85.2042,-3313.3546 99.3602,-682.19 204,-561 214.6111,-548.7106 230.4405,-542.7574 246.4376,-540.1887"/>
+<polygon fill="#191970" stroke="#191970" points="80.5806,-3567.331 84.0377,-3577.3459 87.5805,-3567.3611 80.5806,-3567.331"/>
</g>
<!-- Node635 -->
<g id="node640" class="node">
<title>Node635</title>
-<g id="a_node640"><a xlink:href="classtvm_1_1tir_1_1ScheduleNode.html" target="_top" xlink:title="The user-facing schedule class. ">
-<polygon fill="#ffffff" stroke="#000000" points="241,-506.5 241,-525.5 369,-525.5 369,-506.5 241,-506.5"/>
-<text text-anchor="middle" x="305" y="-513.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::ScheduleNode</text>
+<g id="a_node640"><a xlink:href="classtvm_1_1tir_1_1LoopRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR for loop. ">
+<polygon fill="#ffffff" stroke="#000000" points="245,-494.5 245,-513.5 365,-513.5 365,-494.5 245,-494.5"/>
+<text text-anchor="middle" x="305" y="-501.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::LoopRVNode</text>
</a>
</g>
</g>
<!-- Node0->Node635 -->
<g id="edge639" class="edge">
<title>Node0->Node635</title>
-<path fill="none" stroke="#191970" d="M84.0526,-3654.0013C84.825,-3392.9016 95.4934,-660.8495 204,-535 213.379,-524.122 226.8464,-518.2064 240.9037,-515.2081"/>
-<polygon fill="#191970" stroke="#191970" points="80.552,-3654.2608 84.0237,-3664.2707 87.552,-3654.2806 80.552,-3654.2608"/>
+<path fill="none" stroke="#191970" d="M84.0715,-3567.0909C85.0803,-3309.9204 98.0783,-645.7355 204,-523 214.2583,-511.1133 229.3987,-505.1535 244.8524,-502.4506"/>
+<polygon fill="#191970" stroke="#191970" points="80.5711,-3567.2116 84.0332,-3577.2248 87.5711,-3567.2381 80.5711,-3567.2116"/>
</g>
<!-- Node636 -->
<g id="node641" class="node">
<title>Node636</title>
-<g id="a_node641"><a xlink:href="classtvm_1_1tir_1_1ScheduleStateNode.html" target="_top" xlink:title="The state of scheduling, which exposes a Replace method as the primary interface for all the scheduli...">
-<polygon fill="#ffffff" stroke="#000000" points="228,-468.5 228,-487.5 382,-487.5 382,-468.5 228,-468.5"/>
-<text text-anchor="middle" x="305" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::ScheduleStateNode</text>
+<g id="a_node641"><a xlink:href="classtvm_1_1tir_1_1MatchBufferRegionNode.html" target="_top" xlink:title="Match introduces a constraint that the source buffer region can be remapped to the data layout specif...">
+<polygon fill="#ffffff" stroke="#000000" points="217,-456.5 217,-475.5 393,-475.5 393,-456.5 217,-456.5"/>
+<text text-anchor="middle" x="305" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::MatchBufferRegionNode</text>
</a>
</g>
</g>
<!-- Node0->Node636 -->
<g id="edge640" class="edge">
<title>Node0->Node636</title>
-<path fill="none" stroke="#191970" d="M84.0428,-3654.1579C84.6927,-3392.2946 94.1554,-624.4602 204,-497 210.4063,-489.5663 218.7218,-484.4498 227.8305,-480.9979"/>
-<polygon fill="#191970" stroke="#191970" points="80.5423,-3654.4292 84.0188,-3664.4374 87.5423,-3654.4456 80.5423,-3654.4292"/>
+<path fill="none" stroke="#191970" d="M84.0612,-3567.2369C84.9445,-3309.2128 96.7422,-609.3438 204,-485 207.7293,-480.6767 212.1044,-477.1373 216.9055,-474.2534"/>
+<polygon fill="#191970" stroke="#191970" points="80.5608,-3567.3738 84.0279,-3577.3853 87.5608,-3567.3969 80.5608,-3567.3738"/>
</g>
<!-- Node637 -->
<g id="node642" class="node">
<title>Node637</title>
-<g id="a_node642"><a xlink:href="classtvm_1_1tir_1_1StmtNode.html" target="_top" xlink:title="Base node of all statements. ">
-<polygon fill="#ffffff" stroke="#000000" points="251.5,-380.5 251.5,-399.5 358.5,-399.5 358.5,-380.5 251.5,-380.5"/>
-<text text-anchor="middle" x="305" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::StmtNode</text>
+<g id="a_node642"><a xlink:href="classtvm_1_1tir_1_1ScheduleNode.html" target="_top" xlink:title="The user-facing schedule class. ">
+<polygon fill="#ffffff" stroke="#000000" points="241,-418.5 241,-437.5 369,-437.5 369,-418.5 241,-418.5"/>
+<text text-anchor="middle" x="305" y="-425.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::ScheduleNode</text>
</a>
</g>
</g>
<!-- Node0->Node637 -->
<g id="edge641" class="edge">
<title>Node0->Node637</title>
-<path fill="none" stroke="#191970" d="M84.2282,-3654.0557C87.3028,-3390.8272 121.7136,-608.0679 204,-459 220.215,-429.6254 254.8875,-410.2265 279.0575,-399.679"/>
-<polygon fill="#191970" stroke="#191970" points="80.7247,-3654.3486 84.1086,-3664.3884 87.7242,-3654.4297 80.7247,-3654.3486"/>
+<path fill="none" stroke="#191970" d="M84.0524,-3566.995C84.8218,-3305.8121 95.4597,-572.8902 204,-447 213.3789,-436.1219 226.8463,-430.2064 240.9036,-427.2081"/>
+<polygon fill="#191970" stroke="#191970" points="80.5517,-3567.2578 84.0236,-3577.2676 87.5517,-3567.2775 80.5517,-3567.2578"/>
</g>
-<!-- Node657 -->
-<g id="node662" class="node">
-<title>Node657</title>
-<g id="a_node662"><a xlink:href="classtvm_1_1tir_1_1StmtSRefNode.html" target="_top" xlink:title="An object that refers to schedulable elements (block/for-loop) in TensorIR, aka "sref". ">
-<polygon fill="#ffffff" stroke="#000000" points="240.5,-342.5 240.5,-361.5 369.5,-361.5 369.5,-342.5 240.5,-342.5"/>
-<text text-anchor="middle" x="305" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::StmtSRefNode</text>
+<!-- Node638 -->
+<g id="node643" class="node">
+<title>Node638</title>
+<g id="a_node643"><a xlink:href="classtvm_1_1tir_1_1ScheduleStateNode.html" target="_top" xlink:title="The state of scheduling, which exposes a Replace method as the primary interface for all the scheduli...">
+<polygon fill="#ffffff" stroke="#000000" points="228,-380.5 228,-399.5 382,-399.5 382,-380.5 228,-380.5"/>
+<text text-anchor="middle" x="305" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::ScheduleStateNode</text>
</a>
</g>
</g>
-<!-- Node0->Node657 -->
-<g id="edge661" class="edge">
-<title>Node0->Node657</title>
-<path fill="none" stroke="#191970" d="M84.0134,-3654.181C84.2786,-3386.8918 89.7862,-503.723 204,-371 213.2523,-360.2483 226.4984,-354.3421 240.3655,-351.3087"/>
-<polygon fill="#191970" stroke="#191970" points="80.5134,-3654.3467 84.0047,-3664.3498 87.5134,-3654.3528 80.5134,-3654.3467"/>
+<!-- Node0->Node638 -->
+<g id="edge642" class="edge">
+<title>Node0->Node638</title>
+<path fill="none" stroke="#191970" d="M84.0426,-3567.1516C84.6895,-3305.206 94.1216,-536.5009 204,-409 210.4063,-401.5663 218.7218,-396.4498 227.8304,-392.9979"/>
+<polygon fill="#191970" stroke="#191970" points="80.5421,-3567.4262 84.0187,-3577.4343 87.542,-3567.4426 80.5421,-3567.4262"/>
</g>
-<!-- Node658 -->
-<g id="node663" class="node">
-<title>Node658</title>
-<g id="a_node663"><a xlink:href="classtvm_1_1tir_1_1TensorIntrinNode.html" target="_top" xlink:title="Tensor intrinsics for tensorization. ">
-<polygon fill="#ffffff" stroke="#000000" points="234.5,-10936.5 234.5,-10955.5 375.5,-10955.5 375.5,-10936.5 234.5,-10936.5"/>
-<text text-anchor="middle" x="305" y="-10943.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::TensorIntrinNode</text>
+<!-- Node639 -->
+<g id="node644" class="node">
+<title>Node639</title>
+<g id="a_node644"><a xlink:href="classtvm_1_1tir_1_1StmtNode.html" target="_top" xlink:title="Base node of all statements. ">
+<polygon fill="#ffffff" stroke="#000000" points="251.5,-342.5 251.5,-361.5 358.5,-361.5 358.5,-342.5 251.5,-342.5"/>
+<text text-anchor="middle" x="305" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::StmtNode</text>
</a>
</g>
</g>
-<!-- Node0->Node658 -->
-<g id="edge662" class="edge">
-<title>Node0->Node658</title>
-<path fill="none" stroke="#191970" d="M84.1553,-3694.0069C87.4001,-4109.3245 141.0422,-10852.3596 204,-10927 211.8226,-10936.2742 222.6157,-10941.962 234.2492,-10945.3145"/>
-<polygon fill="#191970" stroke="#191970" points="87.6537,-3693.7677 84.0758,-3683.7953 80.6539,-3693.8223 87.6537,-3693.7677"/>
+<!-- Node0->Node639 -->
+<g id="edge643" class="edge">
+<title>Node0->Node639</title>
+<path fill="none" stroke="#191970" d="M84.0332,-3567.3069C84.5598,-3304.6175 92.7833,-500.112 204,-371 215.7029,-357.414 233.7831,-351.5669 251.4298,-349.4763"/>
+<polygon fill="#191970" stroke="#191970" points="80.5333,-3567.3135 84.0145,-3577.32 87.5333,-3567.3266 80.5333,-3567.3135"/>
</g>
<!-- Node659 -->
<g id="node664" class="node">
<title>Node659</title>
-<g id="a_node664"><a xlink:href="classtvm_1_1tir_1_1TraceNode.html" target="_top" xlink:title="An execution trace of a scheduling program. ">
-<polygon fill="#ffffff" stroke="#000000" points="250,-10898.5 250,-10917.5 360,-10917.5 360,-10898.5 250,-10898.5"/>
-<text text-anchor="middle" x="305" y="-10905.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::TraceNode</text>
+<g id="a_node664"><a xlink:href="classtvm_1_1tir_1_1StmtSRefNode.html" target="_top" xlink:title="An object that refers to schedulable elements (block/for-loop) in TensorIR, aka "sref". ">
+<polygon fill="#ffffff" stroke="#000000" points="240.5,-304.5 240.5,-323.5 369.5,-323.5 369.5,-304.5 240.5,-304.5"/>
+<text text-anchor="middle" x="305" y="-311.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::StmtSRefNode</text>
</a>
</g>
</g>
<!-- Node0->Node659 -->
<g id="edge663" class="edge">
<title>Node0->Node659</title>
-<path fill="none" stroke="#191970" d="M84.1573,-3693.8984C87.4426,-4106.9655 141.7324,-10813.4656 204,-10888 215.2311,-10901.4437 232.6645,-10907.5254 249.9057,-10909.9116"/>
-<polygon fill="#191970" stroke="#191970" points="87.656,-3693.7141 84.0767,-3683.7422 80.6563,-3693.7697 87.656,-3693.7141"/>
+<path fill="none" stroke="#191970" d="M84.0241,-3567.4749C84.4323,-3304.1485 91.4426,-463.726 204,-333 213.2552,-322.2508 226.5025,-316.3456 240.3697,-313.3123"/>
+<polygon fill="#191970" stroke="#191970" points="80.5242,-3567.4879 84.0099,-3577.4928 87.5242,-3567.4978 80.5242,-3567.4879"/>
</g>
<!-- Node660 -->
<g id="node665" class="node">
<title>Node660</title>
-<g id="a_node665"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html" target="_top" xlink:title="This object contains information post-allocation for PoolInfo objects. ">
-<polygon fill="#ffffff" stroke="#000000" points="236.5,-10849 236.5,-10879 373.5,-10879 373.5,-10849 236.5,-10849"/>
-<text text-anchor="start" x="244.5" y="-10867" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::Allocated</text>
-<text text-anchor="middle" x="305" y="-10856" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">PoolInfoNode</text>
+<g id="a_node665"><a xlink:href="classtvm_1_1tir_1_1TensorIntrinNode.html" target="_top" xlink:title="Tensor intrinsics for tensorization. ">
+<polygon fill="#ffffff" stroke="#000000" points="234.5,-10929.5 234.5,-10948.5 375.5,-10948.5 375.5,-10929.5 234.5,-10929.5"/>
+<text text-anchor="middle" x="305" y="-10936.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::TensorIntrinNode</text>
</a>
</g>
</g>
<!-- Node0->Node660 -->
<g id="edge664" class="edge">
<title>Node0->Node660</title>
-<path fill="none" stroke="#191970" d="M84.1635,-3693.7592C87.577,-4103.9363 143.9134,-10763.5376 204,-10839 212.1577,-10849.2452 223.7955,-10855.6926 236.2879,-10859.6716"/>
-<polygon fill="#191970" stroke="#191970" points="87.6628,-3693.6446 84.0798,-3683.674 80.663,-3693.7028 87.6628,-3693.6446"/>
+<path fill="none" stroke="#191970" d="M84.151,-3606.9182C87.3316,-4023.7645 140.3391,-10844.5122 204,-10920 211.8218,-10929.2749 222.6144,-10934.9631 234.2478,-10938.3156"/>
+<polygon fill="#191970" stroke="#191970" points="87.6509,-3606.8764 84.0748,-3596.9033 80.6511,-3606.9297 87.6509,-3606.8764"/>
</g>
<!-- Node661 -->
<g id="node666" class="node">
<title>Node661</title>
-<g id="a_node666"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode.html" target="_top" xlink:title="This is a composite node that is produced by extract_buffer_info analysis pass that contains useful g...">
-<polygon fill="#ffffff" stroke="#000000" points="235,-10800 235,-10830 375,-10830 375,-10800 235,-10800"/>
-<text text-anchor="start" x="243" y="-10818" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::BufferInfo</text>
-<text text-anchor="middle" x="305" y="-10807" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">AnalysisNode</text>
+<g id="a_node666"><a xlink:href="classtvm_1_1tir_1_1TraceNode.html" target="_top" xlink:title="An execution trace of a scheduling program. ">
+<polygon fill="#ffffff" stroke="#000000" points="250,-10891.5 250,-10910.5 360,-10910.5 360,-10891.5 250,-10891.5"/>
+<text text-anchor="middle" x="305" y="-10898.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::TraceNode</text>
</a>
</g>
</g>
<!-- Node0->Node661 -->
<g id="edge665" class="edge">
<title>Node0->Node661</title>
-<path fill="none" stroke="#191970" d="M84.1647,-3693.6241C87.602,-4100.9963 144.3199,-10715.057 204,-10790 211.877,-10799.8915 222.9978,-10806.2428 234.9996,-10810.2504"/>
-<polygon fill="#191970" stroke="#191970" points="87.6645,-3693.578 84.0804,-3683.6079 80.6648,-3693.637 87.6645,-3693.578"/>
+<path fill="none" stroke="#191970" d="M84.1554,-3607.1191C87.4005,-4024.7666 141.0489,-10805.6335 204,-10881 215.2299,-10894.4447 232.663,-10900.5267 249.9043,-10902.9128"/>
+<polygon fill="#191970" stroke="#191970" points="87.6533,-3606.8228 84.0758,-3596.8502 80.6535,-3606.8771 87.6533,-3606.8228"/>
</g>
<!-- Node662 -->
<g id="node667" class="node">
<title>Node662</title>
-<g id="a_node667"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html" target="_top" xlink:title="Describes an abstract memory buffer that will get allocated inside a pool. The actual memory buffer i...">
-<polygon fill="#ffffff" stroke="#000000" points="222.5,-10761.5 222.5,-10780.5 387.5,-10780.5 387.5,-10761.5 222.5,-10761.5"/>
-<text text-anchor="middle" x="305" y="-10768.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::BufferInfoNode</text>
+<g id="a_node667"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html" target="_top" xlink:title="This object contains information post-allocation for PoolInfo objects. ">
+<polygon fill="#ffffff" stroke="#000000" points="236.5,-10842 236.5,-10872 373.5,-10872 373.5,-10842 236.5,-10842"/>
+<text text-anchor="start" x="244.5" y="-10860" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::Allocated</text>
+<text text-anchor="middle" x="305" y="-10849" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">PoolInfoNode</text>
</a>
</g>
</g>
<!-- Node0->Node662 -->
<g id="edge666" class="edge">
<title>Node0->Node662</title>
-<path fill="none" stroke="#191970" d="M84.1621,-3693.825C87.5199,-4102.0653 142.5611,-10679.1905 204,-10752 209.0629,-10757.9999 215.3691,-10762.4986 222.3416,-10765.835"/>
-<polygon fill="#191970" stroke="#191970" points="87.6599,-3693.5299 84.0779,-3683.559 80.6601,-3693.5874 87.6599,-3693.5299"/>
+<path fill="none" stroke="#191970" d="M84.1616,-3606.9798C87.5361,-4021.7364 143.2498,-10755.6897 204,-10832 212.1568,-10842.246 223.7941,-10848.6937 236.2864,-10852.6727"/>
+<polygon fill="#191970" stroke="#191970" points="87.66,-3606.7533 84.0789,-3596.782 80.6602,-3606.8101 87.66,-3606.7533"/>
</g>
<!-- Node663 -->
<g id="node668" class="node">
<title>Node663</title>
-<g id="a_node668"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode.html" target="_top" xlink:title="The pool allocation produced after the USMP algorithm. ">
-<polygon fill="#ffffff" stroke="#000000" points="211.5,-10723.5 211.5,-10742.5 398.5,-10742.5 398.5,-10723.5 211.5,-10723.5"/>
-<text text-anchor="middle" x="305" y="-10730.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::PoolAllocationNode</text>
+<g id="a_node668"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode.html" target="_top" xlink:title="This is a composite node that is produced by extract_buffer_info analysis pass that contains useful g...">
+<polygon fill="#ffffff" stroke="#000000" points="235,-10793 235,-10823 375,-10823 375,-10793 235,-10793"/>
+<text text-anchor="start" x="243" y="-10811" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::BufferInfo</text>
+<text text-anchor="middle" x="305" y="-10800" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">AnalysisNode</text>
</a>
</g>
</g>
<!-- Node0->Node663 -->
<g id="edge667" class="edge">
<title>Node0->Node663</title>
-<path fill="none" stroke="#191970" d="M84.163,-3693.7186C87.5401,-4099.7673 142.8876,-10641.5841 204,-10714 207.107,-10717.6816 210.682,-10720.798 214.5919,-10723.4274"/>
-<polygon fill="#191970" stroke="#191970" points="87.6613,-3693.4782 84.0783,-3683.5076 80.6615,-3693.5364 87.6613,-3693.4782"/>
+<path fill="none" stroke="#191970" d="M84.1628,-3606.8447C87.5611,-4018.7963 143.6562,-10707.2091 204,-10783 211.8761,-10792.8922 222.9965,-10799.2439 234.9981,-10803.2515"/>
+<polygon fill="#191970" stroke="#191970" points="87.6617,-3606.6867 84.0794,-3596.7159 80.6619,-3606.7444 87.6617,-3606.6867"/>
</g>
<!-- Node664 -->
<g id="node669" class="node">
<title>Node664</title>
-<g id="a_node669"><a xlink:href="classtvm_1_1transform_1_1PassContextNode.html" target="_top" xlink:title="PassContextNode contains the information that a pass can rely on, such as analysis results...">
-<polygon fill="#ffffff" stroke="#000000" points="214,-10685.5 214,-10704.5 396,-10704.5 396,-10685.5 214,-10685.5"/>
-<text text-anchor="middle" x="305" y="-10692.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::transform::PassContextNode</text>
+<g id="a_node669"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html" target="_top" xlink:title="Describes an abstract memory buffer that will get allocated inside a pool. The actual memory buffer i...">
+<polygon fill="#ffffff" stroke="#000000" points="222.5,-10754.5 222.5,-10773.5 387.5,-10773.5 387.5,-10754.5 222.5,-10754.5"/>
+<text text-anchor="middle" x="305" y="-10761.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::BufferInfoNode</text>
</a>
</g>
</g>
<!-- Node0->Node664 -->
<g id="edge668" class="edge">
<title>Node0->Node664</title>
-<path fill="none" stroke="#191970" d="M84.1666,-3693.9193C87.5885,-4100.7557 143.2294,-10603.9959 204,-10676 207.1071,-10679.6815 210.6823,-10682.7977 214.5923,-10685.4271"/>
-<polygon fill="#191970" stroke="#191970" points="87.6663,-3693.858 84.0824,-3683.8878 80.6665,-3693.9168 87.6663,-3693.858"/>
+<path fill="none" stroke="#191970" d="M84.1577,-3606.7448C87.4504,-4016.623 141.8586,-10671.3438 204,-10745 209.0623,-10751.0004 215.3681,-10755.4994 222.3404,-10758.8359"/>
+<polygon fill="#191970" stroke="#191970" points="87.657,-3606.6386 84.0769,-3596.667 80.6572,-3606.6947 87.657,-3606.6386"/>
</g>
<!-- Node665 -->
<g id="node670" class="node">
<title>Node665</title>
-<g id="a_node670"><a xlink:href="classtvm_1_1transform_1_1PassInfoNode.html" target="_top" xlink:title="Meta data that will be used to help optimization and analysis. ">
-<polygon fill="#ffffff" stroke="#000000" points="224,-10647.5 224,-10666.5 386,-10666.5 386,-10647.5 224,-10647.5"/>
-<text text-anchor="middle" x="305" y="-10654.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::transform::PassInfoNode</text>
+<g id="a_node670"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode.html" target="_top" xlink:title="The pool allocation produced after the USMP algorithm. ">
+<polygon fill="#ffffff" stroke="#000000" points="211.5,-10716.5 211.5,-10735.5 398.5,-10735.5 398.5,-10716.5 211.5,-10716.5"/>
+<text text-anchor="middle" x="305" y="-10723.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::PoolAllocationNode</text>
</a>
</g>
</g>
<!-- Node0->Node665 -->
<g id="edge669" class="edge">
<title>Node0->Node665</title>
-<path fill="none" stroke="#191970" d="M84.1701,-3694.1115C87.6365,-4101.628 143.5706,-10566.407 204,-10638 209.409,-10644.4082 216.2363,-10649.1039 223.7787,-10652.4998"/>
-<polygon fill="#191970" stroke="#191970" points="87.6677,-3693.804 84.0829,-3683.8341 80.6679,-3693.8635 87.6677,-3693.804"/>
+<path fill="none" stroke="#191970" d="M84.1586,-3606.64C87.4705,-4014.3424 142.1851,-10633.7374 204,-10707 207.1066,-10710.6819 210.6814,-10713.7985 214.5911,-10716.4281"/>
+<polygon fill="#191970" stroke="#191970" points="87.6584,-3606.587 84.0774,-3596.6157 80.6586,-3606.6437 87.6584,-3606.587"/>
</g>
<!-- Node666 -->
<g id="node671" class="node">
<title>Node666</title>
-<g id="a_node671"><a xlink:href="classtvm_1_1transform_1_1PassNode.html" target="_top" xlink:title="PassNode is the base type of differnt types of optimization passes. It is designed as a pure class an...">
-<polygon fill="#ffffff" stroke="#000000" points="233.5,-10609.5 233.5,-10628.5 376.5,-10628.5 376.5,-10609.5 233.5,-10609.5"/>
-<text text-anchor="middle" x="305" y="-10616.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::transform::PassNode</text>
+<g id="a_node671"><a xlink:href="classtvm_1_1transform_1_1PassContextNode.html" target="_top" xlink:title="PassContextNode contains the information that a pass can rely on, such as analysis results...">
+<polygon fill="#ffffff" stroke="#000000" points="214,-10678.5 214,-10697.5 396,-10697.5 396,-10678.5 214,-10678.5"/>
+<text text-anchor="middle" x="305" y="-10685.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::transform::PassContextNode</text>
</a>
</g>
</g>
<!-- Node0->Node666 -->
<g id="edge670" class="edge">
<title>Node0->Node666</title>
-<path fill="none" stroke="#191970" d="M84.171,-3694.0018C87.6571,-4099.2947 143.8969,-10528.8004 204,-10600 211.6536,-10609.0666 222.1462,-10614.7049 233.4864,-10618.0843"/>
-<polygon fill="#191970" stroke="#191970" points="87.6691,-3693.75 84.0833,-3683.7805 80.6694,-3693.8102 87.6691,-3693.75"/>
+<path fill="none" stroke="#191970" d="M84.162,-3606.8362C87.5177,-4015.3072 142.5268,-10596.1491 204,-10669 207.1068,-10672.6818 210.6817,-10675.7983 214.5915,-10678.4278"/>
+<polygon fill="#191970" stroke="#191970" points="87.6597,-3606.5353 84.0778,-3596.5644 80.66,-3606.5927 87.6597,-3606.5353"/>
+</g>
+<!-- Node667 -->
+<g id="node672" class="node">
+<title>Node667</title>
+<g id="a_node672"><a xlink:href="classtvm_1_1transform_1_1PassInfoNode.html" target="_top" xlink:title="Meta data that will be used to help optimization and analysis. ">
+<polygon fill="#ffffff" stroke="#000000" points="224,-10640.5 224,-10659.5 386,-10659.5 386,-10640.5 224,-10640.5"/>
+<text text-anchor="middle" x="305" y="-10647.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::transform::PassInfoNode</text>
+</a>
+</g>
+</g>
+<!-- Node0->Node667 -->
+<g id="edge671" class="edge">
+<title>Node0->Node667</title>
+<path fill="none" stroke="#191970" d="M84.1629,-3606.7298C87.538,-4013.0092 142.8532,-10558.5427 204,-10631 209.4084,-10637.4088 216.2352,-10642.1048 223.7774,-10645.5008"/>
+<polygon fill="#191970" stroke="#191970" points="87.6611,-3606.4837 84.0783,-3596.513 80.6614,-3606.5417 87.6611,-3606.4837"/>
</g>
<!-- Node668 -->
<g id="node673" class="node">
<title>Node668</title>
-<g id="a_node673"><a xlink:href="classtvm_1_1TypeNode.html" target="_top" xlink:title="Type is the base type of all types. ">
-<polygon fill="#ffffff" stroke="#000000" points="260,-10571.5 260,-10590.5 350,-10590.5 350,-10571.5 260,-10571.5"/>
-<text text-anchor="middle" x="305" y="-10578.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TypeNode</text>
+<g id="a_node673"><a xlink:href="classtvm_1_1transform_1_1PassNode.html" target="_top" xlink:title="PassNode is the base type of differnt types of optimization passes. It is designed as a pure class an...">
+<polygon fill="#ffffff" stroke="#000000" points="233.5,-10602.5 233.5,-10621.5 376.5,-10621.5 376.5,-10602.5 233.5,-10602.5"/>
+<text text-anchor="middle" x="305" y="-10609.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::transform::PassNode</text>
</a>
</g>
</g>
<!-- Node0->Node668 -->
<g id="edge672" class="edge">
<title>Node0->Node668</title>
-<path fill="none" stroke="#191970" d="M84.1144,-3694.0742C85.6863,-3957.8477 104.4956,-6769.081 204,-9037 232.2592,-9681.0887 296.3019,-10474.5423 304.1969,-10571.2081"/>
-<polygon fill="#191970" stroke="#191970" points="87.6124,-3693.7079 84.0539,-3683.7286 80.6126,-3693.7489 87.6124,-3693.7079"/>
+<path fill="none" stroke="#191970" d="M84.1665,-3606.9307C87.5864,-4013.9994 143.195,-10520.9544 204,-10593 211.6527,-10602.0674 222.1449,-10607.7061 233.4849,-10611.0855"/>
+<polygon fill="#191970" stroke="#191970" points="87.6661,-3606.8637 84.0823,-3596.8934 80.6664,-3606.9225 87.6661,-3606.8637"/>
</g>
-<!-- Node683 -->
-<g id="node688" class="node">
-<title>Node683</title>
-<g id="a_node688"><a xlink:href="classtvm_1_1TypeReporterNode.html" target="_top" xlink:title="reporter that reports back to the type resolution information. ">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-9008.5 239.5,-9027.5 370.5,-9027.5 370.5,-9008.5 239.5,-9008.5"/>
-<text text-anchor="middle" x="305" y="-9015.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TypeReporterNode</text>
+<!-- Node670 -->
+<g id="node675" class="node">
+<title>Node670</title>
+<g id="a_node675"><a xlink:href="classtvm_1_1TypeNode.html" target="_top" xlink:title="Type is the base type of all types. ">
+<polygon fill="#ffffff" stroke="#000000" points="260,-10564.5 260,-10583.5 350,-10583.5 350,-10564.5 260,-10564.5"/>
+<text text-anchor="middle" x="305" y="-10571.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TypeNode</text>
</a>
</g>
</g>
-<!-- Node0->Node683 -->
-<g id="edge687" class="edge">
-<title>Node0->Node683</title>
-<path fill="none" stroke="#191970" d="M84.0958,-3693.6248C85.832,-4041.1919 111.7005,-8890.2355 204,-8999 213.0048,-9009.6111 225.8986,-9015.52 239.4755,-9018.6069"/>
-<polygon fill="#191970" stroke="#191970" points="87.5954,-3693.52 84.0459,-3683.5374 80.5955,-3693.5546 87.5954,-3693.52"/>
+<!-- Node0->Node670 -->
+<g id="edge674" class="edge">
+<title>Node0->Node670</title>
+<path fill="none" stroke="#191970" d="M84.0992,-3606.6063C85.4979,-3869.7854 102.7876,-6730.577 204,-9038 232.1064,-9678.766 296.2828,-10468.0957 304.1951,-10564.259"/>
+<polygon fill="#191970" stroke="#191970" points="87.5992,-3606.5831 84.0471,-3596.6015 80.5993,-3606.6196 87.5992,-3606.5831"/>
</g>
-<!-- Node684 -->
-<g id="node689" class="node">
-<title>Node684</title>
-<g id="a_node689"><a xlink:href="structtvm_1_1WorkspaceMemoryPoolsNode.html" target="_top" xlink:title="tvm::WorkspaceMemoryPoolsNode">
-<polygon fill="#ffffff" stroke="#000000" points="211.5,-8970.5 211.5,-8989.5 398.5,-8989.5 398.5,-8970.5 211.5,-8970.5"/>
-<text text-anchor="middle" x="305" y="-8977.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::WorkspaceMemoryPoolsNode</text>
+<!-- Node685 -->
+<g id="node690" class="node">
+<title>Node685</title>
+<g id="a_node690"><a xlink:href="classtvm_1_1TypeReporterNode.html" target="_top" xlink:title="reporter that reports back to the type resolution information. ">
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-9009.5 239.5,-9028.5 370.5,-9028.5 370.5,-9009.5 239.5,-9009.5"/>
+<text text-anchor="middle" x="305" y="-9016.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TypeReporterNode</text>
</a>
</g>
</g>
-<!-- Node0->Node684 -->
-<g id="edge688" class="edge">
-<title>Node0->Node684</title>
-<path fill="none" stroke="#191970" d="M84.101,-3694.0065C85.9052,-4043.3926 112.396,-8853.0728 204,-8961 207.1173,-8964.6728 210.7006,-8967.7823 214.6168,-8970.4063"/>
-<polygon fill="#191970" stroke="#191970" points="87.6002,-3693.8231 84.049,-3683.8411 80.6003,-3693.8589 87.6002,-3693.8231"/>
+<!-- Node0->Node685 -->
+<g id="edge689" class="edge">
+<title>Node0->Node685</title>
+<path fill="none" stroke="#191970" d="M84.09,-3606.949C85.7242,-3960.2589 110.1962,-8889.4218 204,-9000 213.0029,-9010.6128 225.8959,-9016.5223 239.4727,-9019.6093"/>
+<polygon fill="#191970" stroke="#191970" points="87.5889,-3606.6789 84.043,-3596.695 80.5889,-3606.7109 87.5889,-3606.6789"/>
+</g>
+<!-- Node686 -->
+<g id="node691" class="node">
+<title>Node686</title>
+<g id="a_node691"><a xlink:href="structtvm_1_1WorkspaceMemoryPoolsNode.html" target="_top" xlink:title="tvm::WorkspaceMemoryPoolsNode">
+<polygon fill="#ffffff" stroke="#000000" points="211.5,-8971.5 211.5,-8990.5 398.5,-8990.5 398.5,-8971.5 211.5,-8971.5"/>
+<text text-anchor="middle" x="305" y="-8978.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::WorkspaceMemoryPoolsNode</text>
+</a>
+</g>
+</g>
+<!-- Node0->Node686 -->
+<g id="edge690" class="edge">
+<title>Node0->Node686</title>
+<path fill="none" stroke="#191970" d="M84.0925,-3606.809C85.7708,-3957.6391 110.8458,-8852.205 204,-8962 207.1167,-8965.6734 210.6994,-8968.7833 214.6152,-8971.4077"/>
+<polygon fill="#191970" stroke="#191970" points="87.5917,-3606.6102 84.0443,-3596.627 80.5917,-3606.6434 87.5917,-3606.6102"/>
</g>
<!-- Node2 -->
<g id="node11" class="node">
<title>Node2</title>
<g id="a_node11"><a xlink:href="classtvm_1_1TensorAffineTypeNode.html" target="_top" xlink:title="TensorAffineType representation. ">
-<polygon fill="#ffffff" stroke="#000000" points="464.5,-12036.5 464.5,-12055.5 614.5,-12055.5 614.5,-12036.5 464.5,-12036.5"/>
-<text text-anchor="middle" x="539.5" y="-12043.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TensorAffineTypeNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="464.5,-12005.5 464.5,-12024.5 614.5,-12024.5 614.5,-12005.5 464.5,-12005.5"/>
+<text text-anchor="middle" x="539.5" y="-12012.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TensorAffineTypeNode</text>
</a>
</g>
</g>
<!-- Node1->Node2 -->
<g id="edge6" class="edge">
<title>Node1->Node2</title>
-<path fill="none" stroke="#191970" d="M374.4383,-8942.2776C386.5814,-8945.5766 397.899,-8951.3488 406,-8961 460.7586,-9026.237 387.4542,-11961.585 442,-12027 447.9639,-12034.1523 455.75,-12039.1327 464.3242,-12042.5391"/>
-<polygon fill="#191970" stroke="#191970" points="375.0834,-8938.8362 364.5685,-8940.1352 373.5985,-8945.6769 375.0834,-8938.8362"/>
+<path fill="none" stroke="#191970" d="M374.4374,-8943.2784C386.5805,-8946.5773 397.8984,-8952.3494 406,-8962 460.1734,-9026.5314 388.3568,-11930.0272 442,-11995 447.9407,-12002.1954 455.7134,-12007.2452 464.2809,-12010.7343"/>
+<polygon fill="#191970" stroke="#191970" points="375.0824,-8939.837 364.5676,-8941.1361 373.5976,-8946.6777 375.0824,-8939.837"/>
</g>
<!-- Node3 -->
<g id="node12" class="node">
<title>Node3</title>
<g id="a_node12"><a xlink:href="classtvm_1_1TupleAffineTypeNode.html" target="_top" xlink:title="TupleAffineType representation. ">
-<polygon fill="#ffffff" stroke="#000000" points="467.5,-11998.5 467.5,-12017.5 611.5,-12017.5 611.5,-11998.5 467.5,-11998.5"/>
-<text text-anchor="middle" x="539.5" y="-12005.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TupleAffineTypeNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="467.5,-12043.5 467.5,-12062.5 611.5,-12062.5 611.5,-12043.5 467.5,-12043.5"/>
+<text text-anchor="middle" x="539.5" y="-12050.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TupleAffineTypeNode</text>
</a>
</g>
</g>
<!-- Node1->Node3 -->
<g id="edge7" class="edge">
<title>Node1->Node3</title>
-<path fill="none" stroke="#191970" d="M374.4372,-8942.2785C386.5803,-8945.5775 397.8983,-8951.3495 406,-8961 460.067,-9025.4032 388.4621,-11923.1563 442,-11988 448.6009,-11995.9949 457.4635,-12001.3408 467.165,-12004.8402"/>
-<polygon fill="#191970" stroke="#191970" points="375.0823,-8938.8371 364.5674,-8940.1362 373.5974,-8945.6778 375.0823,-8938.8371"/>
+<path fill="none" stroke="#191970" d="M374.4385,-8943.2774C386.5816,-8946.5765 397.8991,-8952.3488 406,-8962 460.865,-9027.3652 387.3482,-11968.4564 442,-12034 448.6265,-12041.9471 457.5026,-12047.2127 467.2099,-12050.6172"/>
+<polygon fill="#191970" stroke="#191970" points="375.0836,-8939.836 364.5687,-8941.1351 373.5987,-8946.6767 375.0836,-8939.836"/>
</g>
<!-- Node18 -->
<g id="node27" class="node">
<title>Node18</title>
<g id="a_node27"><a xlink:href="classtvm_1_1auto__scheduler_1_1PythonBasedModelNode.html" target="_top" xlink:title="A wrapper for cost model defined by python code This class will call functions defined in the python...">
-<polygon fill="#ffffff" stroke="#000000" points="469,-11949 469,-11979 610,-11979 610,-11949 469,-11949"/>
-<text text-anchor="start" x="477" y="-11967" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11956" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PythonBasedModelNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="469,-11907 469,-11937 610,-11937 610,-11907 469,-11907"/>
+<text text-anchor="start" x="477" y="-11925" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11914" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PythonBasedModelNode</text>
</a>
</g>
</g>
<!-- Node17->Node18 -->
<g id="edge22" class="edge">
<title>Node17->Node18</title>
-<path fill="none" stroke="#191970" d="M373.0928,-8351.385C385.8216,-8355.2255 397.7108,-8361.6184 406,-8372 467.8269,-8449.4335 380.8611,-11861.0222 442,-11939 448.9006,-11947.8011 458.4446,-11953.7642 468.8791,-11957.7581"/>
-<polygon fill="#191970" stroke="#191970" points="373.7913,-8347.952 363.241,-8348.9219 372.0934,-8354.7429 373.7913,-8347.952"/>
+<path fill="none" stroke="#191970" d="M373.0918,-8352.3858C385.8207,-8356.2262 397.7102,-8362.6189 406,-8373 467.0863,-8449.4964 381.5933,-11819.9658 442,-11897 448.9011,-11905.8007 458.4454,-11911.7635 468.88,-11915.7574"/>
+<polygon fill="#191970" stroke="#191970" points="373.7903,-8348.9527 363.24,-8349.9227 372.0924,-8355.7437 373.7903,-8348.9527"/>
</g>
<!-- Node19 -->
<g id="node28" class="node">
<title>Node19</title>
<g id="a_node28"><a xlink:href="classtvm_1_1auto__scheduler_1_1RandomModelNode.html" target="_top" xlink:title="The cost model returning random value for all predictions. ">
-<polygon fill="#ffffff" stroke="#000000" points="480.5,-11900 480.5,-11930 598.5,-11930 598.5,-11900 480.5,-11900"/>
-<text text-anchor="start" x="488.5" y="-11918" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11907" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RandomModelNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="480.5,-11956 480.5,-11986 598.5,-11986 598.5,-11956 480.5,-11956"/>
+<text text-anchor="start" x="488.5" y="-11974" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11963" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RandomModelNode</text>
</a>
</g>
</g>
<!-- Node17->Node19 -->
<g id="edge23" class="edge">
<title>Node17->Node19</title>
-<path fill="none" stroke="#191970" d="M373.0916,-8351.3859C385.8206,-8355.2263 397.7101,-8361.619 406,-8372 466.983,-8448.3656 381.6954,-11813.0975 442,-11890 451.3813,-11901.9633 465.6469,-11908.6827 480.3935,-11912.3406"/>
-<polygon fill="#191970" stroke="#191970" points="373.7902,-8347.9529 363.2399,-8348.9228 372.0923,-8354.7438 373.7902,-8347.9529"/>
+<path fill="none" stroke="#191970" d="M373.0929,-8352.3849C385.8217,-8356.2254 397.7109,-8362.6183 406,-8373 467.9302,-8450.5643 380.7589,-11867.8905 442,-11946 451.3803,-11957.9641 465.6456,-11964.6837 480.3922,-11968.3416"/>
+<polygon fill="#191970" stroke="#191970" points="373.7915,-8348.9519 363.2411,-8349.9218 372.0935,-8355.7428 373.7915,-8348.9519"/>
</g>
<!-- Node23 -->
<g id="node32" class="node">
<title>Node23</title>
<g id="a_node32"><a xlink:href="classtvm_1_1auto__scheduler_1_1PythonBasedMeasureCallbackNode.html" target="_top" xlink:title="A wrapper for measure callback defined by python code This class will call functions defined in the p...">
-<polygon fill="#ffffff" stroke="#000000" points="442,-11851 442,-11881 637,-11881 637,-11851 442,-11851"/>
-<text text-anchor="start" x="450" y="-11869" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11858" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PythonBasedMeasureCallbackNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="442,-11809 442,-11839 637,-11839 637,-11809 442,-11809"/>
+<text text-anchor="start" x="450" y="-11827" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11816" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PythonBasedMeasureCallbackNode</text>
</a>
</g>
</g>
<!-- Node22->Node23 -->
<g id="edge27" class="edge">
<title>Node22->Node23</title>
-<path fill="none" stroke="#191970" d="M380.3483,-8206.9027C390.2765,-8210.8403 399.3108,-8216.6211 406,-8225 468.6707,-8303.5014 380.0267,-11761.9469 442,-11841 445.0187,-11844.8507 448.5435,-11848.1581 452.4275,-11850.995"/>
-<polygon fill="#191970" stroke="#191970" points="381.1964,-8203.4964 370.603,-8203.6675 378.9909,-8210.1399 381.1964,-8203.4964"/>
+<path fill="none" stroke="#191970" d="M380.3474,-8207.9034C390.2758,-8211.8409 399.3103,-8217.6215 406,-8226 467.9302,-8303.5643 380.7589,-11720.8905 442,-11799 445.019,-11802.8505 448.5439,-11806.1578 452.428,-11808.9946"/>
+<polygon fill="#191970" stroke="#191970" points="381.1955,-8204.4971 370.602,-8204.6682 378.99,-8211.1406 381.1955,-8204.4971"/>
</g>
<!-- Node24 -->
<g id="node33" class="node">
<title>Node24</title>
<g id="a_node33"><a xlink:href="classtvm_1_1auto__scheduler_1_1RecordToFileNode.html" target="_top" xlink:title="Callback for logging the input and results of measurements to file. ">
-<polygon fill="#ffffff" stroke="#000000" points="481.5,-11802 481.5,-11832 597.5,-11832 597.5,-11802 481.5,-11802"/>
-<text text-anchor="start" x="489.5" y="-11820" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11809" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RecordToFileNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="481.5,-11858 481.5,-11888 597.5,-11888 597.5,-11858 481.5,-11858"/>
+<text text-anchor="start" x="489.5" y="-11876" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11865" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RecordToFileNode</text>
</a>
</g>
</g>
<!-- Node22->Node24 -->
<g id="edge28" class="edge">
<title>Node22->Node24</title>
-<path fill="none" stroke="#191970" d="M380.3473,-8206.9035C390.2757,-8210.841 399.3102,-8216.6215 406,-8225 467.8269,-8302.4335 380.8611,-11714.0222 442,-11792 451.5961,-11804.239 466.3042,-11810.9897 481.4101,-11814.5889"/>
-<polygon fill="#191970" stroke="#191970" points="381.1953,-8203.4972 370.6019,-8203.6684 378.9899,-8210.1407 381.1953,-8203.4972"/>
+<path fill="none" stroke="#191970" d="M380.3484,-8207.9026C390.2766,-8211.8402 399.3109,-8217.621 406,-8226 468.7741,-8304.6321 379.9245,-11768.8152 442,-11848 451.5951,-11860.2398 466.303,-11866.9907 481.4089,-11870.5899"/>
+<polygon fill="#191970" stroke="#191970" points="381.1965,-8204.4963 370.6031,-8204.6674 378.991,-8211.1398 381.1965,-8204.4963"/>
</g>
<!-- Node28 -->
<g id="node37" class="node">
<title>Node28</title>
<g id="a_node37"><a xlink:href="classtvm_1_1auto__scheduler_1_1LocalBuilderNode.html" target="_top" xlink:title="LocalBuilder use local CPU cores to build programs in parallel. ">
-<polygon fill="#ffffff" stroke="#000000" points="481.5,-11753 481.5,-11783 597.5,-11783 597.5,-11753 481.5,-11753"/>
-<text text-anchor="start" x="489.5" y="-11771" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11760" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::LocalBuilderNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="481.5,-11760 481.5,-11790 597.5,-11790 597.5,-11760 481.5,-11760"/>
+<text text-anchor="start" x="489.5" y="-11778" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11767" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::LocalBuilderNode</text>
</a>
</g>
</g>
<!-- Node27->Node28 -->
<g id="edge32" class="edge">
<title>Node27->Node28</title>
-<path fill="none" stroke="#191970" d="M376.8517,-8058.6017C388.1445,-8062.5302 398.5335,-8068.6462 406,-8078 469.5146,-8157.5693 379.1923,-11662.8716 442,-11743 451.5944,-11755.2403 466.3021,-11761.9914 481.408,-11765.5906"/>
-<polygon fill="#191970" stroke="#191970" points="377.777,-8055.2258 367.1974,-8055.7932 375.8216,-8061.9472 377.777,-8055.2258"/>
+<path fill="none" stroke="#191970" d="M376.8518,-8059.6016C388.1446,-8063.5301 398.5336,-8069.6461 406,-8079 469.6179,-8158.7 379.0901,-11669.7399 442,-11750 451.5943,-11762.2404 466.3019,-11768.9915 481.4079,-11772.5907"/>
+<polygon fill="#191970" stroke="#191970" points="377.7771,-8056.2258 367.1975,-8056.7931 375.8218,-8062.9471 377.7771,-8056.2258"/>
</g>
<!-- Node31 -->
<g id="node40" class="node">
<title>Node31</title>
<g id="a_node40"><a xlink:href="classtvm_1_1auto__scheduler_1_1LocalRunnerNode.html" target="_top" xlink:title="LocalRunner that uses local CPU/GPU to measure the time cost of programs. ">
-<polygon fill="#ffffff" stroke="#000000" points="481.5,-11704 481.5,-11734 597.5,-11734 597.5,-11704 481.5,-11704"/>
-<text text-anchor="start" x="489.5" y="-11722" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11711" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::LocalRunnerNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="481.5,-11662 481.5,-11692 597.5,-11692 597.5,-11662 481.5,-11662"/>
+<text text-anchor="start" x="489.5" y="-11680" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11669" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::LocalRunnerNode</text>
</a>
</g>
</g>
<!-- Node30->Node31 -->
<g id="edge35" class="edge">
<title>Node30->Node31</title>
-<path fill="none" stroke="#191970" d="M376.4537,-7960.4631C387.9006,-7964.386 398.4463,-7970.5357 406,-7980 470.3585,-8060.6372 378.3579,-11612.7963 442,-11694 451.5936,-11706.241 466.301,-11712.9922 481.407,-11716.5914"/>
-<polygon fill="#191970" stroke="#191970" points="377.2491,-7957.0504 366.6723,-7957.6678 375.3256,-7963.7809 377.2491,-7957.0504"/>
+<path fill="none" stroke="#191970" d="M376.4528,-7961.4638C387.8998,-7965.3867 398.4457,-7971.5361 406,-7981 469.6179,-8060.7 379.0901,-11571.7399 442,-11652 451.5943,-11664.2404 466.3019,-11670.9915 481.4079,-11674.5907"/>
+<polygon fill="#191970" stroke="#191970" points="377.2482,-7958.0511 366.6714,-7958.6685 375.3247,-7964.7816 377.2482,-7958.0511"/>
</g>
<!-- Node32 -->
<g id="node41" class="node">
<title>Node32</title>
<g id="a_node41"><a xlink:href="classtvm_1_1auto__scheduler_1_1RPCRunnerNode.html" target="_top" xlink:title="RPCRunner that uses RPC call to measures the time cost of programs on remote devices. Or sometime we may need to use RPC even in local running to insulate the thread environment. (e.g. running CUDA programs) ">
-<polygon fill="#ffffff" stroke="#000000" points="481.5,-11655 481.5,-11685 597.5,-11685 597.5,-11655 481.5,-11655"/>
-<text text-anchor="start" x="489.5" y="-11673" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11662" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RPCRunnerNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="481.5,-11711 481.5,-11741 597.5,-11741 597.5,-11711 481.5,-11711"/>
+<text text-anchor="start" x="489.5" y="-11729" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11718" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RPCRunnerNode</text>
</a>
</g>
</g>
<!-- Node30->Node32 -->
<g id="edge36" class="edge">
<title>Node30->Node32</title>
-<path fill="none" stroke="#191970" d="M376.4527,-7960.4639C387.8997,-7964.3868 398.4457,-7970.5361 406,-7980 469.5146,-8059.5693 379.1923,-11564.8716 442,-11645 451.5944,-11657.2403 466.3021,-11663.9914 481.408,-11667.5906"/>
-<polygon fill="#191970" stroke="#191970" points="377.2481,-7957.0512 366.6712,-7957.6686 375.3246,-7963.7817 377.2481,-7957.0512"/>
+<path fill="none" stroke="#191970" d="M376.4538,-7961.463C387.9007,-7965.386 398.4464,-7971.5356 406,-7981 470.4618,-8061.7679 378.2558,-11619.6646 442,-11701 451.5935,-11713.241 466.3009,-11719.9923 481.4069,-11723.5915"/>
+<polygon fill="#191970" stroke="#191970" points="377.2492,-7958.0503 366.6724,-7958.6677 375.3257,-7964.7808 377.2492,-7958.0503"/>
</g>
<!-- Node35 -->
<g id="node44" class="node">
<title>Node35</title>
<g id="a_node44"><a xlink:href="classtvm_1_1auto__scheduler_1_1PreloadMeasuredStatesNode.html" target="_top" xlink:title="Preload measured states from a log file. This can resume the state of the search policy. ">
-<polygon fill="#ffffff" stroke="#000000" points="458,-11606 458,-11636 621,-11636 621,-11606 458,-11606"/>
-<text text-anchor="start" x="466" y="-11624" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11613" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PreloadMeasuredStatesNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="458,-11613 458,-11643 621,-11643 621,-11613 458,-11613"/>
+<text text-anchor="start" x="466" y="-11631" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11620" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PreloadMeasuredStatesNode</text>
</a>
</g>
</g>
<!-- Node34->Node35 -->
<g id="edge39" class="edge">
<title>Node34->Node35</title>
-<path fill="none" stroke="#191970" d="M376.4537,-7862.4631C387.9006,-7866.386 398.4463,-7872.5357 406,-7882 470.3585,-7962.6372 378.3579,-11514.7963 442,-11596 446.3117,-11601.5016 451.6564,-11605.8942 457.606,-11609.3902"/>
-<polygon fill="#191970" stroke="#191970" points="377.2491,-7859.0504 366.6723,-7859.6678 375.3256,-7865.7809 377.2491,-7859.0504"/>
+<path fill="none" stroke="#191970" d="M376.4538,-7863.463C387.9007,-7867.386 398.4464,-7873.5356 406,-7883 470.4618,-7963.7679 378.2558,-11521.6646 442,-11603 446.3117,-11608.5016 451.6564,-11612.8943 457.6059,-11616.3903"/>
+<polygon fill="#191970" stroke="#191970" points="377.2492,-7860.0503 366.6724,-7860.6677 375.3257,-7866.7808 377.2492,-7860.0503"/>
</g>
<!-- Node41 -->
<g id="node50" class="node">
<title>Node41</title>
<g id="a_node50"><a xlink:href="classtvm_1_1auto__scheduler_1_1AnnotationStepNode.html" target="_top" xlink:title="Annotation step that corresponds to vectorize, parallel, unroll and thread binding. (i.e. te::Stage::vectorize, te::Stage::parallel, te::Stage::vectorize, te::Stage::bind) ">
-<polygon fill="#ffffff" stroke="#000000" points="478,-11361 478,-11391 601,-11391 601,-11361 478,-11361"/>
-<text text-anchor="start" x="486" y="-11379" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11368" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::AnnotationStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="478,-11221 478,-11251 601,-11251 601,-11221 478,-11221"/>
+<text text-anchor="start" x="486" y="-11239" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11228" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::AnnotationStepNode</text>
</a>
</g>
</g>
<!-- Node40->Node41 -->
<g id="edge45" class="edge">
<title>Node40->Node41</title>
-<path fill="none" stroke="#191970" d="M373.0959,-7616.3825C385.8246,-7620.2231 397.7129,-7626.6167 406,-7637 470.3585,-7717.6372 378.3579,-11269.7963 442,-11351 450.8391,-11362.2782 464.0191,-11368.8963 477.8523,-11372.6825"/>
-<polygon fill="#191970" stroke="#191970" points="373.7945,-7612.9495 363.2442,-7613.9193 372.0966,-7619.7404 373.7945,-7612.9495"/>
+<path fill="none" stroke="#191970" d="M373.0929,-7617.3849C385.8217,-7621.2254 397.7109,-7627.6183 406,-7638 467.9302,-7715.5643 380.7589,-11132.8905 442,-11211 450.8412,-11222.2765 464.0221,-11228.894 477.8553,-11232.6802"/>
+<polygon fill="#191970" stroke="#191970" points="373.7915,-7613.9519 363.2411,-7614.9218 372.0935,-7620.7428 373.7915,-7613.9519"/>
</g>
<!-- Node42 -->
<g id="node51" class="node">
<title>Node42</title>
<g id="a_node51"><a xlink:href="classtvm_1_1auto__scheduler_1_1CacheReadStepNode.html" target="_top" xlink:title="Cache read step that corresponds to te::Schedule::cache_read. ">
-<polygon fill="#ffffff" stroke="#000000" points="477.5,-11312 477.5,-11342 601.5,-11342 601.5,-11312 477.5,-11312"/>
-<text text-anchor="start" x="485.5" y="-11330" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11319" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CacheReadStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="477.5,-11172 477.5,-11202 601.5,-11202 601.5,-11172 477.5,-11172"/>
+<text text-anchor="start" x="485.5" y="-11190" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11179" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CacheReadStepNode</text>
</a>
</g>
</g>
<!-- Node40->Node42 -->
<g id="edge46" class="edge">
<title>Node40->Node42</title>
-<path fill="none" stroke="#191970" d="M373.0949,-7616.3833C385.8236,-7620.2239 397.7122,-7626.6173 406,-7637 469.5146,-7716.5693 379.1923,-11221.8716 442,-11302 450.732,-11313.1401 463.6993,-11319.7334 477.3476,-11323.5419"/>
-<polygon fill="#191970" stroke="#191970" points="373.7935,-7612.9503 363.2431,-7613.9202 372.0956,-7619.7412 373.7935,-7612.9503"/>
+<path fill="none" stroke="#191970" d="M373.0918,-7617.3858C385.8207,-7621.2262 397.7102,-7627.6189 406,-7638 467.0863,-7714.4964 381.5933,-11084.9658 442,-11162 450.7342,-11173.1384 463.7023,-11179.7311 477.3506,-11183.5395"/>
+<polygon fill="#191970" stroke="#191970" points="373.7903,-7613.9527 363.24,-7614.9227 372.0924,-7620.7437 373.7903,-7613.9527"/>
</g>
<!-- Node43 -->
<g id="node52" class="node">
<title>Node43</title>
<g id="a_node52"><a xlink:href="classtvm_1_1auto__scheduler_1_1CacheWriteStepNode.html" target="_top" xlink:title="Cache write step that corresponds to te::Schedule::cache_write. ">
-<polygon fill="#ffffff" stroke="#000000" points="477,-11263 477,-11293 602,-11293 602,-11263 477,-11263"/>
-<text text-anchor="start" x="485" y="-11281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11270" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CacheWriteStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="477,-11123 477,-11153 602,-11153 602,-11123 477,-11123"/>
+<text text-anchor="start" x="485" y="-11141" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11130" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CacheWriteStepNode</text>
</a>
</g>
</g>
<!-- Node40->Node43 -->
<g id="edge47" class="edge">
<title>Node40->Node43</title>
-<path fill="none" stroke="#191970" d="M373.0938,-7616.3841C385.8226,-7620.2247 397.7115,-7626.6178 406,-7637 468.6707,-7715.5014 380.0267,-11173.9469 442,-11253 450.6249,-11264.002 463.3808,-11270.5691 476.8434,-11274.3988"/>
-<polygon fill="#191970" stroke="#191970" points="373.7924,-7612.9511 363.2421,-7613.921 372.0945,-7619.7421 373.7924,-7612.9511"/>
+<path fill="none" stroke="#191970" d="M373.0906,-7617.3867C385.8196,-7621.2271 397.7094,-7627.6195 406,-7638 466.2425,-7713.4285 382.4276,-11037.0412 442,-11113 450.6272,-11124.0002 463.3838,-11130.5667 476.8466,-11134.3963"/>
+<polygon fill="#191970" stroke="#191970" points="373.7892,-7613.9537 363.2388,-7614.9236 372.0913,-7620.7446 373.7892,-7613.9537"/>
</g>
<!-- Node44 -->
<g id="node53" class="node">
<title>Node44</title>
<g id="a_node53"><a xlink:href="classtvm_1_1auto__scheduler_1_1ComputeAtStepNode.html" target="_top" xlink:title="Compute at step that corresponds to te::Stage::compute_at. ">
-<polygon fill="#ffffff" stroke="#000000" points="477,-11214 477,-11244 602,-11244 602,-11214 477,-11214"/>
-<text text-anchor="start" x="485" y="-11232" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11221" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeAtStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="477,-11074 477,-11104 602,-11104 602,-11074 477,-11074"/>
+<text text-anchor="start" x="485" y="-11092" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11081" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeAtStepNode</text>
</a>
</g>
</g>
<!-- Node40->Node44 -->
<g id="edge48" class="edge">
<title>Node40->Node44</title>
-<path fill="none" stroke="#191970" d="M373.0928,-7616.385C385.8216,-7620.2255 397.7108,-7626.6184 406,-7637 467.8269,-7714.4335 380.8611,-11126.0222 442,-11204 450.6257,-11215.0014 463.3818,-11221.5683 476.8445,-11225.398"/>
-<polygon fill="#191970" stroke="#191970" points="373.7913,-7612.952 363.241,-7613.9219 372.0934,-7619.7429 373.7913,-7612.952"/>
+<path fill="none" stroke="#191970" d="M373.0895,-7617.3876C385.8185,-7621.2279 397.7086,-7627.6201 406,-7638 465.3986,-7712.3606 383.262,-10989.1165 442,-11064 450.628,-11074.9996 463.385,-11081.5658 476.8477,-11085.3954"/>
+<polygon fill="#191970" stroke="#191970" points="373.788,-7613.9546 363.2377,-7614.9245 372.0901,-7620.7456 373.788,-7613.9546"/>
</g>
<!-- Node45 -->
<g id="node54" class="node">
<title>Node45</title>
<g id="a_node54"><a xlink:href="classtvm_1_1auto__scheduler_1_1ComputeInlineStepNode.html" target="_top" xlink:title="Compute inline step that corresponds to te::Stage::compute_inline. ">
-<polygon fill="#ffffff" stroke="#000000" points="469,-11165 469,-11195 610,-11195 610,-11165 469,-11165"/>
-<text text-anchor="start" x="477" y="-11183" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11172" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeInlineStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="469,-11025 469,-11055 610,-11055 610,-11025 469,-11025"/>
+<text text-anchor="start" x="477" y="-11043" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11032" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeInlineStepNode</text>
</a>
</g>
</g>
<!-- Node40->Node45 -->
<g id="edge49" class="edge">
<title>Node40->Node45</title>
-<path fill="none" stroke="#191970" d="M373.0916,-7616.3859C385.8206,-7620.2263 397.7101,-7626.619 406,-7637 466.983,-7713.3656 381.6954,-11078.0975 442,-11155 448.9012,-11163.8006 458.4455,-11169.7634 468.8801,-11173.7573"/>
-<polygon fill="#191970" stroke="#191970" points="373.7902,-7612.9529 363.2399,-7613.9228 372.0923,-7619.7438 373.7902,-7612.9529"/>
+<path fill="none" stroke="#191970" d="M373.0883,-7617.3886C385.8174,-7621.2288 397.7078,-7627.6207 406,-7638 464.5547,-7711.2927 384.0964,-10941.1918 442,-11015 448.9031,-11023.7991 458.4483,-11029.7612 468.8833,-11033.7548"/>
+<polygon fill="#191970" stroke="#191970" points="373.7868,-7613.9555 363.2364,-7614.9255 372.0889,-7620.7465 373.7868,-7613.9555"/>
</g>
<!-- Node46 -->
<g id="node55" class="node">
<title>Node46</title>
<g id="a_node55"><a xlink:href="classtvm_1_1auto__scheduler_1_1ComputeRootStepNode.html" target="_top" xlink:title="Compute root step that corresponds to te::Stage::compute_root. ">
-<polygon fill="#ffffff" stroke="#000000" points="471.5,-11116 471.5,-11146 607.5,-11146 607.5,-11116 471.5,-11116"/>
-<text text-anchor="start" x="479.5" y="-11134" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11123" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeRootStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="471.5,-10976 471.5,-11006 607.5,-11006 607.5,-10976 471.5,-10976"/>
+<text text-anchor="start" x="479.5" y="-10994" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-10983" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeRootStepNode</text>
</a>
</g>
</g>
<!-- Node40->Node46 -->
<g id="edge50" class="edge">
<title>Node40->Node46</title>
-<path fill="none" stroke="#191970" d="M373.0905,-7616.3868C385.8195,-7620.2272 397.7093,-7626.6196 406,-7637 466.1391,-7712.2977 382.5298,-11030.1728 442,-11106 449.441,-11115.4876 459.954,-11121.677 471.3423,-11125.6569"/>
-<polygon fill="#191970" stroke="#191970" points="373.789,-7612.9538 363.2387,-7613.9237 372.0912,-7619.7447 373.789,-7612.9538"/>
+<path fill="none" stroke="#191970" d="M373.087,-7617.3896C385.8162,-7621.2298 397.707,-7627.6214 406,-7638 463.7109,-7710.2249 384.9308,-10893.2671 442,-10966 449.4431,-10975.486 459.957,-10981.6746 471.3456,-10985.6542"/>
+<polygon fill="#191970" stroke="#191970" points="373.7855,-7613.9565 363.2352,-7614.9265 372.0877,-7620.7475 373.7855,-7613.9565"/>
</g>
<!-- Node47 -->
<g id="node56" class="node">
<title>Node47</title>
<g id="a_node56"><a xlink:href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStepNode.html" target="_top" xlink:title="Similar to FollowSplitStep, but uses split factors from multiple steps. ">
-<polygon fill="#ffffff" stroke="#000000" points="464,-11067 464,-11097 615,-11097 615,-11067 464,-11067"/>
-<text text-anchor="start" x="472" y="-11085" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11074" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::FollowFusedSplitStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="464,-10927 464,-10957 615,-10957 615,-10927 464,-10927"/>
+<text text-anchor="start" x="472" y="-10945" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-10934" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::FollowFusedSplitStepNode</text>
</a>
</g>
</g>
<!-- Node40->Node47 -->
<g id="edge51" class="edge">
<title>Node40->Node47</title>
-<path fill="none" stroke="#191970" d="M373.0893,-7616.3877C385.8184,-7620.228 397.7085,-7626.6202 406,-7637 465.2953,-7711.2299 383.3642,-10982.2481 442,-11057 447.7161,-11064.2872 455.2444,-11069.6286 463.5896,-11073.5175"/>
-<polygon fill="#191970" stroke="#191970" points="373.7879,-7612.9547 363.2375,-7613.9246 372.09,-7619.7457 373.7879,-7612.9547"/>
+<path fill="none" stroke="#191970" d="M373.0858,-7617.3906C385.815,-7621.2307 397.7062,-7627.6221 406,-7638 462.867,-7709.157 385.7651,-10845.3424 442,-10917 447.7178,-10924.2859 455.247,-10929.6265 463.5927,-10933.515"/>
+<polygon fill="#191970" stroke="#191970" points="373.7842,-7613.9575 363.2339,-7614.9275 372.0864,-7620.7485 373.7842,-7613.9575"/>
</g>
<!-- Node48 -->
<g id="node57" class="node">
<title>Node48</title>
<g id="a_node57"><a xlink:href="classtvm_1_1auto__scheduler_1_1FollowSplitStepNode.html" target="_top" xlink:title="Similar to SplitStepNode, but uses split factors from another step (i.e. Follow another split step) ...">
-<polygon fill="#ffffff" stroke="#000000" points="478,-11018 478,-11048 601,-11048 601,-11018 478,-11018"/>
-<text text-anchor="start" x="486" y="-11036" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11025" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::FollowSplitStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="478,-11564 478,-11594 601,-11594 601,-11564 478,-11564"/>
+<text text-anchor="start" x="486" y="-11582" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11571" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::FollowSplitStepNode</text>
</a>
</g>
</g>
<!-- Node40->Node48 -->
<g id="edge52" class="edge">
<title>Node40->Node48</title>
-<path fill="none" stroke="#191970" d="M373.0881,-7616.3887C385.8173,-7620.2289 397.7078,-7626.6208 406,-7637 464.4514,-7710.162 384.1986,-10934.3234 442,-11008 450.8446,-11019.2738 464.0267,-11025.8904 477.8601,-11029.6765"/>
-<polygon fill="#191970" stroke="#191970" points="373.7866,-7612.9557 363.2363,-7613.9256 372.0888,-7619.7466 373.7866,-7612.9557"/>
+<path fill="none" stroke="#191970" d="M373.0999,-7617.3793C385.8283,-7621.2202 397.7155,-7627.6147 406,-7638 473.8373,-7723.0395 374.9182,-11468.3633 442,-11554 450.8363,-11565.2804 464.0153,-11571.8993 477.8484,-11575.6856"/>
+<polygon fill="#191970" stroke="#191970" points="373.7985,-7613.9463 363.2481,-7614.9162 372.1005,-7620.7373 373.7985,-7613.9463"/>
</g>
<!-- Node49 -->
<g id="node58" class="node">
<title>Node49</title>
<g id="a_node58"><a xlink:href="classtvm_1_1auto__scheduler_1_1FuseStepNode.html" target="_top" xlink:title="Fuse step that corresponds to te::Stage::fuse. ">
-<polygon fill="#ffffff" stroke="#000000" points="481.5,-10969 481.5,-10999 597.5,-10999 597.5,-10969 481.5,-10969"/>
-<text text-anchor="start" x="489.5" y="-10987" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-10976" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::FuseStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="481.5,-11515 481.5,-11545 597.5,-11545 597.5,-11515 481.5,-11515"/>
+<text text-anchor="start" x="489.5" y="-11533" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11522" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::FuseStepNode</text>
</a>
</g>
</g>
<!-- Node40->Node49 -->
<g id="edge53" class="edge">
<title>Node40->Node49</title>
-<path fill="none" stroke="#191970" d="M373.0869,-7616.3897C385.8161,-7620.2299 397.7069,-7626.6215 406,-7637 463.6076,-7709.0941 385.0329,-10886.3987 442,-10959 451.6006,-10971.2355 466.3102,-10977.9851 481.4159,-10981.5844"/>
-<polygon fill="#191970" stroke="#191970" points="373.7854,-7612.9566 363.235,-7613.9266 372.0875,-7619.7476 373.7854,-7612.9566"/>
+<path fill="none" stroke="#191970" d="M373.0989,-7617.38C385.8274,-7621.2209 397.7149,-7627.6152 406,-7638 472.9934,-7721.9716 375.7526,-11420.4386 442,-11505 451.5913,-11517.2428 466.298,-11523.9946 481.404,-11527.5937"/>
+<polygon fill="#191970" stroke="#191970" points="373.7976,-7613.9471 363.2472,-7614.9169 372.0996,-7620.738 373.7976,-7613.9471"/>
</g>
<!-- Node50 -->
<g id="node59" class="node">
<title>Node50</title>
<g id="a_node59"><a xlink:href="classtvm_1_1auto__scheduler_1_1PragmaStepNode.html" target="_top" xlink:title="Pragma step that corresponds to te::Stage::pragma. ">
-<polygon fill="#ffffff" stroke="#000000" points="481.5,-10920 481.5,-10950 597.5,-10950 597.5,-10920 481.5,-10920"/>
-<text text-anchor="start" x="489.5" y="-10938" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-10927" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PragmaStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="481.5,-11466 481.5,-11496 597.5,-11496 597.5,-11466 481.5,-11466"/>
+<text text-anchor="start" x="489.5" y="-11484" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11473" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PragmaStepNode</text>
</a>
</g>
</g>
<!-- Node40->Node50 -->
<g id="edge54" class="edge">
<title>Node40->Node50</title>
-<path fill="none" stroke="#191970" d="M373.0856,-7616.3907C385.8149,-7620.2308 397.7061,-7626.6222 406,-7637 462.7637,-7708.0262 385.8673,-10838.4741 442,-10910 451.6016,-10922.2347 466.3115,-10928.9841 481.4172,-10932.5834"/>
-<polygon fill="#191970" stroke="#191970" points="373.7841,-7612.9577 363.2337,-7613.9277 372.0862,-7619.7487 373.7841,-7612.9577"/>
+<path fill="none" stroke="#191970" d="M373.098,-7617.3808C385.8265,-7621.2216 397.7142,-7627.6156 406,-7638 472.1495,-7720.9037 376.587,-11372.514 442,-11456 451.592,-11468.2422 466.2989,-11474.9939 481.4049,-11478.593"/>
+<polygon fill="#191970" stroke="#191970" points="373.7966,-7613.9478 363.2463,-7614.9177 372.0987,-7620.7388 373.7966,-7613.9478"/>
</g>
<!-- Node51 -->
<g id="node60" class="node">
<title>Node51</title>
<g id="a_node60"><a xlink:href="classtvm_1_1auto__scheduler_1_1ReorderStepNode.html" target="_top" xlink:title="Reorder step that corresponds to te::Stage::reorder. ">
-<polygon fill="#ffffff" stroke="#000000" points="481.5,-11557 481.5,-11587 597.5,-11587 597.5,-11557 481.5,-11557"/>
-<text text-anchor="start" x="489.5" y="-11575" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11564" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ReorderStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="481.5,-11417 481.5,-11447 597.5,-11447 597.5,-11417 481.5,-11417"/>
+<text text-anchor="start" x="489.5" y="-11435" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11424" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ReorderStepNode</text>
</a>
</g>
</g>
<!-- Node40->Node51 -->
<g id="edge55" class="edge">
<title>Node40->Node51</title>
-<path fill="none" stroke="#191970" d="M373.0997,-7616.3794C385.8281,-7620.2203 397.7154,-7626.6147 406,-7637 473.7339,-7721.9087 375.0204,-11461.495 442,-11547 451.5907,-11559.2433 466.2972,-11565.9953 481.4032,-11569.5944"/>
-<polygon fill="#191970" stroke="#191970" points="373.7984,-7612.9464 363.248,-7613.9162 372.1004,-7619.7374 373.7984,-7612.9464"/>
+<path fill="none" stroke="#191970" d="M373.097,-7617.3816C385.8256,-7621.2223 397.7136,-7627.6162 406,-7638 471.3057,-7719.8358 377.4214,-11324.5893 442,-11407 451.5928,-11419.2416 466.2999,-11425.9931 481.4059,-11429.5923"/>
+<polygon fill="#191970" stroke="#191970" points="373.7956,-7613.9486 363.2453,-7614.9184 372.0977,-7620.7395 373.7956,-7613.9486"/>
</g>
<!-- Node52 -->
<g id="node61" class="node">
<title>Node52</title>
<g id="a_node61"><a xlink:href="classtvm_1_1auto__scheduler_1_1RfactorStepNode.html" target="_top" xlink:title="Reduction factor step that corresponds to te::Schedule::rfactor. ">
-<polygon fill="#ffffff" stroke="#000000" points="481.5,-11508 481.5,-11538 597.5,-11538 597.5,-11508 481.5,-11508"/>
-<text text-anchor="start" x="489.5" y="-11526" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11515" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RfactorStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="481.5,-11368 481.5,-11398 597.5,-11398 597.5,-11368 481.5,-11368"/>
+<text text-anchor="start" x="489.5" y="-11386" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11375" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RfactorStepNode</text>
</a>
</g>
</g>
<!-- Node40->Node52 -->
<g id="edge56" class="edge">
<title>Node40->Node52</title>
-<path fill="none" stroke="#191970" d="M373.0988,-7616.3801C385.8273,-7620.2209 397.7148,-7626.6152 406,-7637 472.8901,-7720.8408 375.8548,-11413.5703 442,-11498 451.5914,-11510.2427 466.2981,-11516.9946 481.4041,-11520.5937"/>
-<polygon fill="#191970" stroke="#191970" points="373.7974,-7612.9471 363.2471,-7613.917 372.0995,-7619.7381 373.7974,-7612.9471"/>
+<path fill="none" stroke="#191970" d="M373.096,-7617.3824C385.8247,-7621.223 397.713,-7627.6167 406,-7638 470.4618,-7718.7679 378.2558,-11276.6646 442,-11358 451.5935,-11370.241 466.3009,-11376.9923 481.4069,-11380.5915"/>
+<polygon fill="#191970" stroke="#191970" points="373.7946,-7613.9494 363.2443,-7614.9192 372.0967,-7620.7403 373.7946,-7613.9494"/>
</g>
<!-- Node53 -->
<g id="node62" class="node">
<title>Node53</title>
<g id="a_node62"><a xlink:href="classtvm_1_1auto__scheduler_1_1SplitStepNode.html" target="_top" xlink:title="Split step that corresponds to te::Stage::split with additional support of multiple-level of factors...">
-<polygon fill="#ffffff" stroke="#000000" points="481.5,-11459 481.5,-11489 597.5,-11489 597.5,-11459 481.5,-11459"/>
-<text text-anchor="start" x="489.5" y="-11477" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11466" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SplitStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="481.5,-11319 481.5,-11349 597.5,-11349 597.5,-11319 481.5,-11319"/>
+<text text-anchor="start" x="489.5" y="-11337" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11326" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SplitStepNode</text>
</a>
</g>
</g>
<!-- Node40->Node53 -->
<g id="edge57" class="edge">
<title>Node40->Node53</title>
-<path fill="none" stroke="#191970" d="M373.0979,-7616.3809C385.8264,-7620.2216 397.7142,-7626.6157 406,-7637 472.0462,-7719.7729 376.6892,-11365.6456 442,-11449 451.5921,-11461.2421 466.299,-11467.9938 481.405,-11471.5929"/>
-<polygon fill="#191970" stroke="#191970" points="373.7965,-7612.9479 363.2461,-7613.9178 372.0986,-7619.7389 373.7965,-7612.9479"/>
+<path fill="none" stroke="#191970" d="M373.095,-7617.3832C385.8237,-7621.2238 397.7123,-7627.6172 406,-7638 469.6179,-7717.7 379.0901,-11228.7399 442,-11309 451.5943,-11321.2404 466.3019,-11327.9915 481.4079,-11331.5907"/>
+<polygon fill="#191970" stroke="#191970" points="373.7936,-7613.9502 363.2433,-7614.9201 372.0957,-7620.7411 373.7936,-7613.9502"/>
</g>
<!-- Node54 -->
<g id="node63" class="node">
<title>Node54</title>
<g id="a_node63"><a xlink:href="classtvm_1_1auto__scheduler_1_1StorageAlignStepNode.html" target="_top" xlink:title="Storage align step that corresponds to te::Stage::storage_align. ">
-<polygon fill="#ffffff" stroke="#000000" points="473.5,-11410 473.5,-11440 605.5,-11440 605.5,-11410 473.5,-11410"/>
-<text text-anchor="start" x="481.5" y="-11428" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11417" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StorageAlignStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="473.5,-11270 473.5,-11300 605.5,-11300 605.5,-11270 473.5,-11270"/>
+<text text-anchor="start" x="481.5" y="-11288" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11277" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StorageAlignStepNode</text>
</a>
</g>
</g>
<!-- Node40->Node54 -->
<g id="edge58" class="edge">
<title>Node40->Node54</title>
-<path fill="none" stroke="#191970" d="M373.0969,-7616.3817C385.8255,-7620.2224 397.7135,-7626.6162 406,-7637 471.2023,-7718.705 377.5235,-11317.7209 442,-11400 449.8683,-11410.0408 461.1773,-11416.3881 473.325,-11420.3318"/>
-<polygon fill="#191970" stroke="#191970" points="373.7955,-7612.9487 363.2452,-7613.9185 372.0976,-7619.7396 373.7955,-7612.9487"/>
+<path fill="none" stroke="#191970" d="M373.094,-7617.384C385.8227,-7621.2246 397.7116,-7627.6178 406,-7638 468.7741,-7716.6321 379.9245,-11180.8152 442,-11260 449.8702,-11270.0394 461.18,-11276.386 473.3279,-11280.3296"/>
... 16800 lines suppressed ...