You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by lm...@apache.org on 2020/12/03 15:51:26 UTC

[tvm-site] branch asf-site updated: Docs build at Thu Dec 3 07:50:14 PST 2020

This is an automated email from the ASF dual-hosted git repository.

lmzheng 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 ba6ae93  Docs build at Thu Dec  3 07:50:14 PST 2020
ba6ae93 is described below

commit ba6ae935ede1361656901eaa85e40d834be41f36
Author: Lianmin Zheng <li...@gmail.com>
AuthorDate: Thu Dec 3 07:50:15 2020 -0800

    Docs build at Thu Dec  3 07:50:14 PST 2020
---
 .../micro_reference_vm.ipynb                       |    2 +-
 .../tune_network_cuda.py                           |    4 +-
 .../tune_conv2d_layer_cuda.py                      |    2 +-
 .../micro_reference_vm.py                          |    8 +-
 .../tune_conv2d_layer_cuda.ipynb                   |    2 +-
 .../tune_network_cuda.ipynb                        |    4 +-
 .../auto_scheduler/sg_execution_times.rst.txt      |    8 +-
 .../auto_scheduler/tune_conv2d_layer_cuda.rst.txt  |  900 ++-
 .../auto_scheduler/tune_matmul_x86.rst.txt         |    4 +-
 .../auto_scheduler/tune_network_cuda.rst.txt       |   10 +-
 .../tutorials/autotvm/sg_execution_times.rst.txt   |   16 +-
 .../tutorials/autotvm/tune_conv2d_cuda.rst.txt     |   42 +-
 .../tutorials/autotvm/tune_simple_template.rst.txt |   20 +-
 .../tutorials/dev/low_level_custom_pass.rst.txt    |    4 +-
 .../tutorials/dev/sg_execution_times.rst.txt       |    8 +-
 .../frontend/deploy_model_on_android.rst.txt       |    2 +-
 .../deploy_object_detection_pytorch.rst.txt        |    5 +-
 .../tutorials/frontend/deploy_prequantized.rst.txt |    6 +-
 .../frontend/deploy_prequantized_tflite.rst.txt    |    4 +-
 .../tutorials/frontend/deploy_ssd_gluoncv.rst.txt  |    2 +-
 .../tutorials/frontend/from_pytorch.rst.txt        |    4 +-
 .../tutorials/frontend/from_tensorflow.rst.txt     |  768 +--
 .../tutorials/frontend/sg_execution_times.rst.txt  |   40 +-
 .../get_started/cross_compilation_and_rpc.rst.txt  |    2 +-
 .../get_started/relay_quick_start.rst.txt          |    2 +-
 .../get_started/sg_execution_times.rst.txt         |   10 +-
 .../get_started/tensor_expr_get_started.rst.txt    |    2 +-
 .../tutorials/language/schedule_primitives.rst.txt |   20 +-
 .../tutorials/language/sg_execution_times.rst.txt  |   18 +-
 docs/_sources/tutorials/language/tensorize.rst.txt |    8 +-
 .../tutorials/language/tuple_inputs.rst.txt        |   10 +-
 .../tutorials/micro/micro_reference_vm.rst.txt     |    8 +-
 docs/_sources/tutorials/micro/micro_tflite.rst.txt |    2 +-
 .../tutorials/micro/sg_execution_times.rst.txt     |    6 +-
 .../tutorials/optimize/opt_conv_cuda.rst.txt       |    2 +-
 .../tutorials/optimize/opt_conv_tensorcore.rst.txt |    6 +-
 docs/_sources/tutorials/optimize/opt_gemm.rst.txt  |   24 +-
 .../tutorials/optimize/sg_execution_times.rst.txt  |   10 +-
 docs/_sources/tutorials/topi/intro_topi.rst.txt    |    2 +-
 .../tutorials/topi/sg_execution_times.rst.txt      |    4 +-
 .../tutorials/autotvm/sg_execution_times.rst.txt   |    4 +-
 .../vta/tutorials/autotvm/tune_relay_vta.rst.txt   |    2 +-
 .../frontend/deploy_classification.rst.txt         |    4 +-
 .../tutorials/frontend/sg_execution_times.rst.txt  |    4 +-
 .../_sources/vta/tutorials/matrix_multiply.rst.txt |    4 +-
 .../tutorials/optimize/sg_execution_times.rst.txt  |    6 +-
 .../vta/tutorials/sg_execution_times.rst.txt       |    6 +-
 .../_sources/vta/tutorials/vta_get_started.rst.txt |    4 +-
 docs/api/doxygen/annotated.html                    |  508 +-
 docs/api/doxygen/broadcast_8h__incl.svg            |    2 +-
 docs/api/doxygen/bytecode_8h_source.html           |    2 +-
 docs/api/doxygen/c__runtime__api_8h.html           |    2 +-
 docs/api/doxygen/c__runtime__api_8h__dep__incl.svg | 1340 ++---
 docs/api/doxygen/c__runtime__api_8h_source.html    |    2 +-
 docs/api/doxygen/classes.html                      |  335 +-
 docs/api/doxygen/classtvm_1_1BaseAttrsNode.html    |   10 +-
 .../classtvm_1_1te_1_1Schedule-members.html        |   17 +-
 docs/api/doxygen/classtvm_1_1te_1_1Schedule.html   |   25 +-
 .../classtvm_1_1te_1_1Schedule__coll__graph.svg    |   58 +-
 .../classtvm_1_1te_1_1Schedule__inherit__graph.svg |   58 +-
 ...=> classtvm_1_1tir_1_1LinkedParam-members.html} |   26 +-
 .../doxygen/classtvm_1_1tir_1_1LinkedParam.html    |  213 +
 ...lasstvm_1_1tir_1_1LinkedParamNode-members.html} |   28 +-
 .../classtvm_1_1tir_1_1LinkedParamNode.html        |  252 +
 ...stvm_1_1tir_1_1LinkedParamNode__coll__graph.svg |  134 +
 ...m_1_1tir_1_1LinkedParamNode__inherit__graph.svg |   39 +
 ...classtvm_1_1tir_1_1LinkedParam__coll__graph.svg |   40 +
 ...sstvm_1_1tir_1_1LinkedParam__inherit__graph.svg |   40 +
 ...asstvm_1_1transform_1_1PassContext-members.html |    7 +-
 .../classtvm_1_1transform_1_1PassContext.html      |   32 +-
 ...vm_1_1transform_1_1PassContext__coll__graph.svg |   41 +-
 ...1_1transform_1_1PassContext__inherit__graph.svg |   41 +-
 docs/api/doxygen/constant__utils_8h.html           |    2 +-
 docs/api/doxygen/constant__utils_8h__incl.svg      | 1763 +++---
 docs/api/doxygen/crt_8h_source.html                |    2 +-
 docs/api/doxygen/cuda_2dense_8h.html               |    2 +-
 docs/api/doxygen/cuda_2dense_8h__incl.svg          | 1049 ++--
 docs/api/doxygen/cuda_2dense_8h_source.html        |    2 +-
 docs/api/doxygen/cuda_2injective_8h.html           |    2 +-
 docs/api/doxygen/cuda_2injective_8h__incl.svg      | 1023 ++--
 docs/api/doxygen/cuda_2injective_8h_source.html    |    4 +-
 docs/api/doxygen/cuda_2normalization_8h.html       |    2 +-
 docs/api/doxygen/cuda_2normalization_8h__incl.svg  | 1015 ++--
 .../api/doxygen/cuda_2normalization_8h_source.html |    2 +-
 docs/api/doxygen/cuda_2pooling_8h.html             |    2 +-
 docs/api/doxygen/cuda_2pooling_8h__incl.svg        | 1025 ++--
 docs/api/doxygen/cuda_2pooling_8h_source.html      |    6 +-
 docs/api/doxygen/cuda_2reduction_8h.html           |    2 +-
 docs/api/doxygen/cuda_2reduction_8h__incl.svg      | 1023 ++--
 docs/api/doxygen/cuda_2reduction_8h_source.html    |    4 +-
 docs/api/doxygen/cuda_2softmax_8h.html             |    2 +-
 docs/api/doxygen/cuda_2softmax_8h__incl.svg        | 1023 ++--
 docs/api/doxygen/cuda_2softmax_8h_source.html      |    2 +-
 docs/api/doxygen/data__layout_8h_source.html       |    2 +-
 docs/api/doxygen/data__type_8h.html                |    2 +-
 docs/api/doxygen/data__type_8h__dep__incl.svg      |  811 +--
 docs/api/doxygen/detail_2broadcast_8h_source.html  |    2 +-
 docs/api/doxygen/detail_2extern_8h_source.html     |    2 +-
 docs/api/doxygen/dir_000008_000009.html            |    2 +-
 .../dir_5da96592f3a7c442b838b075c58254c2_dep.svg   |    4 +-
 .../dir_63946bee875c6d52bce55e72a67a86ad_dep.svg   |    4 +-
 .../dir_72c2f11201cd7636dc7624de0754daa5_dep.svg   |    4 +-
 .../dir_8e4e25e66b8623d88c5b5dd2040bca97_dep.svg   |    4 +-
 .../dir_a2900df4deca8dd2bcded616f0fe650a.html      |    2 +
 .../dir_b4c7d8e826c599ba55146c099a14beb5_dep.svg   |    4 +-
 .../dir_f97d855a3173728370e632aa77170e34_dep.svg   |    4 +-
 docs/api/doxygen/driver__api_8h.html               |    2 +-
 docs/api/doxygen/driver__api_8h__incl.svg          |  925 ++--
 docs/api/doxygen/elemwise_8h_source.html           |    2 +-
 docs/api/doxygen/error__codes_8h.html              |   36 +-
 docs/api/doxygen/error__codes_8h__dep__incl.svg    |  172 +-
 docs/api/doxygen/error__codes_8h_source.html       |   52 +-
 docs/api/doxygen/files.html                        |   11 +-
 docs/api/doxygen/framing_8h_source.html            |    2 +-
 docs/api/doxygen/func__registry_8h_source.html     |    2 +-
 docs/api/doxygen/functions.html                    |    1 +
 docs/api/doxygen/functions_a.html                  |    3 +
 docs/api/doxygen/functions_d.html                  |    3 +-
 docs/api/doxygen/functions_func_l.html             |    5 +-
 docs/api/doxygen/functions_func_n.html             |    3 +
 docs/api/doxygen/functions_func_p.html             |    5 +-
 docs/api/doxygen/functions_func_t.html             |   17 +-
 docs/api/doxygen/functions_func_v.html             |   25 +-
 docs/api/doxygen/functions_i.html                  |   15 +-
 docs/api/doxygen/functions_l.html                  |    5 +-
 docs/api/doxygen/functions_n.html                  |    3 +
 docs/api/doxygen/functions_o.html                  |   13 +-
 docs/api/doxygen/functions_p.html                  |    6 +
 docs/api/doxygen/functions_s.html                  |    9 +-
 docs/api/doxygen/functions_t.html                  |    9 +-
 docs/api/doxygen/functions_v.html                  |   33 +-
 docs/api/doxygen/functions_vars.html               |    1 +
 docs/api/doxygen/functions_vars_a.html             |    3 +
 docs/api/doxygen/functions_vars_d.html             |    3 +-
 docs/api/doxygen/functions_vars_i.html             |    3 +
 docs/api/doxygen/functions_vars_o.html             |    3 +
 docs/api/doxygen/functions_vars_p.html             |    3 +
 docs/api/doxygen/functions_vars_s.html             |    3 +-
 docs/api/doxygen/fuse_8h_source.html               |    2 +-
 docs/api/doxygen/generic_2default_8h.html          |    2 +-
 docs/api/doxygen/generic_2default_8h__incl.svg     | 1023 ++--
 docs/api/doxygen/generic_2default_8h_source.html   |    4 +-
 docs/api/doxygen/generic_2extern_8h.html           |    2 +-
 docs/api/doxygen/generic_2extern_8h__incl.svg      | 1055 ++--
 docs/api/doxygen/generic_2extern_8h_source.html    |    2 +-
 docs/api/doxygen/generic_2injective_8h.html        |    2 +-
 docs/api/doxygen/generic_2injective_8h__incl.svg   | 1023 ++--
 docs/api/doxygen/generic_2injective_8h_source.html |    4 +-
 docs/api/doxygen/globals_eval.html                 |   30 +
 docs/api/doxygen/globals_func.html                 |   14 +-
 docs/api/doxygen/globals_k.html                    |   30 +
 docs/api/doxygen/globals_t.html                    |   14 +-
 docs/api/doxygen/graph__runtime_8h.html            |   56 +-
 docs/api/doxygen/graph__runtime_8h_source.html     |    7 +-
 ...tils_8h.html => graph__runtime__module_8h.html} |   63 +-
 .../doxygen/graph__runtime__module_8h__incl.svg    |   33 +
 .../doxygen/graph__runtime__module_8h_source.html  |  103 +
 docs/api/doxygen/hierarchy.html                    |  566 +-
 docs/api/doxygen/inherit_graph_61.svg              | 2023 +++----
 docs/api/doxygen/inherit_graph_86.svg              | 5825 ++++++++++----------
 docs/api/doxygen/inherits.html                     |    4 +-
 docs/api/doxygen/ir_2transform_8h.html             |    2 +-
 docs/api/doxygen/ir_2transform_8h_source.html      |   34 +-
 docs/api/doxygen/memory__manager_8h_source.html    |    2 +-
 docs/api/doxygen/namespacemembers.html             |    6 +
 docs/api/doxygen/namespacemembers_d.html           |    9 +-
 docs/api/doxygen/namespacemembers_func.html        |    6 +
 docs/api/doxygen/namespacemembers_func_d.html      |    5 +-
 docs/api/doxygen/namespacemembers_func_p.html      |    5 +-
 docs/api/doxygen/namespacemembers_k.html           |    5 +-
 docs/api/doxygen/namespacemembers_p.html           |    3 +
 docs/api/doxygen/namespacemembers_t.html           |    6 +
 docs/api/doxygen/namespacemembers_vars.html        |    9 +
 docs/api/doxygen/namespacetvm_1_1relay.html        |    5 +
 .../namespacetvm_1_1relay_1_1transform.html        |   42 +
 .../doxygen/namespacetvm_1_1runtime_1_1symbol.html |   34 +
 docs/api/doxygen/namespacetvm_1_1tir.html          |    6 +
 docs/api/doxygen/namespacetvm_1_1tir_1_1attr.html  |   19 +
 docs/api/doxygen/namespacetvm_1_1topi.html         |  419 +-
 docs/api/doxygen/ndarray_8h.html                   |    2 +-
 docs/api/doxygen/ndarray_8h__dep__incl.svg         | 1137 ++--
 docs/api/doxygen/ndarray_8h_source.html            |    2 +-
 docs/api/doxygen/nn_2pooling_8h_source.html        |   30 +-
 docs/api/doxygen/node_2container_8h_source.html    |    2 +-
 docs/api/doxygen/op__strategy_8h_source.html       |    2 +-
 docs/api/doxygen/operation_8h_source.html          |    2 +-
 docs/api/doxygen/platform_8h_source.html           |    2 +-
 docs/api/doxygen/ravel__unravel_8h_source.html     |    2 +-
 docs/api/doxygen/relay_2attrs_2nn_8h_source.html   |  539 +-
 docs/api/doxygen/relay_2attrs_2transform_8h.html   |    5 +
 .../doxygen/relay_2attrs_2transform_8h_source.html |  185 +-
 docs/api/doxygen/relay_2transform_8h.html          |    6 +
 docs/api/doxygen/relay_2transform_8h_source.html   |   14 +-
 docs/api/doxygen/rocm_2injective_8h.html           |    2 +-
 docs/api/doxygen/rocm_2injective_8h__incl.svg      | 1027 ++--
 docs/api/doxygen/rocm_2pooling_8h.html             |    2 +-
 docs/api/doxygen/rocm_2pooling_8h__incl.svg        | 1043 ++--
 docs/api/doxygen/rocm_2reduction_8h.html           |    2 +-
 docs/api/doxygen/rocm_2reduction_8h__incl.svg      | 1027 ++--
 docs/api/doxygen/rocm_2softmax_8h.html             |    2 +-
 docs/api/doxygen/rocm_2softmax_8h__incl.svg        | 1027 ++--
 docs/api/doxygen/runtime_2crt_2module_8h.html      |   39 +
 .../doxygen/runtime_2crt_2module_8h_source.html    |    5 +-
 docs/api/doxygen/runtime_2module_8h.html           |    6 +
 docs/api/doxygen/runtime_2module_8h_source.html    |    8 +-
 docs/api/doxygen/schedule_8h_source.html           |  138 +-
 docs/api/doxygen/schedule__pass_8h.html            |    2 +-
 docs/api/doxygen/schedule__pass_8h__incl.svg       | 1521 ++---
 docs/api/doxygen/search/all_0.js                   |    2 +-
 docs/api/doxygen/search/all_1.js                   |   22 +-
 docs/api/doxygen/search/all_10.js                  |   17 +-
 docs/api/doxygen/search/all_12.js                  |    2 +-
 docs/api/doxygen/search/all_13.js                  |   31 +-
 docs/api/doxygen/search/all_14.js                  |   38 +-
 docs/api/doxygen/search/all_16.js                  |    4 +-
 docs/api/doxygen/search/all_4.js                   |    7 +-
 docs/api/doxygen/search/all_5.js                   |    2 +-
 docs/api/doxygen/search/all_7.js                   |    5 +-
 docs/api/doxygen/search/all_9.js                   |    6 +-
 docs/api/doxygen/search/all_b.js                   |   11 +
 docs/api/doxygen/search/all_c.js                   |    7 +-
 docs/api/doxygen/search/all_e.js                   |    3 +-
 docs/api/doxygen/search/all_f.js                   |    7 +-
 docs/api/doxygen/search/classes_0.js               |    3 +
 docs/api/doxygen/search/classes_10.js              |    1 +
 docs/api/doxygen/search/classes_11.js              |    2 +-
 docs/api/doxygen/search/classes_13.js              |    2 +-
 docs/api/doxygen/search/classes_4.js               |    2 +-
 docs/api/doxygen/search/classes_8.js               |    2 +-
 docs/api/doxygen/search/classes_9.js               |    2 +
 docs/api/doxygen/search/enumvalues_5.js            |   10 +
 docs/api/doxygen/search/files_6.js                 |    3 +-
 docs/api/doxygen/search/functions_1.js             |    4 +-
 docs/api/doxygen/search/functions_10.js            |    4 +-
 docs/api/doxygen/search/functions_14.js            |   14 +-
 docs/api/doxygen/search/functions_16.js            |    2 +-
 docs/api/doxygen/search/functions_4.js             |    1 +
 docs/api/doxygen/search/functions_c.js             |    1 +
 docs/api/doxygen/search/functions_e.js             |    1 +
 docs/api/doxygen/search/variables_0.js             |    2 +-
 docs/api/doxygen/search/variables_1.js             |    1 +
 docs/api/doxygen/search/variables_11.js            |    2 +-
 docs/api/doxygen/search/variables_12.js            |    2 +
 docs/api/doxygen/search/variables_4.js             |    2 +-
 docs/api/doxygen/search/variables_9.js             |    1 +
 docs/api/doxygen/search/variables_a.js             |    1 +
 docs/api/doxygen/search/variables_e.js             |    1 +
 docs/api/doxygen/search/variables_f.js             |    1 +
 docs/api/doxygen/serializer_8h.html                |    2 +-
 docs/api/doxygen/serializer_8h__dep__incl.svg      | 1135 ++--
 docs/api/doxygen/session_8h_source.html            |    2 +-
 ...AutoSchedulerLayoutTransformAttrs-members.html} |   34 +-
 ...elay_1_1AutoSchedulerLayoutTransformAttrs.html} |  170 +-
 ...oSchedulerLayoutTransformAttrs__coll__graph.svg |   89 +
 ...hedulerLayoutTransformAttrs__inherit__graph.svg |   89 +
 .../structtvm_1_1relay_1_1Conv2DAttrs-members.html |   47 +-
 .../doxygen/structtvm_1_1relay_1_1Conv2DAttrs.html |   18 +-
 ...ucttvm_1_1relay_1_1Conv2DAttrs__coll__graph.svg |  354 +-
 ...tvm_1_1relay_1_1Conv2DAttrs__inherit__graph.svg |  118 +-
 ...ucttvm_1_1relay_1_1ScatterNDAttrs-members.html} |   39 +-
 ...l => structtvm_1_1relay_1_1ScatterNDAttrs.html} |  177 +-
 ...tvm_1_1relay_1_1ScatterNDAttrs__coll__graph.svg |  101 +
 ..._1_1relay_1_1ScatterNDAttrs__inherit__graph.svg |   86 +
 docs/api/doxygen/tensor_8h_source.html             |    2 +-
 docs/api/doxygen/tensor__type_8h_source.html       |    2 +-
 docs/api/doxygen/tensor__utils_8h_source.html      |    2 +-
 docs/api/doxygen/tir_2analysis_8h.html             |    2 +-
 docs/api/doxygen/tir_2analysis_8h__incl.svg        | 1626 +++---
 docs/api/doxygen/tir_2analysis_8h_source.html      |    4 +-
 docs/api/doxygen/tir_2function_8h.html             |   12 +-
 docs/api/doxygen/tir_2function_8h__incl.svg        |  997 ++--
 docs/api/doxygen/tir_2function_8h_source.html      |   36 +-
 docs/api/doxygen/tir_2transform_8h.html            |    2 +-
 docs/api/doxygen/tir_2transform_8h__incl.svg       | 1583 +++---
 docs/api/doxygen/topi_2nn_8h_source.html           |    2 +-
 docs/api/doxygen/topi_2transform_8h.html           |    6 +
 docs/api/doxygen/topi_2transform_8h_source.html    |   17 +-
 docs/api/doxygen/utvm__rpc__server_8h_source.html  |    2 +-
 docs/api/doxygen/write__stream_8h_source.html      |    2 +-
 docs/api/doxygen/x86_2bnn_8h_source.html           |    2 +-
 docs/api/doxygen/x86_2default_8h.html              |    2 +-
 docs/api/doxygen/x86_2default_8h__incl.svg         | 1023 ++--
 docs/api/doxygen/x86_2default_8h_source.html       |    4 +-
 docs/api/doxygen/x86_2injective_8h_source.html     |    4 +-
 .../javadoc/org/apache/tvm/class-use/Function.html |   12 +-
 .../javadoc/org/apache/tvm/class-use/Module.html   |    8 +-
 docs/api/python/auto_scheduler.html                |   66 +-
 docs/api/python/micro.html                         |    6 +-
 docs/api/python/relay/index.html                   |   89 +-
 docs/api/python/relay/testing.html                 |    4 +-
 docs/api/python/topi.html                          |  450 +-
 docs/api/rust/compiler_ext/fn.tvm_export.html      |    2 +-
 docs/api/rust/search-index.js                      |    2 +-
 docs/api/rust/settings.html                        |    4 +-
 docs/api/rust/tvm/enum.Error.html                  |   10 +-
 docs/api/rust/tvm/enum.NDArrayError.html           |    4 +-
 docs/api/rust/tvm/errors/enum.Error.html           |   10 +-
 docs/api/rust/tvm/errors/enum.NDArrayError.html    |    4 +-
 docs/api/rust/tvm/function/enum.ArgValue.html      |   62 +-
 docs/api/rust/tvm/function/enum.RetValue.html      |   42 +-
 docs/api/rust/tvm/function/struct.Function.html    |    8 +-
 docs/api/rust/tvm/module/struct.Module.html        |   14 +-
 docs/api/rust/tvm/ndarray/struct.NDArray.html      |    6 +-
 .../rust/tvm/ndarray/struct.NDArrayContainer.html  |    4 +-
 docs/api/rust/tvm/runtime/array/struct.Array.html  |   12 +-
 docs/api/rust/tvm/runtime/enum.ArgValue.html       |   62 +-
 docs/api/rust/tvm/runtime/enum.Error.html          |   10 +-
 docs/api/rust/tvm/runtime/enum.NDArrayError.html   |    4 +-
 docs/api/rust/tvm/runtime/enum.RetValue.html       |   42 +-
 docs/api/rust/tvm/runtime/errors/enum.Error.html   |   10 +-
 .../rust/tvm/runtime/errors/enum.NDArrayError.html |    4 +-
 .../rust/tvm/runtime/function/enum.ArgValue.html   |   62 +-
 .../rust/tvm/runtime/function/enum.RetValue.html   |   42 +-
 .../rust/tvm/runtime/function/struct.Function.html |    8 +-
 docs/api/rust/tvm/runtime/map/struct.Map.html      |   12 +-
 .../api/rust/tvm/runtime/module/struct.Module.html |   14 +-
 .../rust/tvm/runtime/ndarray/struct.NDArray.html   |    6 +-
 .../runtime/ndarray/struct.NDArrayContainer.html   |    4 +-
 .../rust/tvm/runtime/object/struct.ObjectPtr.html  |   14 +-
 .../rust/tvm/runtime/object/struct.ObjectRef.html  |   18 +-
 .../api/rust/tvm/runtime/string/struct.String.html |    4 +-
 .../rust/tvm/runtime/string/struct.StringObj.html  |    4 +-
 docs/api/rust/tvm/runtime/struct.Function.html     |    8 +-
 docs/api/rust/tvm/runtime/struct.Module.html       |   14 +-
 docs/api/rust/tvm/runtime/struct.NDArray.html      |    6 +-
 docs/api/rust/tvm/runtime/struct.ObjectPtr.html    |   14 +-
 docs/api/rust/tvm/runtime/struct.ObjectRef.html    |   18 +-
 docs/api/rust/tvm/runtime/struct.String.html       |    4 +-
 docs/api/rust/tvm/runtime/struct.StringObj.html    |    4 +-
 docs/api/rust/tvm/struct.Function.html             |    8 +-
 docs/api/rust/tvm/struct.Module.html               |   14 +-
 docs/api/rust/tvm/struct.NDArray.html              |    6 +-
 docs/api/rust/tvm_graph_rt/struct.Entry.html       |    6 +-
 docs/api/rust/tvm_graph_rt/struct.Graph.html       |    6 +-
 docs/api/rust/tvm_graph_rt/struct.Node.html        |    6 +-
 docs/api/typedoc/assets/js/main.js                 |    2 +-
 docs/api/typedoc/classes/bytestreamreader.html     |   13 +-
 docs/api/typedoc/classes/cachedcallstack.html      |   35 +-
 docs/api/typedoc/classes/dlcontext.html            |   11 +-
 docs/api/typedoc/classes/dldatatype.html           |   13 +-
 docs/api/typedoc/classes/environment.html          |   13 +-
 docs/api/typedoc/classes/ffilibrary.html           |   21 +-
 docs/api/typedoc/classes/graphruntime.html         |   17 +-
 docs/api/typedoc/classes/instance.html             |   41 +-
 docs/api/typedoc/classes/memory.html               |   35 +-
 docs/api/typedoc/classes/module.html               |   11 +-
 docs/api/typedoc/classes/ndarray.html              |   23 +-
 docs/api/typedoc/classes/packedfunccell.html       |    7 +-
 docs/api/typedoc/classes/rpcserver.html            |   15 +-
 docs/api/typedoc/classes/scalar.html               |    7 +-
 docs/api/typedoc/classes/webgpucontext.html        |   13 +-
 docs/api/typedoc/enums/argtypecode.html            |   31 +-
 docs/api/typedoc/enums/aynccallbackcode.html       |    5 +-
 docs/api/typedoc/enums/dldatatypecode.html         |    9 +-
 docs/api/typedoc/enums/rpcserverstate.html         |   13 +-
 docs/api/typedoc/enums/sizeof.html                 |   19 +-
 docs/api/typedoc/index.html                        |  115 +-
 docs/api/typedoc/interfaces/disposable.html        |    3 +-
 docs/api/typedoc/interfaces/functioninfo.html      |    7 +-
 docs/api/typedoc/interfaces/libraryprovider.html   |    5 +-
 docs/genindex.html                                 |   52 +-
 docs/install/from_source.html                      |    5 +-
 docs/objects.inv                                   |  Bin 17463 -> 17540 bytes
 docs/searchindex.js                                |    2 +-
 .../auto_scheduler/sg_execution_times.html         |    8 +-
 .../auto_scheduler/tune_conv2d_layer_cuda.html     |  900 ++-
 docs/tutorials/auto_scheduler/tune_matmul_x86.html |    4 +-
 .../auto_scheduler/tune_network_cuda.html          |   10 +-
 docs/tutorials/autotvm/sg_execution_times.html     |   14 +-
 docs/tutorials/autotvm/tune_conv2d_cuda.html       |   42 +-
 docs/tutorials/autotvm/tune_simple_template.html   |   20 +-
 docs/tutorials/dev/low_level_custom_pass.html      |    4 +-
 docs/tutorials/dev/sg_execution_times.html         |    8 +-
 .../frontend/deploy_model_on_android.html          |    2 +-
 .../frontend/deploy_object_detection_pytorch.html  |    5 +-
 docs/tutorials/frontend/deploy_prequantized.html   |    6 +-
 .../frontend/deploy_prequantized_tflite.html       |    4 +-
 docs/tutorials/frontend/deploy_ssd_gluoncv.html    |    2 +-
 docs/tutorials/frontend/from_pytorch.html          |    8 +-
 docs/tutorials/frontend/from_tensorflow.html       |  768 +--
 docs/tutorials/frontend/sg_execution_times.html    |   40 +-
 .../get_started/cross_compilation_and_rpc.html     |    2 +-
 docs/tutorials/get_started/relay_quick_start.html  |  120 +-
 docs/tutorials/get_started/sg_execution_times.html |   10 +-
 .../get_started/tensor_expr_get_started.html       |    2 +-
 docs/tutorials/language/schedule_primitives.html   |   20 +-
 docs/tutorials/language/sg_execution_times.html    |   18 +-
 docs/tutorials/language/tensorize.html             |    8 +-
 docs/tutorials/language/tuple_inputs.html          |   10 +-
 docs/tutorials/micro/micro_reference_vm.html       |    8 +-
 docs/tutorials/micro/micro_tflite.html             |    2 +-
 docs/tutorials/micro/sg_execution_times.html       |    6 +-
 docs/tutorials/optimize/opt_conv_cuda.html         |    2 +-
 docs/tutorials/optimize/opt_conv_tensorcore.html   |    6 +-
 docs/tutorials/optimize/opt_gemm.html              |   24 +-
 docs/tutorials/optimize/sg_execution_times.html    |   10 +-
 docs/tutorials/topi/intro_topi.html                |    2 +-
 docs/tutorials/topi/sg_execution_times.html        |    4 +-
 docs/vta/tutorials/autotvm/sg_execution_times.html |    4 +-
 docs/vta/tutorials/autotvm/tune_relay_vta.html     |  186 +-
 .../tutorials/frontend/deploy_classification.html  |   18 +-
 .../vta/tutorials/frontend/sg_execution_times.html |    4 +-
 docs/vta/tutorials/matrix_multiply.html            |    4 +-
 .../vta/tutorials/optimize/sg_execution_times.html |    6 +-
 docs/vta/tutorials/sg_execution_times.html         |    6 +-
 docs/vta/tutorials/vta_get_started.html            |    4 +-
 406 files changed, 25086 insertions(+), 22819 deletions(-)

diff --git a/docs/_downloads/08e39628455fe618afd9eb5b958a433e/micro_reference_vm.ipynb b/docs/_downloads/08e39628455fe618afd9eb5b958a433e/micro_reference_vm.ipynb
index 883348e..94da6cd 100644
--- a/docs/_downloads/08e39628455fe618afd9eb5b958a433e/micro_reference_vm.ipynb
+++ b/docs/_downloads/08e39628455fe618afd9eb5b958a433e/micro_reference_vm.ipynb
@@ -15,7 +15,7 @@
       "cell_type": "markdown",
       "metadata": {},
       "source": [
-        "\n# microTVM Reference Virtual Machines\n\n**Author**: `Andrew Reusch <ar...@octoml.ai>`_\n\nThis tutorial explains how to launch microTVM Reference Virtual Machines. You can use these to\ndevelop on real physical hardware without needing to individually install the microTVM\ndependencies. These are also particularly useful when trying to reproduce behavior with\nmicroTVM, such as when filing bug reports.\n\nmicroTVM is the effort to allow TVM to build and execute models on ba [...]
+        "\n# microTVM Reference Virtual Machines\n\n**Author**: `Andrew Reusch <ar...@octoml.ai>`_\n\nThis tutorial explains how to launch microTVM Reference Virtual Machines. You can use these to\ndevelop on real physical hardware without needing to individually install the microTVM\ndependencies. These are also particularly useful when trying to reproduce behavior with\nmicroTVM, such as when filing bug reports.\n\nmicroTVM is the effort to allow TVM to build and execute models on ba [...]
       ]
     }
   ],
diff --git a/docs/_downloads/2771a7fc8bf8eeb7788823ff349aacc0/tune_network_cuda.py b/docs/_downloads/2771a7fc8bf8eeb7788823ff349aacc0/tune_network_cuda.py
index 723b8d1..8f8cf7f 100644
--- a/docs/_downloads/2771a7fc8bf8eeb7788823ff349aacc0/tune_network_cuda.py
+++ b/docs/_downloads/2771a7fc8bf8eeb7788823ff349aacc0/tune_network_cuda.py
@@ -167,7 +167,7 @@ for idx, task in enumerate(tasks):
 #   during measurement and avoid other runtime conflicts.
 # * :code:`min_repeat_ms` defines the minimum duration of one "repeat" in every measurement.
 #   This can warmup the GPU, which is necessary to get accurate measurement results.
-#   Typically, we recommend a value > 300 ms.
+#   Typically, we recommend a value >= 300 ms.
 # * :code:`num_measure_trials` is the number of measurement trials we can use during the tuning.
 #   You can set it to a small number (e.g., 200) for a fast demonstrative run.
 #   In practice, we recommend setting it around :code:`1000 * len(tasks)`,
@@ -184,7 +184,7 @@ for idx, task in enumerate(tasks):
 
 def run_tuning():
     print("Begin tuning...")
-    measure_ctx = auto_scheduler.LocalRPCMeasureContext(repeat=1, min_repeat_ms=400, timeout=10)
+    measure_ctx = auto_scheduler.LocalRPCMeasureContext(repeat=1, min_repeat_ms=300, timeout=10)
 
     tuner = auto_scheduler.TaskScheduler(tasks, task_weights)
     tune_option = auto_scheduler.TuningOptions(
diff --git a/docs/_downloads/678f3c372a599a18d909aed0fefb30be/tune_conv2d_layer_cuda.py b/docs/_downloads/678f3c372a599a18d909aed0fefb30be/tune_conv2d_layer_cuda.py
index a28e98b..9aeea84 100644
--- a/docs/_downloads/678f3c372a599a18d909aed0fefb30be/tune_conv2d_layer_cuda.py
+++ b/docs/_downloads/678f3c372a599a18d909aed0fefb30be/tune_conv2d_layer_cuda.py
@@ -85,7 +85,7 @@ print(task.compute_dag)
 #   during measurement and avoid other runtime conflicts.
 # * :code:`min_repeat_ms` defines the minimum duration of one "repeat" in every measurement.
 #   This can warmup the GPU, which is necessary to get accurate measurement results.
-#   Typically, we recommend a value > 300 ms.
+#   Typically, we recommend a value >= 300 ms.
 # * :code:`num_measure_trials` is the number of measurement trials we can use during the search.
 #   We only make 10 trials in this tutorial for a fast demonstration. In practice, 1000 is a
 #   good value for the search to converge. You can do more trials according to your time budget.
diff --git a/docs/_downloads/77322ea21ff00abad461e549895ef1d8/micro_reference_vm.py b/docs/_downloads/77322ea21ff00abad461e549895ef1d8/micro_reference_vm.py
index dec1be9..4b449a0 100644
--- a/docs/_downloads/77322ea21ff00abad461e549895ef1d8/micro_reference_vm.py
+++ b/docs/_downloads/77322ea21ff00abad461e549895ef1d8/micro_reference_vm.py
@@ -61,7 +61,8 @@ A minimal set of prerequisites are needed:
 1. `Vagrant <https://vagrantup.com>`__
 2. A supported Virtual Machine hypervisor.
    `VirtualBox <https://www.virtualbox.org>`__ is one suggested free hypervisor, but please note
-   that the `VirtualBox Extension Pack`_ is required for proper USB forwarding.
+   that the `VirtualBox Extension Pack`_ is required for proper USB forwarding. If using VirtualBox,
+   also consider installing the `vbguest <https://github.com/dotless-de/vagrant-vbguest>`_ plugin.
 
 .. _VirtualBox Extension Pack: https://www.virtualbox.org/wiki/Downloads#VirtualBox6.1.16OracleVMVirtualBoxExtensionPack
 
@@ -72,9 +73,10 @@ The first time you use a reference VM, you need to create the box locally and th
 
 .. code-block:: bash
 
-    ~/.../tvm $ cd apps/microtvm-vm
+    # Replace zepyhr with the name of a different platform, if you are not using Zephyr.
+    ~/.../tvm $ cd apps/microtvm/reference-vm/zephyr
     # Replace <provider_name> with the name of the hypervisor you wish to use (i.e. virtualbox).
-    ~/.../tvm/apps/microtvm/vm $ vagrant up --provider=<provider_name>
+    ~/.../tvm/apps/microtvm/reference-vm/zephyr $ vagrant up --provider=<provider_name>
 
 
 This command will take a couple of minutes to run and will require 4 to 5GB of storage on your
diff --git a/docs/_downloads/bcb4a24e8acc1ca84214bc8d7fb7954b/tune_conv2d_layer_cuda.ipynb b/docs/_downloads/bcb4a24e8acc1ca84214bc8d7fb7954b/tune_conv2d_layer_cuda.ipynb
index 8dd3ff1..cc88812 100644
--- a/docs/_downloads/bcb4a24e8acc1ca84214bc8d7fb7954b/tune_conv2d_layer_cuda.ipynb
+++ b/docs/_downloads/bcb4a24e8acc1ca84214bc8d7fb7954b/tune_conv2d_layer_cuda.ipynb
@@ -69,7 +69,7 @@
       "cell_type": "markdown",
       "metadata": {},
       "source": [
-        "Next, we set parameters for the auto-scheduler. These parameters\nmainly specify how we do the measurement during the search.\n\n* :code:`measure_ctx` launches a different process for measurement to\n  provide isolation. It can protect the master process from GPU crashes\n  during measurement and avoid other runtime conflicts.\n* :code:`min_repeat_ms` defines the minimum duration of one \"repeat\" in every measurement.\n  This can warmup the GPU, which is necessary to get accura [...]
+        "Next, we set parameters for the auto-scheduler. These parameters\nmainly specify how we do the measurement during the search.\n\n* :code:`measure_ctx` launches a different process for measurement to\n  provide isolation. It can protect the master process from GPU crashes\n  during measurement and avoid other runtime conflicts.\n* :code:`min_repeat_ms` defines the minimum duration of one \"repeat\" in every measurement.\n  This can warmup the GPU, which is necessary to get accura [...]
       ]
     },
     {
diff --git a/docs/_downloads/dad91669fd0ea707f1374fe331b0dffe/tune_network_cuda.ipynb b/docs/_downloads/dad91669fd0ea707f1374fe331b0dffe/tune_network_cuda.ipynb
index b3df1b7..75c5863 100644
--- a/docs/_downloads/dad91669fd0ea707f1374fe331b0dffe/tune_network_cuda.ipynb
+++ b/docs/_downloads/dad91669fd0ea707f1374fe331b0dffe/tune_network_cuda.ipynb
@@ -69,7 +69,7 @@
       "cell_type": "markdown",
       "metadata": {},
       "source": [
-        "Begin Tuning\n------------\nNow, we set some options for tuning and launch the search tasks\n\n* :code:`measure_ctx` launches a different process for measurement to\n  provide isolation. It can protect the master process from GPU crashes\n  during measurement and avoid other runtime conflicts.\n* :code:`min_repeat_ms` defines the minimum duration of one \"repeat\" in every measurement.\n  This can warmup the GPU, which is necessary to get accurate measurement results.\n  Typical [...]
+        "Begin Tuning\n------------\nNow, we set some options for tuning and launch the search tasks\n\n* :code:`measure_ctx` launches a different process for measurement to\n  provide isolation. It can protect the master process from GPU crashes\n  during measurement and avoid other runtime conflicts.\n* :code:`min_repeat_ms` defines the minimum duration of one \"repeat\" in every measurement.\n  This can warmup the GPU, which is necessary to get accurate measurement results.\n  Typical [...]
       ]
     },
     {
@@ -80,7 +80,7 @@
       },
       "outputs": [],
       "source": [
-        "def run_tuning():\n    print(\"Begin tuning...\")\n    measure_ctx = auto_scheduler.LocalRPCMeasureContext(repeat=1, min_repeat_ms=400, timeout=10)\n\n    tuner = auto_scheduler.TaskScheduler(tasks, task_weights)\n    tune_option = auto_scheduler.TuningOptions(\n        num_measure_trials=200,  # change this to 20000 to achieve the best performance\n        runner=measure_ctx.runner,\n        measure_callbacks=[auto_scheduler.RecordToFile(log_file)],\n    )\n\n    tuner.tune(tun [...]
+        "def run_tuning():\n    print(\"Begin tuning...\")\n    measure_ctx = auto_scheduler.LocalRPCMeasureContext(repeat=1, min_repeat_ms=300, timeout=10)\n\n    tuner = auto_scheduler.TaskScheduler(tasks, task_weights)\n    tune_option = auto_scheduler.TuningOptions(\n        num_measure_trials=200,  # change this to 20000 to achieve the best performance\n        runner=measure_ctx.runner,\n        measure_callbacks=[auto_scheduler.RecordToFile(log_file)],\n    )\n\n    tuner.tune(tun [...]
       ]
     },
     {
diff --git a/docs/_sources/tutorials/auto_scheduler/sg_execution_times.rst.txt b/docs/_sources/tutorials/auto_scheduler/sg_execution_times.rst.txt
index 59f40b3..ed5a1fb 100644
--- a/docs/_sources/tutorials/auto_scheduler/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorials/auto_scheduler/sg_execution_times.rst.txt
@@ -5,8 +5,8 @@
 
 Computation times
 =================
-**04:02.449** total execution time for **tutorials_auto_scheduler** files:
+**03:41.695** total execution time for **tutorials_auto_scheduler** files:
 
-- **01:49.095**: :ref:`sphx_glr_tutorials_auto_scheduler_tune_matmul_x86.py` (``tune_matmul_x86.py``)
-- **01:40.877**: :ref:`sphx_glr_tutorials_auto_scheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``)
-- **00:32.477**: :ref:`sphx_glr_tutorials_auto_scheduler_tune_network_cuda.py` (``tune_network_cuda.py``)
+- **01:48.369**: :ref:`sphx_glr_tutorials_auto_scheduler_tune_matmul_x86.py` (``tune_matmul_x86.py``)
+- **01:21.952**: :ref:`sphx_glr_tutorials_auto_scheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``)
+- **00:31.374**: :ref:`sphx_glr_tutorials_auto_scheduler_tune_network_cuda.py` (``tune_network_cuda.py``)
diff --git a/docs/_sources/tutorials/auto_scheduler/tune_conv2d_layer_cuda.rst.txt b/docs/_sources/tutorials/auto_scheduler/tune_conv2d_layer_cuda.rst.txt
index ffb0d25..71b44fb 100644
--- a/docs/_sources/tutorials/auto_scheduler/tune_conv2d_layer_cuda.rst.txt
+++ b/docs/_sources/tutorials/auto_scheduler/tune_conv2d_layer_cuda.rst.txt
@@ -117,7 +117,7 @@ mainly specify how we do the measurement during the search.
   during measurement and avoid other runtime conflicts.
 * :code:`min_repeat_ms` defines the minimum duration of one "repeat" in every measurement.
   This can warmup the GPU, which is necessary to get accurate measurement results.
-  Typically, we recommend a value > 300 ms.
+  Typically, we recommend a value >= 300 ms.
 * :code:`num_measure_trials` is the number of measurement trials we can use during the search.
   We only make 10 trials in this tutorial for a fast demonstration. In practice, 1000 is a
   good value for the search to converge. You can do more trials according to your time budget.
@@ -205,521 +205,409 @@ cooperative fetching, unrolling and operator fusion.
 
     primfn(data_1: handle, kernel_1: handle, bias_1: handle, compute_1: handle) -> ()
       attr = {"global_symbol": "main", "tir.noalias": True}
-      buffers = {compute: Buffer(compute_2: Pointer(float32), float32, [1, 512, 7, 7], []),
-                 bias: Buffer(bias_2: Pointer(float32), float32, [1, 512, 1, 1], []),
+      buffers = {bias: Buffer(bias_2: Pointer(float32), float32, [1, 512, 1, 1], []),
+                 compute: Buffer(compute_2: Pointer(float32), float32, [1, 512, 7, 7], []),
                  kernel: Buffer(kernel_2: Pointer(float32), float32, [512, 512, 3, 3], []),
                  data: Buffer(data_2: Pointer(float32), float32, [1, 512, 7, 7], [])}
       buffer_map = {data_1: data, kernel_1: kernel, bias_1: bias, compute_1: compute} {
-      attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 128;
+      attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 14;
       attr [compute_3: Pointer(float32)] "storage_scope" = "local";
-      allocate(compute_3, float32, [4]);
+      allocate(compute_3, float32, [8]);
       attr [pad_temp.shared: Pointer(float32)] "storage_scope" = "shared";
-      allocate(pad_temp.shared, float32, [2016]);
+      allocate(pad_temp.shared, float32, [108]);
       attr [kernel.shared: Pointer(float32)] "storage_scope" = "shared";
-      allocate(kernel.shared, float32, [384]);
-      attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49 {
+      allocate(kernel.shared, float32, [9216]);
+      attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224 {
         compute_3[0] = 0f32
         compute_3[1] = 0f32
         compute_3[2] = 0f32
         compute_3[3] = 0f32
-        for (rc.outer.outer: int32, 0, 16) {
-          for (ry.outer.outer: int32, 0, 3) {
-            attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[threadIdx.x_1] = @tir.if_then_else((((1 <= (floordiv(threadIdx.x_1, 9) + ry.outer.outer)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv(threadIdx.x_1, 9)*7)) + (ry.outer.outer*7)) + floormod(threadIdx.x_1, 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 49)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 49), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 49), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 4), 9))) && (floormod((threadIdx.x_1 + 4), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 49), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 4), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 98)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 35), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 35), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 8), 9))) && (floormod((threadIdx.x_1 + 8), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 98), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 147)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 21), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 21), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 3), 9))) && (floormod((threadIdx.x_1 + 3), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 147), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 3), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 196)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 7), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 7), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 7), 9))) && (floormod((threadIdx.x_1 + 7), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 196), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 7), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 245)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 56), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 56), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 2), 9))) && (floormod((threadIdx.x_1 + 2), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 245), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 2), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 294)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 42), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 42), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 6), 9))) && (floormod((threadIdx.x_1 + 6), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 294), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 6), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 343)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 28), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 28), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 1), 9))) && (floormod((threadIdx.x_1 + 1), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 343), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 1), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 392)] = @tir.if_then_else(((((floordiv(floormod((threadIdx.x_1 + 14), 63), 9) + ry.outer.outer) < 8) && (1 <= floormod((threadIdx.x_1 + 5), 9))) && (floormod((threadIdx.x_1 + 5), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 392), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 5), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 441)] = @tir.if_then_else((((1 <= (floordiv(threadIdx.x_1, 9) + ry.outer.outer)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv(threadIdx.x_1, 9)*7)) + (ry.outer.outer*7)) + floormod(threadIdx.x_1, 9)) + 335)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 490)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 49), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 49), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 4), 9))) && (floormod((threadIdx.x_1 + 4), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 490), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 4), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 539)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 35), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 35), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 8), 9))) && (floormod((threadIdx.x_1 + 8), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 539), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 588)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 21), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 21), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 3), 9))) && (floormod((threadIdx.x_1 + 3), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 588), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 3), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 637)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 7), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 7), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 7), 9))) && (floormod((threadIdx.x_1 + 7), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 637), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 7), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 686)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 56), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 56), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 2), 9))) && (floormod((threadIdx.x_1 + 2), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 686), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 2), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 735)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 42), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 42), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 6), 9))) && (floormod((threadIdx.x_1 + 6), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 735), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 6), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 784)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 28), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 28), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 1), 9))) && (floormod((threadIdx.x_1 + 1), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 784), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 1), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 833)] = @tir.if_then_else(((((floordiv(floormod((threadIdx.x_1 + 14), 63), 9) + ry.outer.outer) < 8) && (1 <= floormod((threadIdx.x_1 + 5), 9))) && (floormod((threadIdx.x_1 + 5), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 833), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 5), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 882)] = @tir.if_then_else((((1 <= (floordiv(threadIdx.x_1, 9) + ry.outer.outer)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv(threadIdx.x_1, 9)*7)) + (ry.outer.outer*7)) + floormod(threadIdx.x_1, 9)) + 678)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 931)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 49), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 49), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 4), 9))) && (floormod((threadIdx.x_1 + 4), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 931), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 4), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 980)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 35), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 35), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 8), 9))) && (floormod((threadIdx.x_1 + 8), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 980), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1029)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 21), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 21), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 3), 9))) && (floormod((threadIdx.x_1 + 3), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1029), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 3), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1078)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 7), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 7), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 7), 9))) && (floormod((threadIdx.x_1 + 7), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1078), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 7), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1127)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 56), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 56), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 2), 9))) && (floormod((threadIdx.x_1 + 2), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1127), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 2), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1176)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 42), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 42), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 6), 9))) && (floormod((threadIdx.x_1 + 6), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1176), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 6), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1225)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 28), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 28), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 1), 9))) && (floormod((threadIdx.x_1 + 1), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1225), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 1), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1274)] = @tir.if_then_else(((((floordiv(floormod((threadIdx.x_1 + 14), 63), 9) + ry.outer.outer) < 8) && (1 <= floormod((threadIdx.x_1 + 5), 9))) && (floormod((threadIdx.x_1 + 5), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1274), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 5), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1323)] = @tir.if_then_else((((1 <= (floordiv(threadIdx.x_1, 9) + ry.outer.outer)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv(threadIdx.x_1, 9)*7)) + (ry.outer.outer*7)) + floormod(threadIdx.x_1, 9)) + 1021)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1372)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 49), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 49), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 4), 9))) && (floormod((threadIdx.x_1 + 4), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1372), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 4), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1421)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 35), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 35), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 8), 9))) && (floormod((threadIdx.x_1 + 8), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1421), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1470)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 21), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 21), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 3), 9))) && (floormod((threadIdx.x_1 + 3), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1470), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 3), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1519)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 7), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 7), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 7), 9))) && (floormod((threadIdx.x_1 + 7), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1519), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 7), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1568)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 56), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 56), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 2), 9))) && (floormod((threadIdx.x_1 + 2), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1568), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 2), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1617)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 42), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 42), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 6), 9))) && (floormod((threadIdx.x_1 + 6), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1617), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 6), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1666)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 28), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 28), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 1), 9))) && (floormod((threadIdx.x_1 + 1), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1666), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 1), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1715)] = @tir.if_then_else(((((floordiv(floormod((threadIdx.x_1 + 14), 63), 9) + ry.outer.outer) < 8) && (1 <= floormod((threadIdx.x_1 + 5), 9))) && (floormod((threadIdx.x_1 + 5), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1715), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 5), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1764)] = @tir.if_then_else((((1 <= (floordiv(threadIdx.x_1, 9) + ry.outer.outer)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv(threadIdx.x_1, 9)*7)) + (ry.outer.outer*7)) + floormod(threadIdx.x_1, 9)) + 1364)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1813)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 49), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 49), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 4), 9))) && (floormod((threadIdx.x_1 + 4), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1813), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 4), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1862)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 35), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 35), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 8), 9))) && (floormod((threadIdx.x_1 + 8), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1862), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1911)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 21), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 21), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 3), 9))) && (floormod((threadIdx.x_1 + 3), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1911), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 3), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            pad_temp.shared[(threadIdx.x_1 + 1960)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 7), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 7), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 7), 9))) && (floormod((threadIdx.x_1 + 7), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 1960), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 7), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49;
-            if @tir.likely((threadIdx.x_1 < 7), dtype=bool) {
-              pad_temp.shared[(threadIdx.x_1 + 2009)] = @tir.if_then_else((((floordiv(floormod((threadIdx.x_1 + 56), 63), 9) + ry.outer.outer) < 8) && (floormod((threadIdx.x_1 + 2), 9) < 8)), (float32*)data_2[(((((rc.outer.outer*1568) + (floordiv((threadIdx.x_1 + 2009), 9)*7)) + (ry.outer.outer*7)) + floormod((threadIdx.x_1 + 2), 9)) - 8)], 0f32, dtype=float32)
-            }
-            attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49 {
-              kernel.shared[(threadIdx.x_2*2)] = (float32*)kernel_2[((((((blockIdx.x*18432) + (floordiv(threadIdx.x_2, 48)*4608)) + (rc.outer.outer*288)) + (floordiv((floormod(threadIdx.x_2, 48)*2), 3)*9)) + (ry.outer.outer*3)) + floormod((threadIdx.x_2*2), 3))]
-              kernel.shared[((threadIdx.x_2*2) + 1)] = (float32*)kernel_2[((((((blockIdx.x*18432) + (floordiv(((threadIdx.x_2*2) + 1), 96)*4608)) + (rc.outer.outer*288)) + (floordiv(floormod(((threadIdx.x_2*2) + 1), 96), 3)*9)) + (ry.outer.outer*3)) + floormod(((threadIdx.x_2*2) + 1), 3))]
-            }
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49 {
-              kernel.shared[((threadIdx.x_2*2) + 98)] = (float32*)kernel_2[((((((blockIdx.x*18432) + (floordiv(((threadIdx.x_2*2) + 98), 96)*4608)) + (rc.outer.outer*288)) + (floordiv(floormod(((threadIdx.x_2*2) + 2), 96), 3)*9)) + (ry.outer.outer*3)) + floormod(((threadIdx.x_2*2) + 2), 3))]
-              kernel.shared[((threadIdx.x_2*2) + 99)] = (float32*)kernel_2[((((((blockIdx.x*18432) + (floordiv(((threadIdx.x_2*2) + 99), 96)*4608)) + (rc.outer.outer*288)) + (floordiv(floormod(((threadIdx.x_2*2) + 3), 96), 3)*9)) + (ry.outer.outer*3)) + floormod((threadIdx.x_2*2), 3))]
-            }
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49 {
-              kernel.shared[((threadIdx.x_2*2) + 196)] = (float32*)kernel_2[((((((blockIdx.x*18432) + (floordiv(((threadIdx.x_2*2) + 196), 96)*4608)) + (rc.outer.outer*288)) + (floordiv(floormod(((threadIdx.x_2*2) + 4), 96), 3)*9)) + (ry.outer.outer*3)) + floormod(((threadIdx.x_2*2) + 1), 3))]
-              kernel.shared[((threadIdx.x_2*2) + 197)] = (float32*)kernel_2[((((((blockIdx.x*18432) + (floordiv(((threadIdx.x_2*2) + 197), 96)*4608)) + (rc.outer.outer*288)) + (floordiv(floormod(((threadIdx.x_2*2) + 5), 96), 3)*9)) + (ry.outer.outer*3)) + floormod(((threadIdx.x_2*2) + 2), 3))]
-            }
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 49 {
-              if @tir.likely((threadIdx.x_2 < 45), dtype=bool) {
-                kernel.shared[((threadIdx.x_2*2) + 294)] = (float32*)kernel_2[((((((blockIdx.x*18432) + (floordiv(((threadIdx.x_2*2) + 294), 96)*4608)) + (rc.outer.outer*288)) + (floordiv(floormod(((threadIdx.x_2*2) + 6), 96), 3)*9)) + (ry.outer.outer*3)) + floormod((threadIdx.x_2*2), 3))]
-              }
-              if @tir.likely(((threadIdx.x_2*2) < 89), dtype=bool) {
-                if @tir.likely((threadIdx.x_2 < 45), dtype=bool) {
-                  kernel.shared[((threadIdx.x_2*2) + 295)] = (float32*)kernel_2[((((((blockIdx.x*18432) + (floordiv(((threadIdx.x_2*2) + 295), 96)*4608)) + (rc.outer.outer*288)) + (floordiv(floormod(((threadIdx.x_2*2) + 7), 96), 3)*9)) + (ry.outer.outer*3)) + floormod(((threadIdx.x_2*2) + 1), 3))]
-                }
-              }
-            }
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7))]*(float32*)kernel.shared[0]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7))]*(float32*)kernel.shared[96]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 63)]*(float32*)kernel.shared[3]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 63)]*(float32*)kernel.shared[99]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 126)]*(float32*)kernel.shared[6]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 126)]*(float32*)kernel.shared[102]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 189)]*(float32*)kernel.shared[9]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 189)]*(float32*)kernel.shared[105]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 252)]*(float32*)kernel.shared[12]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 252)]*(float32*)kernel.shared[108]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 315)]*(float32*)kernel.shared[15]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 315)]*(float32*)kernel.shared[111]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 378)]*(float32*)kernel.shared[18]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 378)]*(float32*)kernel.shared[114]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 441)]*(float32*)kernel.shared[21]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 441)]*(float32*)kernel.shared[117]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 504)]*(float32*)kernel.shared[24]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 504)]*(float32*)kernel.shared[120]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 567)]*(float32*)kernel.shared[27]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 567)]*(float32*)kernel.shared[123]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 630)]*(float32*)kernel.shared[30]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 630)]*(float32*)kernel.shared[126]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 693)]*(float32*)kernel.shared[33]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 693)]*(float32*)kernel.shared[129]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 756)]*(float32*)kernel.shared[36]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 756)]*(float32*)kernel.shared[132]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 819)]*(float32*)kernel.shared[39]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 819)]*(float32*)kernel.shared[135]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 882)]*(float32*)kernel.shared[42]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 882)]*(float32*)kernel.shared[138]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 945)]*(float32*)kernel.shared[45]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 945)]*(float32*)kernel.shared[141]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1008)]*(float32*)kernel.shared[48]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1008)]*(float32*)kernel.shared[144]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1071)]*(float32*)kernel.shared[51]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1071)]*(float32*)kernel.shared[147]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1134)]*(float32*)kernel.shared[54]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1134)]*(float32*)kernel.shared[150]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1197)]*(float32*)kernel.shared[57]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1197)]*(float32*)kernel.shared[153]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1260)]*(float32*)kernel.shared[60]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1260)]*(float32*)kernel.shared[156]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1323)]*(float32*)kernel.shared[63]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1323)]*(float32*)kernel.shared[159]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1386)]*(float32*)kernel.shared[66]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1386)]*(float32*)kernel.shared[162]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1449)]*(float32*)kernel.shared[69]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1449)]*(float32*)kernel.shared[165]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1512)]*(float32*)kernel.shared[72]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1512)]*(float32*)kernel.shared[168]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1575)]*(float32*)kernel.shared[75]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1575)]*(float32*)kernel.shared[171]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1638)]*(float32*)kernel.shared[78]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1638)]*(float32*)kernel.shared[174]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1701)]*(float32*)kernel.shared[81]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1701)]*(float32*)kernel.shared[177]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1764)]*(float32*)kernel.shared[84]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1764)]*(float32*)kernel.shared[180]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1827)]*(float32*)kernel.shared[87]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1827)]*(float32*)kernel.shared[183]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1890)]*(float32*)kernel.shared[90]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1890)]*(float32*)kernel.shared[186]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1953)]*(float32*)kernel.shared[93]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1953)]*(float32*)kernel.shared[189]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7))]*(float32*)kernel.shared[192]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7))]*(float32*)kernel.shared[288]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 63)]*(float32*)kernel.shared[195]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 63)]*(float32*)kernel.shared[291]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 126)]*(float32*)kernel.shared[198]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 126)]*(float32*)kernel.shared[294]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 189)]*(float32*)kernel.shared[201]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 189)]*(float32*)kernel.shared[297]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 252)]*(float32*)kernel.shared[204]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 252)]*(float32*)kernel.shared[300]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 315)]*(float32*)kernel.shared[207]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 315)]*(float32*)kernel.shared[303]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 378)]*(float32*)kernel.shared[210]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 378)]*(float32*)kernel.shared[306]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 441)]*(float32*)kernel.shared[213]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 441)]*(float32*)kernel.shared[309]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 504)]*(float32*)kernel.shared[216]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 504)]*(float32*)kernel.shared[312]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 567)]*(float32*)kernel.shared[219]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 567)]*(float32*)kernel.shared[315]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 630)]*(float32*)kernel.shared[222]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 630)]*(float32*)kernel.shared[318]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 693)]*(float32*)kernel.shared[225]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 693)]*(float32*)kernel.shared[321]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 756)]*(float32*)kernel.shared[228]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 756)]*(float32*)kernel.shared[324]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 819)]*(float32*)kernel.shared[231]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 819)]*(float32*)kernel.shared[327]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 882)]*(float32*)kernel.shared[234]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 882)]*(float32*)kernel.shared[330]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 945)]*(float32*)kernel.shared[237]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 945)]*(float32*)kernel.shared[333]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1008)]*(float32*)kernel.shared[240]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1008)]*(float32*)kernel.shared[336]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1071)]*(float32*)kernel.shared[243]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1071)]*(float32*)kernel.shared[339]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1134)]*(float32*)kernel.shared[246]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1134)]*(float32*)kernel.shared[342]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1197)]*(float32*)kernel.shared[249]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1197)]*(float32*)kernel.shared[345]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1260)]*(float32*)kernel.shared[252]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1260)]*(float32*)kernel.shared[348]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1323)]*(float32*)kernel.shared[255]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1323)]*(float32*)kernel.shared[351]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1386)]*(float32*)kernel.shared[258]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1386)]*(float32*)kernel.shared[354]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1449)]*(float32*)kernel.shared[261]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1449)]*(float32*)kernel.shared[357]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1512)]*(float32*)kernel.shared[264]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1512)]*(float32*)kernel.shared[360]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1575)]*(float32*)kernel.shared[267]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1575)]*(float32*)kernel.shared[363]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1638)]*(float32*)kernel.shared[270]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1638)]*(float32*)kernel.shared[366]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1701)]*(float32*)kernel.shared[273]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1701)]*(float32*)kernel.shared[369]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1764)]*(float32*)kernel.shared[276]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1764)]*(float32*)kernel.shared[372]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1827)]*(float32*)kernel.shared[279]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1827)]*(float32*)kernel.shared[375]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1890)]*(float32*)kernel.shared[282]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1890)]*(float32*)kernel.shared[378]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1953)]*(float32*)kernel.shared[285]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1953)]*(float32*)kernel.shared[381]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1)]*(float32*)kernel.shared[1]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1)]*(float32*)kernel.shared[97]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 64)]*(float32*)kernel.shared[4]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 64)]*(float32*)kernel.shared[100]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 127)]*(float32*)kernel.shared[7]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 127)]*(float32*)kernel.shared[103]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 190)]*(float32*)kernel.shared[10]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 190)]*(float32*)kernel.shared[106]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 253)]*(float32*)kernel.shared[13]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 253)]*(float32*)kernel.shared[109]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 316)]*(float32*)kernel.shared[16]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 316)]*(float32*)kernel.shared[112]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 379)]*(float32*)kernel.shared[19]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 379)]*(float32*)kernel.shared[115]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 442)]*(float32*)kernel.shared[22]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 442)]*(float32*)kernel.shared[118]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 505)]*(float32*)kernel.shared[25]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 505)]*(float32*)kernel.shared[121]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 568)]*(float32*)kernel.shared[28]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 568)]*(float32*)kernel.shared[124]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 631)]*(float32*)kernel.shared[31]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 631)]*(float32*)kernel.shared[127]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 694)]*(float32*)kernel.shared[34]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 694)]*(float32*)kernel.shared[130]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 757)]*(float32*)kernel.shared[37]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 757)]*(float32*)kernel.shared[133]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 820)]*(float32*)kernel.shared[40]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 820)]*(float32*)kernel.shared[136]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 883)]*(float32*)kernel.shared[43]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 883)]*(float32*)kernel.shared[139]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 946)]*(float32*)kernel.shared[46]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 946)]*(float32*)kernel.shared[142]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1009)]*(float32*)kernel.shared[49]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1009)]*(float32*)kernel.shared[145]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1072)]*(float32*)kernel.shared[52]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1072)]*(float32*)kernel.shared[148]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1135)]*(float32*)kernel.shared[55]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1135)]*(float32*)kernel.shared[151]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1198)]*(float32*)kernel.shared[58]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1198)]*(float32*)kernel.shared[154]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1261)]*(float32*)kernel.shared[61]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1261)]*(float32*)kernel.shared[157]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1324)]*(float32*)kernel.shared[64]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1324)]*(float32*)kernel.shared[160]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1387)]*(float32*)kernel.shared[67]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1387)]*(float32*)kernel.shared[163]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1450)]*(float32*)kernel.shared[70]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1450)]*(float32*)kernel.shared[166]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1513)]*(float32*)kernel.shared[73]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1513)]*(float32*)kernel.shared[169]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1576)]*(float32*)kernel.shared[76]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1576)]*(float32*)kernel.shared[172]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1639)]*(float32*)kernel.shared[79]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1639)]*(float32*)kernel.shared[175]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1702)]*(float32*)kernel.shared[82]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1702)]*(float32*)kernel.shared[178]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1765)]*(float32*)kernel.shared[85]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1765)]*(float32*)kernel.shared[181]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1828)]*(float32*)kernel.shared[88]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1828)]*(float32*)kernel.shared[184]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1891)]*(float32*)kernel.shared[91]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1891)]*(float32*)kernel.shared[187]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1954)]*(float32*)kernel.shared[94]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1954)]*(float32*)kernel.shared[190]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1)]*(float32*)kernel.shared[193]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1)]*(float32*)kernel.shared[289]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 64)]*(float32*)kernel.shared[196]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 64)]*(float32*)kernel.shared[292]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 127)]*(float32*)kernel.shared[199]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 127)]*(float32*)kernel.shared[295]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 190)]*(float32*)kernel.shared[202]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 190)]*(float32*)kernel.shared[298]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 253)]*(float32*)kernel.shared[205]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 253)]*(float32*)kernel.shared[301]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 316)]*(float32*)kernel.shared[208]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 316)]*(float32*)kernel.shared[304]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 379)]*(float32*)kernel.shared[211]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 379)]*(float32*)kernel.shared[307]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 442)]*(float32*)kernel.shared[214]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 442)]*(float32*)kernel.shared[310]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 505)]*(float32*)kernel.shared[217]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 505)]*(float32*)kernel.shared[313]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 568)]*(float32*)kernel.shared[220]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 568)]*(float32*)kernel.shared[316]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 631)]*(float32*)kernel.shared[223]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 631)]*(float32*)kernel.shared[319]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 694)]*(float32*)kernel.shared[226]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 694)]*(float32*)kernel.shared[322]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 757)]*(float32*)kernel.shared[229]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 757)]*(float32*)kernel.shared[325]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 820)]*(float32*)kernel.shared[232]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 820)]*(float32*)kernel.shared[328]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 883)]*(float32*)kernel.shared[235]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 883)]*(float32*)kernel.shared[331]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 946)]*(float32*)kernel.shared[238]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 946)]*(float32*)kernel.shared[334]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1009)]*(float32*)kernel.shared[241]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1009)]*(float32*)kernel.shared[337]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1072)]*(float32*)kernel.shared[244]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1072)]*(float32*)kernel.shared[340]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1135)]*(float32*)kernel.shared[247]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1135)]*(float32*)kernel.shared[343]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1198)]*(float32*)kernel.shared[250]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1198)]*(float32*)kernel.shared[346]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1261)]*(float32*)kernel.shared[253]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1261)]*(float32*)kernel.shared[349]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1324)]*(float32*)kernel.shared[256]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1324)]*(float32*)kernel.shared[352]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1387)]*(float32*)kernel.shared[259]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1387)]*(float32*)kernel.shared[355]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1450)]*(float32*)kernel.shared[262]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1450)]*(float32*)kernel.shared[358]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1513)]*(float32*)kernel.shared[265]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1513)]*(float32*)kernel.shared[361]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1576)]*(float32*)kernel.shared[268]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1576)]*(float32*)kernel.shared[364]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1639)]*(float32*)kernel.shared[271]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1639)]*(float32*)kernel.shared[367]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1702)]*(float32*)kernel.shared[274]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1702)]*(float32*)kernel.shared[370]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1765)]*(float32*)kernel.shared[277]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1765)]*(float32*)kernel.shared[373]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1828)]*(float32*)kernel.shared[280]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1828)]*(float32*)kernel.shared[376]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1891)]*(float32*)kernel.shared[283]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1891)]*(float32*)kernel.shared[379]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1954)]*(float32*)kernel.shared[286]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1954)]*(float32*)kernel.shared[382]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 2)]*(float32*)kernel.shared[2]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 2)]*(float32*)kernel.shared[98]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 65)]*(float32*)kernel.shared[5]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 65)]*(float32*)kernel.shared[101]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 128)]*(float32*)kernel.shared[8]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 128)]*(float32*)kernel.shared[104]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 191)]*(float32*)kernel.shared[11]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 191)]*(float32*)kernel.shared[107]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 254)]*(float32*)kernel.shared[14]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 254)]*(float32*)kernel.shared[110]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 317)]*(float32*)kernel.shared[17]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 317)]*(float32*)kernel.shared[113]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 380)]*(float32*)kernel.shared[20]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 380)]*(float32*)kernel.shared[116]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 443)]*(float32*)kernel.shared[23]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 443)]*(float32*)kernel.shared[119]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 506)]*(float32*)kernel.shared[26]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 506)]*(float32*)kernel.shared[122]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 569)]*(float32*)kernel.shared[29]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 569)]*(float32*)kernel.shared[125]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 632)]*(float32*)kernel.shared[32]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 632)]*(float32*)kernel.shared[128]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 695)]*(float32*)kernel.shared[35]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 695)]*(float32*)kernel.shared[131]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 758)]*(float32*)kernel.shared[38]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 758)]*(float32*)kernel.shared[134]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 821)]*(float32*)kernel.shared[41]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 821)]*(float32*)kernel.shared[137]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 884)]*(float32*)kernel.shared[44]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 884)]*(float32*)kernel.shared[140]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 947)]*(float32*)kernel.shared[47]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 947)]*(float32*)kernel.shared[143]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1010)]*(float32*)kernel.shared[50]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1010)]*(float32*)kernel.shared[146]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1073)]*(float32*)kernel.shared[53]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1073)]*(float32*)kernel.shared[149]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1136)]*(float32*)kernel.shared[56]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1136)]*(float32*)kernel.shared[152]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1199)]*(float32*)kernel.shared[59]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1199)]*(float32*)kernel.shared[155]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1262)]*(float32*)kernel.shared[62]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1262)]*(float32*)kernel.shared[158]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1325)]*(float32*)kernel.shared[65]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1325)]*(float32*)kernel.shared[161]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1388)]*(float32*)kernel.shared[68]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1388)]*(float32*)kernel.shared[164]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1451)]*(float32*)kernel.shared[71]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1451)]*(float32*)kernel.shared[167]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1514)]*(float32*)kernel.shared[74]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1514)]*(float32*)kernel.shared[170]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1577)]*(float32*)kernel.shared[77]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1577)]*(float32*)kernel.shared[173]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1640)]*(float32*)kernel.shared[80]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1640)]*(float32*)kernel.shared[176]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1703)]*(float32*)kernel.shared[83]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1703)]*(float32*)kernel.shared[179]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1766)]*(float32*)kernel.shared[86]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1766)]*(float32*)kernel.shared[182]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1829)]*(float32*)kernel.shared[89]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1829)]*(float32*)kernel.shared[185]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1892)]*(float32*)kernel.shared[92]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1892)]*(float32*)kernel.shared[188]))
-            compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1955)]*(float32*)kernel.shared[95]))
-            compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1955)]*(float32*)kernel.shared[191]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 2)]*(float32*)kernel.shared[194]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 2)]*(float32*)kernel.shared[290]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 65)]*(float32*)kernel.shared[197]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 65)]*(float32*)kernel.shared[293]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 128)]*(float32*)kernel.shared[200]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 128)]*(float32*)kernel.shared[296]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 191)]*(float32*)kernel.shared[203]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 191)]*(float32*)kernel.shared[299]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 254)]*(float32*)kernel.shared[206]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 254)]*(float32*)kernel.shared[302]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 317)]*(float32*)kernel.shared[209]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 317)]*(float32*)kernel.shared[305]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 380)]*(float32*)kernel.shared[212]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 380)]*(float32*)kernel.shared[308]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 443)]*(float32*)kernel.shared[215]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 443)]*(float32*)kernel.shared[311]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 506)]*(float32*)kernel.shared[218]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 506)]*(float32*)kernel.shared[314]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 569)]*(float32*)kernel.shared[221]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 569)]*(float32*)kernel.shared[317]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 632)]*(float32*)kernel.shared[224]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 632)]*(float32*)kernel.shared[320]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 695)]*(float32*)kernel.shared[227]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 695)]*(float32*)kernel.shared[323]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 758)]*(float32*)kernel.shared[230]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 758)]*(float32*)kernel.shared[326]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 821)]*(float32*)kernel.shared[233]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 821)]*(float32*)kernel.shared[329]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 884)]*(float32*)kernel.shared[236]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 884)]*(float32*)kernel.shared[332]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 947)]*(float32*)kernel.shared[239]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 947)]*(float32*)kernel.shared[335]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1010)]*(float32*)kernel.shared[242]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1010)]*(float32*)kernel.shared[338]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1073)]*(float32*)kernel.shared[245]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1073)]*(float32*)kernel.shared[341]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1136)]*(float32*)kernel.shared[248]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1136)]*(float32*)kernel.shared[344]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1199)]*(float32*)kernel.shared[251]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1199)]*(float32*)kernel.shared[347]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1262)]*(float32*)kernel.shared[254]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1262)]*(float32*)kernel.shared[350]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1325)]*(float32*)kernel.shared[257]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1325)]*(float32*)kernel.shared[353]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1388)]*(float32*)kernel.shared[260]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1388)]*(float32*)kernel.shared[356]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1451)]*(float32*)kernel.shared[263]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1451)]*(float32*)kernel.shared[359]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1514)]*(float32*)kernel.shared[266]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1514)]*(float32*)kernel.shared[362]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1577)]*(float32*)kernel.shared[269]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1577)]*(float32*)kernel.shared[365]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1640)]*(float32*)kernel.shared[272]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1640)]*(float32*)kernel.shared[368]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1703)]*(float32*)kernel.shared[275]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1703)]*(float32*)kernel.shared[371]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1766)]*(float32*)kernel.shared[278]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1766)]*(float32*)kernel.shared[374]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1829)]*(float32*)kernel.shared[281]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1829)]*(float32*)kernel.shared[377]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1892)]*(float32*)kernel.shared[284]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1892)]*(float32*)kernel.shared[380]))
-            compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1955)]*(float32*)kernel.shared[287]))
-            compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(((floordiv(threadIdx.x, 7)*9) + floormod(threadIdx.x, 7)) + 1955)]*(float32*)kernel.shared[383]))
+        compute_3[4] = 0f32
+        compute_3[5] = 0f32
+        compute_3[6] = 0f32
+        compute_3[7] = 0f32
+        for (rc.outer.outer: int32, 0, 128) {
+          attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          if @tir.likely((threadIdx.x_1 < 108), dtype=bool) {
+            pad_temp.shared[threadIdx.x_1] = @tir.if_then_else(((((1 <= (floordiv(floormod(threadIdx.x_1, 27), 9) + floormod(blockIdx.x, 7))) && ((floordiv(floormod(threadIdx.x_1, 27), 9) + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), (float32*)data_2[((((((rc.outer.outer*196) + (floordiv(threadIdx.x_1, 27)*49)) + (floordiv(floormod(threadIdx.x_1, 27), 9)*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(threadIdx.x_1, 9)) - 8)],  [...]
           }
+          attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[threadIdx.x_2] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv(threadIdx.x_2, 36)*4608)) + (rc.outer.outer*36)) + floormod(threadIdx.x_2, 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 224)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 224), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 8), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 448)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 448), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 16), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 672)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 672), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 24), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 896)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 896), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 32), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 1120)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 1120), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 4), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 1344)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 1344), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 12), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 1568)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 1568), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 20), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 1792)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 1792), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 28), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 2016)] = (float32*)kernel_2[(((((floordiv(blockIdx.x, 7)*1179648) + (floordiv(threadIdx.x_2, 36)*4608)) + (rc.outer.outer*36)) + floormod(threadIdx.x_2, 36)) + 258048)]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 2240)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 2240), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 8), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 2464)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 2464), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 16), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 2688)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 2688), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 24), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 2912)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 2912), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 32), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 3136)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 3136), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 4), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 3360)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 3360), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 12), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 3584)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 3584), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 20), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 3808)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 3808), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 28), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 4032)] = (float32*)kernel_2[(((((floordiv(blockIdx.x, 7)*1179648) + (floordiv(threadIdx.x_2, 36)*4608)) + (rc.outer.outer*36)) + floormod(threadIdx.x_2, 36)) + 516096)]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 4256)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 4256), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 8), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 4480)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 4480), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 16), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 4704)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 4704), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 24), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 4928)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 4928), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 32), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 5152)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 5152), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 4), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 5376)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 5376), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 12), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 5600)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 5600), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 20), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 5824)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 5824), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 28), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 6048)] = (float32*)kernel_2[(((((floordiv(blockIdx.x, 7)*1179648) + (floordiv(threadIdx.x_2, 36)*4608)) + (rc.outer.outer*36)) + floormod(threadIdx.x_2, 36)) + 774144)]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 6272)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 6272), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 8), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 6496)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 6496), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 16), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 6720)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 6720), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 24), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 6944)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 6944), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 32), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 7168)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 7168), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 4), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 7392)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 7392), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 12), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 7616)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 7616), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 20), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 7840)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 7840), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 28), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 8064)] = (float32*)kernel_2[(((((floordiv(blockIdx.x, 7)*1179648) + (floordiv(threadIdx.x_2, 36)*4608)) + (rc.outer.outer*36)) + floormod(threadIdx.x_2, 36)) + 1032192)]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 8288)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 8288), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 8), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 8512)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 8512), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 16), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 8736)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 8736), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 24), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          kernel.shared[(threadIdx.x_2 + 8960)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 8960), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 32), 36))]
+          attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+          if @tir.likely((threadIdx.x_2 < 32), dtype=bool) {
+            kernel.shared[(threadIdx.x_2 + 9184)] = (float32*)kernel_2[((((floordiv(blockIdx.x, 7)*1179648) + (floordiv((threadIdx.x_2 + 9184), 36)*4608)) + (rc.outer.outer*36)) + floormod((threadIdx.x_2 + 4), 36))]
+          }
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[floormod(threadIdx.x, 7)]*(float32*)kernel.shared[(floordiv(threadIdx.x, 7)*288)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 1)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 1)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 2)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 2)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 27)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 9)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 28)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 10)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 29)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 11)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 54)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 18)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 55)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 19)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 56)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 20)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 81)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 27)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 82)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 28)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 83)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 29)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[floormod(threadIdx.x, 7)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 36)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 1)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 37)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 2)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 38)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 27)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 45)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 28)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 46)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 29)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 47)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 54)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 54)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 55)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 55)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 56)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 56)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 81)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 63)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 82)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 64)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 83)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 65)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[floormod(threadIdx.x, 7)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 72)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 1)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 73)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 2)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 74)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 27)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 81)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 28)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 82)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 29)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 83)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 54)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 90)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 55)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 91)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 56)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 92)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 81)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 99)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 82)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 100)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 83)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 101)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[floormod(threadIdx.x, 7)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 108)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 1)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 109)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 2)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 110)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 27)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 117)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 28)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 118)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 29)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 119)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 54)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 126)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 55)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 127)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 56)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 128)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 81)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 135)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 82)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 136)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 83)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 137)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[floormod(threadIdx.x, 7)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 144)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 1)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 145)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 2)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 146)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 27)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 153)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 28)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 154)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 29)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 155)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 54)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 162)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 55)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 163)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 56)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 164)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 81)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 171)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 82)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 172)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 83)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 173)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[floormod(threadIdx.x, 7)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 180)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 1)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 181)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 2)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 182)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 27)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 189)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 28)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 190)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 29)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 191)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 54)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 198)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 55)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 199)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 56)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 200)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 81)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 207)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 82)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 208)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 83)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 209)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[floormod(threadIdx.x, 7)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 216)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 1)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 217)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 2)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 218)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 27)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 225)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 28)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 226)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 29)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 227)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 54)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 234)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 55)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 235)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 56)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 236)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 81)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 243)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 82)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 244)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 83)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 245)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[floormod(threadIdx.x, 7)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 252)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 1)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 253)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 2)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 254)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 27)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 261)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 28)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 262)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 29)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 263)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 54)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 270)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 55)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 271)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 56)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 272)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 81)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 279)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 82)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 280)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 83)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 281)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 9)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 3)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 10)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 4)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 11)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 5)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 36)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 12)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 37)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 13)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 38)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 14)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 63)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 21)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 64)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 22)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 65)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 23)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 90)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 30)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 91)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 31)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 92)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 32)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 9)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 39)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 10)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 40)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 11)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 41)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 36)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 48)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 37)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 49)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 38)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 50)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 63)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 57)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 64)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 58)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 65)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 59)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 90)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 66)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 91)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 67)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 92)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 68)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 9)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 75)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 10)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 76)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 11)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 77)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 36)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 84)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 37)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 85)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 38)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 86)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 63)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 93)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 64)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 94)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 65)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 95)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 90)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 102)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 91)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 103)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 92)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 104)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 9)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 111)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 10)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 112)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 11)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 113)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 36)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 120)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 37)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 121)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 38)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 122)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 63)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 129)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 64)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 130)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 65)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 131)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 90)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 138)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 91)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 139)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 92)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 140)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 9)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 147)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 10)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 148)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 11)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 149)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 36)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 156)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 37)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 157)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 38)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 158)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 63)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 165)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 64)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 166)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 65)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 167)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 90)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 174)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 91)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 175)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 92)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 176)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 9)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 183)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 10)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 184)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 11)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 185)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 36)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 192)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 37)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 193)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 38)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 194)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 63)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 201)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 64)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 202)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 65)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 203)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 90)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 210)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 91)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 211)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 92)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 212)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 9)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 219)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 10)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 220)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 11)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 221)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 36)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 228)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 37)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 229)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 38)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 230)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 63)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 237)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 64)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 238)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 65)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 239)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 90)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 246)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 91)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 247)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 92)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 248)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 9)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 255)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 10)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 256)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 11)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 257)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 36)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 264)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 37)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 265)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 38)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 266)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 63)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 273)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 64)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 274)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 65)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 275)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 90)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 282)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 91)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 283)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 92)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 284)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 18)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 6)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 19)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 7)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 20)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 8)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 45)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 15)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 46)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 16)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 47)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 17)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 72)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 24)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 73)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 25)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 74)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 26)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 99)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 33)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 100)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 34)]))
+          compute_3[0] = ((float32*)compute_3[0] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 101)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 35)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 18)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 42)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 19)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 43)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 20)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 44)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 45)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 51)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 46)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 52)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 47)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 53)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 72)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 60)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 73)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 61)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 74)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 62)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 99)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 69)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 100)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 70)]))
+          compute_3[1] = ((float32*)compute_3[1] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 101)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 71)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 18)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 78)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 19)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 79)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 20)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 80)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 45)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 87)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 46)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 88)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 47)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 89)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 72)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 96)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 73)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 97)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 74)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 98)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 99)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 105)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 100)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 106)]))
+          compute_3[2] = ((float32*)compute_3[2] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 101)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 107)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 18)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 114)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 19)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 115)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 20)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 116)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 45)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 123)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 46)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 124)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 47)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 125)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 72)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 132)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 73)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 133)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 74)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 134)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 99)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 141)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 100)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 142)]))
+          compute_3[3] = ((float32*)compute_3[3] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 101)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 143)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 18)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 150)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 19)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 151)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 20)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 152)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 45)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 159)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 46)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 160)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 47)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 161)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 72)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 168)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 73)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 169)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 74)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 170)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 99)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 177)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 100)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 178)]))
+          compute_3[4] = ((float32*)compute_3[4] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 101)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 179)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 18)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 186)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 19)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 187)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 20)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 188)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 45)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 195)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 46)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 196)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 47)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 197)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 72)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 204)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 73)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 205)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 74)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 206)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 99)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 213)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 100)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 214)]))
+          compute_3[5] = ((float32*)compute_3[5] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 101)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 215)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 18)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 222)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 19)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 223)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 20)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 224)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 45)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 231)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 46)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 232)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 47)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 233)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 72)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 240)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 73)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 241)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 74)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 242)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 99)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 249)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 100)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 250)]))
+          compute_3[6] = ((float32*)compute_3[6] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 101)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 251)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 18)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 258)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 19)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 259)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 20)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 260)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 45)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 267)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 46)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 268)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 47)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 269)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 72)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 276)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 73)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 277)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 74)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 278)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 99)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 285)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 100)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 286)]))
+          compute_3[7] = ((float32*)compute_3[7] + ((float32*)pad_temp.shared[(floormod(threadIdx.x, 7) + 101)]*(float32*)kernel.shared[((floordiv(threadIdx.x, 7)*288) + 287)]))
         }
-        for (i1.inner: int32, 0, 4) {
-          compute_2[(((blockIdx.x*196) + (i1.inner*49)) + threadIdx.x)] = max(((float32*)compute_3[i1.inner] + (float32*)bias_2[((blockIdx.x*4) + i1.inner)]), 0f32)
+        for (i1.inner: int32, 0, 8) {
+          compute_2[(((((floordiv(blockIdx.x, 7)*12544) + (floordiv(threadIdx.x, 7)*392)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + floormod(threadIdx.x, 7))] = max(((float32*)compute_3[i1.inner] + (float32*)bias_2[(((floordiv(blockIdx.x, 7)*256) + (floordiv(threadIdx.x, 7)*8)) + i1.inner)]), 0f32)
         }
       }
     }
@@ -772,7 +660,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 0.655 ms
+    Execution time of this operator: 0.666 ms
 
 
 
@@ -926,7 +814,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:** ( 1 minutes  40.877 seconds)
+   **Total running time of the script:** ( 1 minutes  21.952 seconds)
 
 
 .. _sphx_glr_download_tutorials_auto_scheduler_tune_conv2d_layer_cuda.py:
diff --git a/docs/_sources/tutorials/auto_scheduler/tune_matmul_x86.rst.txt b/docs/_sources/tutorials/auto_scheduler/tune_matmul_x86.rst.txt
index 9a2650f..1a5b526 100644
--- a/docs/_sources/tutorials/auto_scheduler/tune_matmul_x86.rst.txt
+++ b/docs/_sources/tutorials/auto_scheduler/tune_matmul_x86.rst.txt
@@ -252,7 +252,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 2.077 ms
+    Execution time of this operator: 2.211 ms
 
 
 
@@ -368,7 +368,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:** ( 1 minutes  49.095 seconds)
+   **Total running time of the script:** ( 1 minutes  48.369 seconds)
 
 
 .. _sphx_glr_download_tutorials_auto_scheduler_tune_matmul_x86.py:
diff --git a/docs/_sources/tutorials/auto_scheduler/tune_network_cuda.rst.txt b/docs/_sources/tutorials/auto_scheduler/tune_network_cuda.rst.txt
index e93b9b6..84f7a5c 100644
--- a/docs/_sources/tutorials/auto_scheduler/tune_network_cuda.rst.txt
+++ b/docs/_sources/tutorials/auto_scheduler/tune_network_cuda.rst.txt
@@ -413,10 +413,10 @@ The task scheduler will just optimize this objective.
     placeholder = PLACEHOLDER [1, 56, 56, 64]
     T_add(ax0, ax1, ax2, ax3) = (conv2d_winograd[ax0, ax1, ax2, ax3] + placeholder[ax0, ax1, ax2, ax3])
 
-    ========== Task 18  (workload key: ["944921d3fd999ba7aa9ffe5a592a9241"]) ==========
+    ========== Task 18  (workload key: ["ba2026d923536b75e9b4faed89287d5f"]) ==========
     placeholder = PLACEHOLDER [1, 112, 112, 64]
     pad_temp(ax0, ax1, ax2, ax3) = tir.if_then_else(((((ax1 >= 1) && (ax1 < 113)) && (ax2 >= 1)) && (ax2 < 113)), placeholder[ax0, (ax1 - 1), (ax2 - 1), ax3], -3.40282e+38f)
-    tensor(ax0, ax1, ax2, ax3) max= pad_temp[ax0, ((ax1*2) + rv), ((ax2*2) + rv), ax3]
+    tensor(ax0, ax1, ax2, ax3) max= pad_temp[ax0, ((ax1*2) + dh), ((ax2*2) + dw), ax3]
     placeholder = PLACEHOLDER [1, 1, 1, 64]
     T_add(ax0, ax1, ax2, ax3) = (tensor[ax0, ax1, ax2, ax3] + placeholder[ax0, 0, 0, ax3])
     T_relu(ax0, ax1, ax2, ax3) = max(T_add[ax0, ax1, ax2, ax3], 0f)
@@ -466,7 +466,7 @@ Now, we set some options for tuning and launch the search tasks
   during measurement and avoid other runtime conflicts.
 * :code:`min_repeat_ms` defines the minimum duration of one "repeat" in every measurement.
   This can warmup the GPU, which is necessary to get accurate measurement results.
-  Typically, we recommend a value > 300 ms.
+  Typically, we recommend a value >= 300 ms.
 * :code:`num_measure_trials` is the number of measurement trials we can use during the tuning.
   You can set it to a small number (e.g., 200) for a fast demonstrative run.
   In practice, we recommend setting it around :code:`1000 * len(tasks)`,
@@ -487,7 +487,7 @@ Now, we set some options for tuning and launch the search tasks
 
     def run_tuning():
         print("Begin tuning...")
-        measure_ctx = auto_scheduler.LocalRPCMeasureContext(repeat=1, min_repeat_ms=400, timeout=10)
+        measure_ctx = auto_scheduler.LocalRPCMeasureContext(repeat=1, min_repeat_ms=300, timeout=10)
 
         tuner = auto_scheduler.TaskScheduler(tasks, task_weights)
         tune_option = auto_scheduler.TuningOptions(
@@ -613,7 +613,7 @@ so we can read the log file and load the best schedules.
 
     Compile...
     Evaluate inference time cost...
-    Mean inference time (std dev): 1.15 ms (0.00 ms)
+    Mean inference time (std dev): 1.65 ms (0.01 ms)
 
 
 
diff --git a/docs/_sources/tutorials/autotvm/sg_execution_times.rst.txt b/docs/_sources/tutorials/autotvm/sg_execution_times.rst.txt
index e79dc68..b9d5beb 100644
--- a/docs/_sources/tutorials/autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorials/autotvm/sg_execution_times.rst.txt
@@ -5,11 +5,11 @@
 
 Computation times
 =================
-**00:55.369** total execution time for **tutorials_autotvm** files:
-
-- **00:28.484**: :ref:`sphx_glr_tutorials_autotvm_tune_simple_template.py` (``tune_simple_template.py``)
-- **00:26.228**: :ref:`sphx_glr_tutorials_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)
-- **00:00.170**: :ref:`sphx_glr_tutorials_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)
-- **00:00.167**: :ref:`sphx_glr_tutorials_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``)
-- **00:00.163**: :ref:`sphx_glr_tutorials_autotvm_tune_relay_arm.py` (``tune_relay_arm.py``)
-- **00:00.156**: :ref:`sphx_glr_tutorials_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``)
+**01:01.169** total execution time for **tutorials_autotvm** files:
+
+- **00:31.172**: :ref:`sphx_glr_tutorials_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)
+- **00:29.299**: :ref:`sphx_glr_tutorials_autotvm_tune_simple_template.py` (``tune_simple_template.py``)
+- **00:00.204**: :ref:`sphx_glr_tutorials_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``)
+- **00:00.171**: :ref:`sphx_glr_tutorials_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)
+- **00:00.162**: :ref:`sphx_glr_tutorials_autotvm_tune_relay_arm.py` (``tune_relay_arm.py``)
+- **00:00.161**: :ref:`sphx_glr_tutorials_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``)
diff --git a/docs/_sources/tutorials/autotvm/tune_conv2d_cuda.rst.txt b/docs/_sources/tutorials/autotvm/tune_conv2d_cuda.rst.txt
index 32bb331..6925aef 100644
--- a/docs/_sources/tutorials/autotvm/tune_conv2d_cuda.rst.txt
+++ b/docs/_sources/tutorials/autotvm/tune_conv2d_cuda.rst.txt
@@ -241,26 +241,26 @@ for this template
        7 unroll_explicit: OtherOption([0, 1]) len=2
     )
     Get devices for measurement successfully!
-    No: 1   GFLOPS: 456.68/456.68   result: MeasureResult(costs=(0.0005069250867924528,), error_no=0, all_cost=1.483231544494629, timestamp=1606247193.9099)        [('tile_f', [-1, 2, 64, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4881186
-    No: 2   GFLOPS: 0.00/456.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f9267ab0531]\n  [bt] (3) /workspace/build/libtvm.so(+0x6dbf77) [0x7f9266ed2f77]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x40e) [0x7f9266ed238e]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
-    No: 3   GFLOPS: 220.25/456.68   result: MeasureResult(costs=(0.0010510892745098038,), error_no=0, all_cost=1.5199861526489258, timestamp=1606247195.1761348)    [('tile_f', [-1, 4, 32, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3605182
-    No: 4   GFLOPS: 0.00/456.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f9267ab0531]\n  [bt] (3) /workspace/build/libtvm.so(+0x6dbf77) [0x7f9266ed2f77]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x40e) [0x7f9266ed238e]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
-    No: 5   GFLOPS: 0.00/456.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f9267ab0531]\n  [bt] (3) /workspace/build/libtvm.so(+0x6dbf77) [0x7f9266ed2f77]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x40e) [0x7f9266ed238e]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
-    No: 6   GFLOPS: 0.00/456.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f9267ab0531]\n  [bt] (3) /workspace/build/libtvm.so(+0x6dbf77) [0x7f9266ed2f77]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x40e) [0x7f9266ed238e]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
-    No: 7   GFLOPS: 0.00/456.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f9267ab0531]\n  [bt] (3) /workspace/build/libtvm.so(+0x6dbf77) [0x7f9266ed2f77]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x40e) [0x7f9266ed238e]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
-    No: 8   GFLOPS: 2.18/456.68     result: MeasureResult(costs=(0.10620077,), error_no=0, all_cost=3.1617162227630615, timestamp=1606247198.2543473)       [('tile_f', [-1, 2, 4, 64]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2716108
-    No: 9   GFLOPS: 21.16/456.68    result: MeasureResult(costs=(0.010940765500000001,), error_no=0, all_cost=1.6032164096832275, timestamp=1606247199.146415)      [('tile_f', [-1, 1, 4, 2]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1263092
-    No: 10  GFLOPS: 273.42/456.68   result: MeasureResult(costs=(0.0008466825684210527,), error_no=0, all_cost=1.5583219528198242, timestamp=1606247200.2024171)    [('tile_f', [-1, 1, 32, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 16, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8921130
-    No: 11  GFLOPS: 0.00/456.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f9267ab0531]\n  [bt] (3) /workspace/build/libtvm.so(+0x6dbf77) [0x7f9266ed2f77]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x40e) [0x7f9266ed238e]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
-    No: 12  GFLOPS: 149.26/456.68   result: MeasureResult(costs=(0.0015510021076923077,), error_no=0, all_cost=1.2667763233184814, timestamp=1606247201.3664002)    [('tile_f', [-1, 2, 32, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,5036371
-    No: 13  GFLOPS: 0.00/456.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f9267ab0531]\n  [bt] (3) /workspace/build/libtvm.so(+0x6dbf77) [0x7f9266ed2f77]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x40e) [0x7f9266ed238e]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
-    No: 14  GFLOPS: 0.00/456.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f9267ab0531]\n  [bt] (3) /workspace/build/libtvm.so(+0x6dbf77) [0x7f9266ed2f77]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x40e) [0x7f9266ed238e]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
-    No: 15  GFLOPS: 108.20/456.68   result: MeasureResult(costs=(0.0021395734680851063,), error_no=0, all_cost=1.2361633777618408, timestamp=1606247202.6363714)    [('tile_f', [-1, 1, 1, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3582580
-    No: 16  GFLOPS: 0.00/456.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f9267ab0531]\n  [bt] (3) /workspace/build/libtvm.so(+0x6dbf77) [0x7f9266ed2f77]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x40e) [0x7f9266ed238e]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
-    No: 17  GFLOPS: 0.00/456.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f9267ab0531]\n  [bt] (3) /workspace/build/libtvm.so(+0x6dbf77) [0x7f9266ed2f77]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x40e) [0x7f9266ed238e]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
-    No: 18  GFLOPS: 0.00/456.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f9267ab0531]\n  [bt] (3) /workspace/build/libtvm.so(+0x6dbf77) [0x7f9266ed2f77]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x40e) [0x7f9266ed238e]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
-    No: 19  GFLOPS: 15.67/456.68    result: MeasureResult(costs=(0.014774698,), error_no=0, all_cost=1.5089759826660156, timestamp=1606247205.8270934)      [('tile_f', [-1, 8, 64, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4107668
-    No: 20  GFLOPS: 0.00/456.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f9267ab0531]\n  [bt] (3) /workspace/build/libtvm.so(+0x6dbf77) [0x7f9266ed2f77]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x40e) [0x7f9266ed238e]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
+    No: 1   GFLOPS: 313.68/313.68   result: MeasureResult(costs=(0.0007380110189873418,), error_no=0, all_cost=1.53424072265625, timestamp=1606971107.3976126)      [('tile_f', [-1, 2, 64, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4881186
+    No: 2   GFLOPS: 0.00/313.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f4ef963ea01]\n  [bt] (3) /workspace/build/libtvm.so(+0x6b10c7) [0x7f4ef8a1a0c7]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x3ed) [0x7f4ef8a16a4d]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
+    No: 3   GFLOPS: 179.13/313.68   result: MeasureResult(costs=(0.0012923368548387098,), error_no=0, all_cost=1.6479029655456543, timestamp=1606971108.9264472)    [('tile_f', [-1, 4, 32, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3605182
+    No: 4   GFLOPS: 0.00/313.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f4ef963ea01]\n  [bt] (3) /workspace/build/libtvm.so(+0x6b10c7) [0x7f4ef8a1a0c7]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x3ed) [0x7f4ef8a16a4d]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
+    No: 5   GFLOPS: 0.00/313.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f4ef963ea01]\n  [bt] (3) /workspace/build/libtvm.so(+0x6b10c7) [0x7f4ef8a1a0c7]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x3ed) [0x7f4ef8a16a4d]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
+    No: 6   GFLOPS: 0.00/313.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f4ef963ea01]\n  [bt] (3) /workspace/build/libtvm.so(+0x6b10c7) [0x7f4ef8a1a0c7]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x3ed) [0x7f4ef8a16a4d]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
+    No: 7   GFLOPS: 0.00/313.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f4ef963ea01]\n  [bt] (3) /workspace/build/libtvm.so(+0x6b10c7) [0x7f4ef8a1a0c7]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x3ed) [0x7f4ef8a16a4d]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
+    No: 8   GFLOPS: 1.75/313.68     result: MeasureResult(costs=(0.13203354325,), error_no=0, all_cost=3.552534580230713, timestamp=1606971112.6741395)     [('tile_f', [-1, 2, 4, 64]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2716108
+    No: 9   GFLOPS: 12.15/313.68    result: MeasureResult(costs=(0.019056021666666666,), error_no=0, all_cost=1.8274366855621338, timestamp=1606971115.794178)      [('tile_f', [-1, 1, 4, 2]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1263092
+    No: 10  GFLOPS: 228.11/313.68   result: MeasureResult(costs=(0.0010148466262626262,), error_no=0, all_cost=1.3891921043395996, timestamp=1606971116.7298172)    [('tile_f', [-1, 1, 32, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 16, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8921130
+    No: 11  GFLOPS: 0.00/313.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f4ef963ea01]\n  [bt] (3) /workspace/build/libtvm.so(+0x6b10c7) [0x7f4ef8a1a0c7]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x3ed) [0x7f4ef8a16a4d]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
+    No: 12  GFLOPS: 119.75/313.68   result: MeasureResult(costs=(0.0019331923076923079,), error_no=0, all_cost=1.2680013179779053, timestamp=1606971117.9754086)    [('tile_f', [-1, 2, 32, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,5036371
+    No: 13  GFLOPS: 0.00/313.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f4ef963ea01]\n  [bt] (3) /workspace/build/libtvm.so(+0x6b10c7) [0x7f4ef8a1a0c7]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x3ed) [0x7f4ef8a16a4d]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
+    No: 14  GFLOPS: 0.00/313.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f4ef963ea01]\n  [bt] (3) /workspace/build/libtvm.so(+0x6b10c7) [0x7f4ef8a1a0c7]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x3ed) [0x7f4ef8a16a4d]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
+    No: 15  GFLOPS: 82.71/313.68    result: MeasureResult(costs=(0.0027988902894736842,), error_no=0, all_cost=1.52325439453125, timestamp=1606971119.534203)       [('tile_f', [-1, 1, 1, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3582580
+    No: 16  GFLOPS: 0.00/313.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f4ef963ea01]\n  [bt] (3) /workspace/build/libtvm.so(+0x6b10c7) [0x7f4ef8a1a0c7]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x3ed) [0x7f4ef8a16a4d]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
+    No: 17  GFLOPS: 0.00/313.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f4ef963ea01]\n  [bt] (3) /workspace/build/libtvm.so(+0x6b10c7) [0x7f4ef8a1a0c7]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x3ed) [0x7f4ef8a16a4d]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
+    No: 18  GFLOPS: 0.00/313.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f4ef963ea01]\n  [bt] (3) /workspace/build/libtvm.so(+0x6b10c7) [0x7f4ef8a1a0c7]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x3ed) [0x7f4ef8a16a4d]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
+    No: 19  GFLOPS: 17.44/313.68    result: MeasureResult(costs=(0.013272794333333332,), error_no=0, all_cost=1.6321752071380615, timestamp=1606971123.1157746)     [('tile_f', [-1, 8, 64, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4107668
+    No: 20  GFLOPS: 0.00/313.68     result: MeasureResult(costs=(InstantiationError('Traceback (most recent call last):\n  [bt] (4) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f4ef963ea01]\n  [bt] (3) /workspace/build/libtvm.so(+0x6b10c7) [0x7f4ef8a1a0c7]\n  [bt] (2) /workspace/build/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const+0x3ed) [0x7f4ef8a16a4d]\n  [bt] (1) /workspace/build/libtvm.so(tvm::tir::transform::PrimFunc [...]
 
 
 
@@ -313,7 +313,7 @@ and measure running time.
 
     Best config:
     [('tile_f', [-1, 2, 64, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4881186
-    Time cost of this operator: 0.000568
+    Time cost of this operator: 0.001007
 
 
 
diff --git a/docs/_sources/tutorials/autotvm/tune_simple_template.rst.txt b/docs/_sources/tutorials/autotvm/tune_simple_template.rst.txt
index 8869b0d..bf10d7f 100644
--- a/docs/_sources/tutorials/autotvm/tune_simple_template.rst.txt
+++ b/docs/_sources/tutorials/autotvm/tune_simple_template.rst.txt
@@ -369,16 +369,16 @@ used to get the best config later.
  .. code-block:: none
 
     Get devices for measurement successfully!
-    No: 1   GFLOPS: 0.00/0.00       result: MeasureResult(costs=(RuntimeError('Traceback (most recent call last):\n  [bt] (5) /workspace/build/libtvm.so(TVMFuncCall+0x61) [0x7f9267ab0531]\n  [bt] (4) /workspace/build/libtvm.so(+0x12eec62) [0x7f9267ae5c62]\n  [bt] (3) /workspace/build/libtvm.so(tvm::runtime::RPCWrappedFunc::operator()(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const+0x246) [0x7f9267ae8de6]\n  [bt] (2) /workspace/build/libtvm.so(tvm::runtime::RPCClientSession::Call [...]
-    No: 2   GFLOPS: 4.97/4.97       result: MeasureResult(costs=(0.0540106804,), error_no=0, all_cost=1.2689733505249023, timestamp=1606247173.709435)      [('tile_y', [-1, 512]), ('tile_x', [-1, 8])],None,39
-    No: 3   GFLOPS: 2.80/4.97       result: MeasureResult(costs=(0.0959330538,), error_no=0, all_cost=2.031170606613159, timestamp=1606247175.638364)       [('tile_y', [-1, 2]), ('tile_x', [-1, 8])],None,31
-    No: 4   GFLOPS: 16.27/16.27     result: MeasureResult(costs=(0.016497969600000002,), error_no=0, all_cost=0.7240803241729736, timestamp=1606247176.329956)      [('tile_y', [-1, 1]), ('tile_x', [-1, 32])],None,50
-    No: 5   GFLOPS: 21.25/21.25     result: MeasureResult(costs=(0.0126320166,), error_no=0, all_cost=0.7413387298583984, timestamp=1606247176.909276)      [('tile_y', [-1, 256]), ('tile_x', [-1, 64])],None,68
-    No: 6   GFLOPS: 20.21/21.25     result: MeasureResult(costs=(0.0132850592,), error_no=0, all_cost=0.6722569465637207, timestamp=1606247177.5262818)     [('tile_y', [-1, 256]), ('tile_x', [-1, 512])],None,98
-    No: 7   GFLOPS: 0.80/21.25      result: MeasureResult(costs=(0.3340438422,), error_no=0, all_cost=5.789602994918823, timestamp=1606247183.2634928)      [('tile_y', [-1, 128]), ('tile_x', [-1, 2])],None,17
-    No: 8   GFLOPS: 1.43/21.25      result: MeasureResult(costs=(0.1871098444,), error_no=0, all_cost=3.410900354385376, timestamp=1606247186.6618466)      [('tile_y', [-1, 8]), ('tile_x', [-1, 4])],None,23
-    No: 9   GFLOPS: 19.64/21.25     result: MeasureResult(costs=(0.013666064,), error_no=0, all_cost=0.6099884510040283, timestamp=1606247187.2684672)      [('tile_y', [-1, 256]), ('tile_x', [-1, 32])],None,58
-    No: 10  GFLOPS: 22.72/22.72     result: MeasureResult(costs=(0.0118135662,), error_no=0, all_cost=0.6184511184692383, timestamp=1606247187.8485868)     [('tile_y', [-1, 64]), ('tile_x', [-1, 128])],None,76
+    No: 1   GFLOPS: 0.52/0.52       result: MeasureResult(costs=(0.5200800868,), error_no=0, all_cost=8.741724491119385, timestamp=1606971083.8368676)      [('tile_y', [-1, 64]), ('tile_x', [-1, 1])],None,6
+    No: 2   GFLOPS: 2.00/2.00       result: MeasureResult(costs=(0.1340506604,), error_no=0, all_cost=2.6118547916412354, timestamp=1606971086.5157351)     [('tile_y', [-1, 512]), ('tile_x', [-1, 8])],None,39
+    No: 3   GFLOPS: 2.67/2.67       result: MeasureResult(costs=(0.1007248118,), error_no=0, all_cost=1.9765989780426025, timestamp=1606971088.6633596)     [('tile_y', [-1, 2]), ('tile_x', [-1, 8])],None,31
+    No: 4   GFLOPS: 7.54/7.54       result: MeasureResult(costs=(0.0356065046,), error_no=0, all_cost=1.0376152992248535, timestamp=1606971089.7646756)     [('tile_y', [-1, 1]), ('tile_x', [-1, 32])],None,50
+    No: 5   GFLOPS: 13.38/13.38     result: MeasureResult(costs=(0.0200573498,), error_no=0, all_cost=0.8301742076873779, timestamp=1606971090.6316118)     [('tile_y', [-1, 256]), ('tile_x', [-1, 64])],None,68
+    No: 6   GFLOPS: 12.36/13.38     result: MeasureResult(costs=(0.021725459,), error_no=0, all_cost=0.7730629444122314, timestamp=1606971091.518449)       [('tile_y', [-1, 256]), ('tile_x', [-1, 512])],None,98
+    No: 7   GFLOPS: 0.92/13.38      result: MeasureResult(costs=(0.2913878208,), error_no=0, all_cost=5.061047792434692, timestamp=1606971096.7092643)      [('tile_y', [-1, 128]), ('tile_x', [-1, 2])],None,17
+    No: 8   GFLOPS: 2.46/13.38      result: MeasureResult(costs=(0.109199307,), error_no=0, all_cost=2.1377108097076416, timestamp=1606971098.9405856)      [('tile_y', [-1, 8]), ('tile_x', [-1, 4])],None,23
+    No: 9   GFLOPS: 11.38/13.38     result: MeasureResult(costs=(0.023597700399999998,), error_no=0, all_cost=0.7382776737213135, timestamp=1606971100.6404655)     [('tile_y', [-1, 256]), ('tile_x', [-1, 32])],None,58
+    No: 10  GFLOPS: 14.33/14.33     result: MeasureResult(costs=(0.0187269724,), error_no=0, all_cost=0.7783937454223633, timestamp=1606971101.4758115)     [('tile_y', [-1, 64]), ('tile_x', [-1, 128])],None,76
 
 
 
diff --git a/docs/_sources/tutorials/dev/low_level_custom_pass.rst.txt b/docs/_sources/tutorials/dev/low_level_custom_pass.rst.txt
index 7543617..d0dcd93 100644
--- a/docs/_sources/tutorials/dev/low_level_custom_pass.rst.txt
+++ b/docs/_sources/tutorials/dev/low_level_custom_pass.rst.txt
@@ -74,8 +74,8 @@ our customized lowering pass to manipulate the IR directly instead of using sche
 
     primfn(a_1: handle, b_1: handle, c_1: handle) -> ()
       attr = {"global_symbol": "main", "tir.noalias": True}
-      buffers = {b: Buffer(b_2: Pointer(float32), float32, [128], []),
-                 c: Buffer(c_2: Pointer(float32), float32, [128], []),
+      buffers = {c: Buffer(c_2: Pointer(float32), float32, [128], []),
+                 b: Buffer(b_2: Pointer(float32), float32, [128], []),
                  a: Buffer(a_2: Pointer(float32), float32, [128], [])}
       buffer_map = {a_1: a, b_1: b, c_1: c} {
       for (i: int32, 0, 128) {
diff --git a/docs/_sources/tutorials/dev/sg_execution_times.rst.txt b/docs/_sources/tutorials/dev/sg_execution_times.rst.txt
index 4636482..60969c5 100644
--- a/docs/_sources/tutorials/dev/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorials/dev/sg_execution_times.rst.txt
@@ -5,8 +5,8 @@
 
 Computation times
 =================
-**00:29.652** total execution time for **tutorials_dev** files:
+**00:32.297** total execution time for **tutorials_dev** files:
 
-- **00:29.065**: :ref:`sphx_glr_tutorials_dev_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``)
-- **00:00.418**: :ref:`sphx_glr_tutorials_dev_use_pass_infra.py` (``use_pass_infra.py``)
-- **00:00.168**: :ref:`sphx_glr_tutorials_dev_low_level_custom_pass.py` (``low_level_custom_pass.py``)
+- **00:31.722**: :ref:`sphx_glr_tutorials_dev_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``)
+- **00:00.395**: :ref:`sphx_glr_tutorials_dev_use_pass_infra.py` (``use_pass_infra.py``)
+- **00:00.180**: :ref:`sphx_glr_tutorials_dev_low_level_custom_pass.py` (``low_level_custom_pass.py``)
diff --git a/docs/_sources/tutorials/frontend/deploy_model_on_android.rst.txt b/docs/_sources/tutorials/frontend/deploy_model_on_android.rst.txt
index bcdb4c5..801b892 100644
--- a/docs/_sources/tutorials/frontend/deploy_model_on_android.rst.txt
+++ b/docs/_sources/tutorials/frontend/deploy_model_on_android.rst.txt
@@ -421,7 +421,7 @@ Execute on TVM
 
     TVM prediction top-1: tiger cat
     Evaluate inference time cost...
-    Mean inference time (std dev): 7.47 ms (0.57 ms)
+    Mean inference time (std dev): 5.82 ms (0.05 ms)
 
 
 
diff --git a/docs/_sources/tutorials/frontend/deploy_object_detection_pytorch.rst.txt b/docs/_sources/tutorials/frontend/deploy_object_detection_pytorch.rst.txt
index 0586f21..b1a773d 100644
--- a/docs/_sources/tutorials/frontend/deploy_object_detection_pytorch.rst.txt
+++ b/docs/_sources/tutorials/frontend/deploy_object_detection_pytorch.rst.txt
@@ -121,9 +121,6 @@ Load pre-trained maskrcnn from torchvision and do tracing
       for s, s_orig in zip(new_size, original_size)
     /usr/local/lib/python3.6/dist-packages/torchvision/models/detection/roi_heads.py:372: 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).
       return torch.tensor(M + 2 * padding).to(torch.float32) / torch.tensor(M).to(torch.float32)
-    /usr/local/lib/python3.6/dist-packages/torch/jit/_trace.py:966: TracerWarning: Output nr 2. of the traced function does not match the corresponding output of the Python function. Detailed error:
-    With rtol=1e-05 and atol=1e-05, found 1 element(s) (out of 2) whose difference(s) exceeded the margin of error (including 0 nan comparisons). The greatest difference was 2.456456422805786e-05 (0.11357344686985016 vs. 0.1135488823056221), which occurred at index 1.
-      _module_class,
 
 
 
@@ -250,7 +247,7 @@ Get boxes with score larger than 0.9
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  34.576 seconds)
+   **Total running time of the script:** ( 2 minutes  6.879 seconds)
 
 
 .. _sphx_glr_download_tutorials_frontend_deploy_object_detection_pytorch.py:
diff --git a/docs/_sources/tutorials/frontend/deploy_prequantized.rst.txt b/docs/_sources/tutorials/frontend/deploy_prequantized.rst.txt
index 68b9a93..b756fb0 100644
--- a/docs/_sources/tutorials/frontend/deploy_prequantized.rst.txt
+++ b/docs/_sources/tutorials/frontend/deploy_prequantized.rst.txt
@@ -299,7 +299,7 @@ We should see identical labels printed.
 
  .. code-block:: none
 
-    PyTorch top3 labels: ['tiger cat', 'lynx, catamount', 'Egyptian cat']
+    PyTorch top3 labels: ['tiger cat', 'Egyptian cat', 'lynx, catamount']
     TVM top3 labels: ['tiger cat', 'Egyptian cat', 'tabby, tabby cat']
 
 
@@ -323,7 +323,7 @@ output values are identical out of 1000 outputs from mobilenet v2.
 
  .. code-block:: none
 
-    156 in 1000 raw floating outputs identical.
+    132 in 1000 raw floating outputs identical.
 
 
 
@@ -350,7 +350,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
  .. code-block:: none
 
-    Elapsed average ms: 16.34091185
+    Elapsed average ms: 20.037420060000002
 
 
 
diff --git a/docs/_sources/tutorials/frontend/deploy_prequantized_tflite.rst.txt b/docs/_sources/tutorials/frontend/deploy_prequantized_tflite.rst.txt
index 394c8c7..0440bf3 100644
--- a/docs/_sources/tutorials/frontend/deploy_prequantized_tflite.rst.txt
+++ b/docs/_sources/tutorials/frontend/deploy_prequantized_tflite.rst.txt
@@ -368,7 +368,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
  .. code-block:: none
 
-    Elapsed average ms: 36.18794086999999
+    Elapsed average ms: 36.55689154
 
 
 
@@ -401,7 +401,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  16.157 seconds)
+   **Total running time of the script:** ( 2 minutes  40.367 seconds)
 
 
 .. _sphx_glr_download_tutorials_frontend_deploy_prequantized_tflite.py:
diff --git a/docs/_sources/tutorials/frontend/deploy_ssd_gluoncv.rst.txt b/docs/_sources/tutorials/frontend/deploy_ssd_gluoncv.rst.txt
index 53d9085..8bbb20a 100644
--- a/docs/_sources/tutorials/frontend/deploy_ssd_gluoncv.rst.txt
+++ b/docs/_sources/tutorials/frontend/deploy_ssd_gluoncv.rst.txt
@@ -195,7 +195,7 @@ Display result
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  33.744 seconds)
+   **Total running time of the script:** ( 1 minutes  57.542 seconds)
 
 
 .. _sphx_glr_download_tutorials_frontend_deploy_ssd_gluoncv.py:
diff --git a/docs/_sources/tutorials/frontend/from_pytorch.rst.txt b/docs/_sources/tutorials/frontend/from_pytorch.rst.txt
index 0e78d2c..d26b661 100644
--- a/docs/_sources/tutorials/frontend/from_pytorch.rst.txt
+++ b/docs/_sources/tutorials/frontend/from_pytorch.rst.txt
@@ -155,8 +155,8 @@ Compile the graph to llvm target with given input specification.
 
  .. code-block:: none
 
-
    ...47%, 0.01 MB, 695 KB/s, 0 seconds passed
    ...94%, 0.02 MB, 1355 KB/s, 0 seconds passed
    ...100%, 0.02 MB, 1989 KB/s, 0 seconds passed
-    Cannot find config for target=llvm -keys=cpu, workload=('dense_nopack.x86', ('TENSOR', (1, 512), 'float32'), ('TENSOR', (1000, 512), 'float32'), None, 'float32'). A fallback configuration is used, which may bring great performance regression.
+
    ...47%, 0.01 MB, 40 KB/s, 0 seconds passed
    ...94%, 0.02 MB, 80 KB/s, 0 seconds passed
    ...100%, 0.02 MB, 121 KB/s, 0 seconds passed
+    Cannot find config for target=llvm -keys=cpu -link-params=0, workload=('dense_nopack.x86', ('TENSOR', (1, 512), 'float32'), ('TENSOR', (1000, 512), 'float32'), None, 'float32'). A fallback configuration is used, which may bring great performance regression.
 
 
 
diff --git a/docs/_sources/tutorials/frontend/from_tensorflow.rst.txt b/docs/_sources/tutorials/frontend/from_tensorflow.rst.txt
index 89b0b35..e5a2151 100644
--- a/docs/_sources/tutorials/frontend/from_tensorflow.rst.txt
+++ b/docs/_sources/tutorials/frontend/from_tensorflow.rst.txt
@@ -204,23 +204,23 @@ Results:
     WARNING:root:Attribute Tdim is ignored in relay.sym.expand_dims
     WARNING:root:Attribute _node_name is ignored in relay.sym.expand_dims
     WARNING:root:Attribute _target_layout is ignored in relay.sym.expand_dims
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.resize
     WARNING:root:Attribute half_pixel_centers is ignored in relay.sym.resize
     WARNING:root:Attribute T is ignored in relay.sym.resize
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.resize
     WARNING:root:Attribute _node_name is ignored in relay.sym.resize
     WARNING:root:Attribute _target_layout is ignored in relay.sym.resize
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
@@ -228,9 +228,9 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
@@ -238,32 +238,32 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.copy
@@ -271,14 +271,14 @@ Results:
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.max_pool2d
-    WARNING:root:Attribute ksize is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute T is ignored in relay.sym.max_pool2d
+    WARNING:root:Attribute ksize is ignored in relay.sym.max_pool2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.max_pool2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
@@ -286,9 +286,9 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
@@ -296,32 +296,32 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute ksize is ignored in relay.sym.max_pool2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute T is ignored in relay.sym.max_pool2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
@@ -330,55 +330,55 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute message is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute message is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
@@ -387,12 +387,12 @@ Results:
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
@@ -400,10 +400,10 @@ Results:
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
@@ -415,14 +415,14 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
@@ -430,8 +430,8 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.relu
@@ -439,14 +439,14 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute ksize is ignored in relay.sym.avg_pool2d
-    WARNING:root:Attribute T is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.avg_pool2d
+    WARNING:root:Attribute T is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.avg_pool2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
@@ -454,22 +454,22 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.concatenate
-    WARNING:root:Attribute T is ignored in relay.sym.concatenate
     WARNING:root:Attribute N is ignored in relay.sym.concatenate
+    WARNING:root:Attribute T is ignored in relay.sym.concatenate
     WARNING:root:Attribute _node_name is ignored in relay.sym.concatenate
     WARNING:root:Attribute _target_layout is ignored in relay.sym.concatenate
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
@@ -486,37 +486,37 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
@@ -524,14 +524,14 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
@@ -544,32 +544,32 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.copy
@@ -581,19 +581,19 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute ksize is ignored in relay.sym.avg_pool2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute T is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.avg_pool2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
@@ -605,19 +605,19 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.concatenate
-    WARNING:root:Attribute N is ignored in relay.sym.concatenate
     WARNING:root:Attribute T is ignored in relay.sym.concatenate
+    WARNING:root:Attribute N is ignored in relay.sym.concatenate
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.concatenate
     WARNING:root:Attribute _node_name is ignored in relay.sym.concatenate
     WARNING:root:Attribute _target_layout is ignored in relay.sym.concatenate
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
@@ -625,42 +625,42 @@ Results:
     WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.relu
@@ -668,9 +668,9 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
@@ -682,27 +682,27 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
@@ -715,67 +715,67 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute ksize is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.avg_pool2d
-    WARNING:root:Attribute T is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.avg_pool2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute message is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.concatenate
-    WARNING:root:Attribute N is ignored in relay.sym.concatenate
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.concatenate
+    WARNING:root:Attribute N is ignored in relay.sym.concatenate
     WARNING:root:Attribute _node_name is ignored in relay.sym.concatenate
     WARNING:root:Attribute _target_layout is ignored in relay.sym.concatenate
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
@@ -783,37 +783,37 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
@@ -829,33 +829,33 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.max_pool2d
-    WARNING:root:Attribute ksize is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.max_pool2d
+    WARNING:root:Attribute ksize is ignored in relay.sym.max_pool2d
+    WARNING:root:Attribute T is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.concatenate
-    WARNING:root:Attribute T is ignored in relay.sym.concatenate
     WARNING:root:Attribute N is ignored in relay.sym.concatenate
+    WARNING:root:Attribute T is ignored in relay.sym.concatenate
     WARNING:root:Attribute _node_name is ignored in relay.sym.concatenate
     WARNING:root:Attribute _target_layout is ignored in relay.sym.concatenate
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
@@ -863,37 +863,37 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
@@ -903,26 +903,26 @@ Results:
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
@@ -930,80 +930,80 @@ Results:
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute message is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.copy
@@ -1020,81 +1020,81 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.avg_pool2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute message is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute N is ignored in relay.sym.concatenate
-    WARNING:root:Attribute T is ignored in relay.sym.concatenate
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.concatenate
+    WARNING:root:Attribute T is ignored in relay.sym.concatenate
+    WARNING:root:Attribute N is ignored in relay.sym.concatenate
     WARNING:root:Attribute _node_name is ignored in relay.sym.concatenate
     WARNING:root:Attribute _target_layout is ignored in relay.sym.concatenate
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.relu
@@ -1103,25 +1103,25 @@ Results:
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
@@ -1149,19 +1149,19 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
@@ -1173,23 +1173,23 @@ Results:
     WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.relu
@@ -1198,69 +1198,69 @@ Results:
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute ksize is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute T is ignored in relay.sym.avg_pool2d
+    WARNING:root:Attribute ksize is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.avg_pool2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute N is ignored in relay.sym.concatenate
-    WARNING:root:Attribute T is ignored in relay.sym.concatenate
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.concatenate
+    WARNING:root:Attribute T is ignored in relay.sym.concatenate
+    WARNING:root:Attribute N is ignored in relay.sym.concatenate
     WARNING:root:Attribute _node_name is ignored in relay.sym.concatenate
     WARNING:root:Attribute _target_layout is ignored in relay.sym.concatenate
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
@@ -1273,37 +1273,37 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute message is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
@@ -1311,13 +1311,13 @@ Results:
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
@@ -1330,18 +1330,18 @@ Results:
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
@@ -1350,69 +1350,69 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute ksize is ignored in relay.sym.avg_pool2d
@@ -1420,52 +1420,52 @@ Results:
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.avg_pool2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.concatenate
-    WARNING:root:Attribute N is ignored in relay.sym.concatenate
     WARNING:root:Attribute T is ignored in relay.sym.concatenate
+    WARNING:root:Attribute N is ignored in relay.sym.concatenate
     WARNING:root:Attribute _node_name is ignored in relay.sym.concatenate
     WARNING:root:Attribute _target_layout is ignored in relay.sym.concatenate
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
@@ -1482,76 +1482,76 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.relu
@@ -1559,47 +1559,47 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
@@ -1607,32 +1607,32 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.avg_pool2d
-    WARNING:root:Attribute T is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute ksize is ignored in relay.sym.avg_pool2d
+    WARNING:root:Attribute T is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.avg_pool2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
@@ -1644,65 +1644,65 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.concatenate
     WARNING:root:Attribute _node_name is ignored in relay.sym.concatenate
     WARNING:root:Attribute _target_layout is ignored in relay.sym.concatenate
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
@@ -1712,55 +1712,55 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute message is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.max_pool2d
@@ -1769,56 +1769,56 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute N is ignored in relay.sym.concatenate
-    WARNING:root:Attribute T is ignored in relay.sym.concatenate
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.concatenate
+    WARNING:root:Attribute T is ignored in relay.sym.concatenate
     WARNING:root:Attribute _node_name is ignored in relay.sym.concatenate
     WARNING:root:Attribute _target_layout is ignored in relay.sym.concatenate
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.copy
@@ -1830,10 +1830,10 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
@@ -1841,17 +1841,17 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute message is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
@@ -1859,19 +1859,19 @@ Results:
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
@@ -1883,46 +1883,46 @@ Results:
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.avg_pool2d
@@ -1930,72 +1930,72 @@ Results:
     WARNING:root:Attribute ksize is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.avg_pool2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.concatenate
     WARNING:root:Attribute N is ignored in relay.sym.concatenate
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.concatenate
     WARNING:root:Attribute T is ignored in relay.sym.concatenate
     WARNING:root:Attribute _node_name is ignored in relay.sym.concatenate
     WARNING:root:Attribute _target_layout is ignored in relay.sym.concatenate
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute message is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
@@ -2003,26 +2003,26 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute message is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
@@ -2030,38 +2030,38 @@ Results:
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
     WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
     WARNING:root:Attribute message is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.relu
@@ -2069,37 +2069,37 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute T is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
+    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
     WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
     WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
-    WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
@@ -2107,53 +2107,53 @@ Results:
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
-    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
     WARNING:root:Attribute ksize is ignored in relay.sym.max_pool2d
-    WARNING:root:Attribute T is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.max_pool2d
+    WARNING:root:Attribute T is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.max_pool2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.max_pool2d
-    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
-    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute T is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.conv2d
+    WARNING:root:Attribute explicit_paddings is ignored in relay.sym.conv2d
+    WARNING:root:Attribute use_cudnn_on_gpu is ignored in relay.sym.conv2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.conv2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.conv2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.batch_norm
     WARNING:root:Attribute T is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _node_name is ignored in relay.sym.batch_norm
     WARNING:root:Attribute _target_layout is ignored in relay.sym.batch_norm
-    WARNING:root:Attribute message is ignored in relay.sym.copy
-    WARNING:root:Attribute T is ignored in relay.sym.copy
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.copy
+    WARNING:root:Attribute T is ignored in relay.sym.copy
+    WARNING:root:Attribute message is ignored in relay.sym.copy
     WARNING:root:Attribute _node_name is ignored in relay.sym.copy
     WARNING:root:Attribute _target_layout is ignored in relay.sym.copy
-    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute T is ignored in relay.sym.relu
+    WARNING:root:Attribute _output_shapes is ignored in relay.sym.relu
     WARNING:root:Attribute _node_name is ignored in relay.sym.relu
     WARNING:root:Attribute _target_layout is ignored in relay.sym.relu
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.concatenate
-    WARNING:root:Attribute T is ignored in relay.sym.concatenate
     WARNING:root:Attribute N is ignored in relay.sym.concatenate
+    WARNING:root:Attribute T is ignored in relay.sym.concatenate
     WARNING:root:Attribute _node_name is ignored in relay.sym.concatenate
     WARNING:root:Attribute _target_layout is ignored in relay.sym.concatenate
+    WARNING:root:Attribute ksize is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute T is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.avg_pool2d
-    WARNING:root:Attribute ksize is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _node_name is ignored in relay.sym.avg_pool2d
     WARNING:root:Attribute _target_layout is ignored in relay.sym.avg_pool2d
+    WARNING:root:Attribute T is ignored in relay.sym.reshape
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.reshape
     WARNING:root:Attribute Tshape is ignored in relay.sym.reshape
-    WARNING:root:Attribute T is ignored in relay.sym.reshape
     WARNING:root:Attribute _node_name is ignored in relay.sym.reshape
     WARNING:root:Attribute _target_layout is ignored in relay.sym.reshape
-    WARNING:root:Attribute transpose_b is ignored in relay.sym.dense
-    WARNING:root:Attribute transpose_a is ignored in relay.sym.dense
-    WARNING:root:Attribute T is ignored in relay.sym.dense
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.dense
+    WARNING:root:Attribute T is ignored in relay.sym.dense
+    WARNING:root:Attribute transpose_a is ignored in relay.sym.dense
+    WARNING:root:Attribute transpose_b is ignored in relay.sym.dense
     WARNING:root:Attribute _node_name is ignored in relay.sym.dense
     WARNING:root:Attribute _target_layout is ignored in relay.sym.dense
     WARNING:root:Attribute _output_shapes is ignored in relay.sym.softmax
diff --git a/docs/_sources/tutorials/frontend/sg_execution_times.rst.txt b/docs/_sources/tutorials/frontend/sg_execution_times.rst.txt
index cdcbefb..cdd840c 100644
--- a/docs/_sources/tutorials/frontend/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorials/frontend/sg_execution_times.rst.txt
@@ -5,24 +5,24 @@
 
 Computation times
 =================
-**08:54.802** total execution time for **tutorials_frontend** files:
+**10:42.214** total execution time for **tutorials_frontend** files:
 
-- **02:16.157**: :ref:`sphx_glr_tutorials_frontend_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)
-- **01:34.576**: :ref:`sphx_glr_tutorials_frontend_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``)
-- **01:33.744**: :ref:`sphx_glr_tutorials_frontend_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)
-- **00:32.651**: :ref:`sphx_glr_tutorials_frontend_from_tensorflow.py` (``from_tensorflow.py``)
-- **00:24.693**: :ref:`sphx_glr_tutorials_frontend_from_tflite.py` (``from_tflite.py``)
-- **00:24.063**: :ref:`sphx_glr_tutorials_frontend_deploy_quantized.py` (``deploy_quantized.py``)
-- **00:23.927**: :ref:`sphx_glr_tutorials_frontend_deploy_prequantized.py` (``deploy_prequantized.py``)
-- **00:23.549**: :ref:`sphx_glr_tutorials_frontend_from_darknet.py` (``from_darknet.py``)
-- **00:15.855**: :ref:`sphx_glr_tutorials_frontend_from_caffe2.py` (``from_caffe2.py``)
-- **00:13.609**: :ref:`sphx_glr_tutorials_frontend_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)
-- **00:11.932**: :ref:`sphx_glr_tutorials_frontend_deploy_model_on_android.py` (``deploy_model_on_android.py``)
-- **00:09.789**: :ref:`sphx_glr_tutorials_frontend_from_pytorch.py` (``from_pytorch.py``)
-- **00:08.777**: :ref:`sphx_glr_tutorials_frontend_from_coreml.py` (``from_coreml.py``)
-- **00:08.417**: :ref:`sphx_glr_tutorials_frontend_from_mxnet.py` (``from_mxnet.py``)
-- **00:07.462**: :ref:`sphx_glr_tutorials_frontend_from_keras.py` (``from_keras.py``)
-- **00:02.870**: :ref:`sphx_glr_tutorials_frontend_using_external_lib.py` (``using_external_lib.py``)
-- **00:01.411**: :ref:`sphx_glr_tutorials_frontend_from_onnx.py` (``from_onnx.py``)
-- **00:01.130**: :ref:`sphx_glr_tutorials_frontend_build_gcn.py` (``build_gcn.py``)
-- **00:00.190**: :ref:`sphx_glr_tutorials_frontend_deploy_sparse.py` (``deploy_sparse.py``)
+- **02:40.367**: :ref:`sphx_glr_tutorials_frontend_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)
+- **02:06.879**: :ref:`sphx_glr_tutorials_frontend_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``)
+- **01:57.542**: :ref:`sphx_glr_tutorials_frontend_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)
+- **00:38.420**: :ref:`sphx_glr_tutorials_frontend_from_tensorflow.py` (``from_tensorflow.py``)
+- **00:29.895**: :ref:`sphx_glr_tutorials_frontend_deploy_quantized.py` (``deploy_quantized.py``)
+- **00:29.076**: :ref:`sphx_glr_tutorials_frontend_deploy_prequantized.py` (``deploy_prequantized.py``)
+- **00:26.377**: :ref:`sphx_glr_tutorials_frontend_from_tflite.py` (``from_tflite.py``)
+- **00:23.165**: :ref:`sphx_glr_tutorials_frontend_from_darknet.py` (``from_darknet.py``)
+- **00:16.300**: :ref:`sphx_glr_tutorials_frontend_from_caffe2.py` (``from_caffe2.py``)
+- **00:14.964**: :ref:`sphx_glr_tutorials_frontend_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)
+- **00:12.725**: :ref:`sphx_glr_tutorials_frontend_deploy_model_on_android.py` (``deploy_model_on_android.py``)
+- **00:12.175**: :ref:`sphx_glr_tutorials_frontend_from_pytorch.py` (``from_pytorch.py``)
+- **00:09.739**: :ref:`sphx_glr_tutorials_frontend_from_mxnet.py` (``from_mxnet.py``)
+- **00:09.128**: :ref:`sphx_glr_tutorials_frontend_from_coreml.py` (``from_coreml.py``)
+- **00:08.881**: :ref:`sphx_glr_tutorials_frontend_from_keras.py` (``from_keras.py``)
+- **00:03.408**: :ref:`sphx_glr_tutorials_frontend_using_external_lib.py` (``using_external_lib.py``)
+- **00:01.789**: :ref:`sphx_glr_tutorials_frontend_from_onnx.py` (``from_onnx.py``)
+- **00:01.191**: :ref:`sphx_glr_tutorials_frontend_build_gcn.py` (``build_gcn.py``)
+- **00:00.195**: :ref:`sphx_glr_tutorials_frontend_deploy_sparse.py` (``deploy_sparse.py``)
diff --git a/docs/_sources/tutorials/get_started/cross_compilation_and_rpc.rst.txt b/docs/_sources/tutorials/get_started/cross_compilation_and_rpc.rst.txt
index 291c0f3..c17f44f 100644
--- a/docs/_sources/tutorials/get_started/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/tutorials/get_started/cross_compilation_and_rpc.rst.txt
@@ -235,7 +235,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    1.743e-07 secs/op
+    1.288e-07 secs/op
 
 
 
diff --git a/docs/_sources/tutorials/get_started/relay_quick_start.rst.txt b/docs/_sources/tutorials/get_started/relay_quick_start.rst.txt
index e9bbf9e..0560c42 100644
--- a/docs/_sources/tutorials/get_started/relay_quick_start.rst.txt
+++ b/docs/_sources/tutorials/get_started/relay_quick_start.rst.txt
@@ -224,7 +224,7 @@ in this example. Then the machine code will be generated as the module library.
 
  .. code-block:: none
 
-
    ...1%, 0.01 MB, 31 KB/s, 0 seconds passed
    ...3%, 0.02 MB, 62 KB/s, 0 seconds passed
    ...5%, 0.02 MB, 93 KB/s, 0 seconds passed
    ...6%, 0.03 MB, 124 KB/s, 0 seconds passed
    ...8%, 0.04 MB, 154 KB/s, 0 seconds passed
    ...10%, 0.05 MB, 185 KB/s, 0 seconds passed
    ...11%, 0.05 MB, 216 KB/s, 0 seconds passed
    ...13%, 0.06 MB, 247 KB/s, 0 seconds passed
    ...15%, 0.07 MB, 277 KB/s, 0 seconds passed
    ...16%, 0.08 MB, 308 KB/s, 0 seconds passed
    ...18%, 0.09 MB, 338 KB/s, 0 seconds passed
    ...20%, 0.09 MB, 369 KB/s, 0 seconds passed
    ...21%, 0.10 MB, 399 KB/s, 0 seconds passed
    ...23%, 0.11 MB, 429 KB/s, 0 seconds passed
    ...25%, 0.12 MB, 460 KB/s, 0 seconds passed
    ...26%, 0.12 MB, 490 KB/s, 0 seconds passed
    ...28%, 0.13 MB, 520 KB/s, 0 seconds passed
    ...30%, 0.14 MB, 550 KB/s, 0 seconds passed
    ...31%, 0.15 MB, 581 KB/s, 0 seconds passed
    ...33%, 0.16 MB, 611 KB/s, 0 seconds passed
    ...35%, 0.16 MB, 641 KB/s, 0 seconds pas
 sed
    ...36%, 0.17 MB, 671 KB/s, 0 seconds passed
    ...38%, 0.18 MB, 701 KB/s, 0 seconds passed
    ...40%, 0.19 MB, 731 KB/s, 0 seconds passed
    ...41%, 0.20 MB, 760 KB/s, 0 seconds passed
    ...43%, 0.20 MB, 790 KB/s, 0 seconds passed
    ...45%, 0.21 MB, 820 KB/s, 0 seconds passed
    ...46%, 0.22 MB, 850 KB/s, 0 seconds passed
    ...48%, 0.23 MB, 879 KB/s, 0 seconds passed
    ...50%, 0.23 MB, 909 KB/s, 0 seconds passed
    ...51%, 0.24 MB, 939 KB/s, 0 seconds passed
    ...53%, 0.25 MB, 969 KB/s, 0 seconds passed
    ...55%, 0.26 MB, 998 KB/s, 0 seconds passed
    ...56%, 0.27 MB, 1028 KB/s, 0 seconds passed
    ...58%, 0.27 MB, 1056 KB/s, 0 seconds passed
    ...60%, 0.28 MB, 1086 KB/s, 0 seconds passed
    ...61%, 0.29 MB, 1116 KB/s, 0 seconds passed
    ...63%, 0.30 MB, 1146 KB/s, 0 seconds passed
    ...65%, 0.30 MB, 1175 KB/s, 0 seconds passed
    ...66%, 0.31 MB, 1205 KB/s, 0 seconds passed
    ...68%, 0.32 MB, 1235 KB/s, 0 seconds passed
    ...70%, 0.33 MB, 1265
  KB/s, 0 seconds passed
    ...71%, 0.34 MB, 1292 KB/s, 0 seconds passed
    ...73%, 0.34 MB, 1322 KB/s, 0 seconds passed
    ...75%, 0.35 MB, 1351 KB/s, 0 seconds passed
    ...76%, 0.36 MB, 1381 KB/s, 0 seconds passed
    ...78%, 0.37 MB, 1410 KB/s, 0 seconds passed
    ...80%, 0.38 MB, 1440 KB/s, 0 seconds passed
    ...81%, 0.38 MB, 1467 KB/s, 0 seconds passed
    ...83%, 0.39 MB, 1496 KB/s, 0 seconds passed
    ...85%, 0.40 MB, 1525 KB/s, 0 seconds passed
    ...86%, 0.41 MB, 1555 KB/s, 0 seconds passed
    ...88%, 0.41 MB, 1584 KB/s, 0 seconds passed
    ...90%, 0.42 MB, 1613 KB/s, 0 seconds passed
    ...91%, 0.43 MB, 1643 KB/s, 0 seconds passed
    ...93%, 0.44 MB, 1672 KB/s, 0 seconds passed
    ...95%, 0.45 MB, 1699 KB/s, 0 seconds passed
    ...96%, 0.45 MB, 1728 KB/s, 0 seconds passed
    ...98%, 0.46 MB, 1757 KB/s, 0 seconds passed
    ...100%, 0.47 MB, 1786 KB/s, 0 seconds passed
+
    ...1%, 0.01 MB, 34 KB/s, 0 seconds passed
    ...3%, 0.02 MB, 69 KB/s, 0 seconds passed
    ...5%, 0.02 MB, 103 KB/s, 0 seconds passed
    ...6%, 0.03 MB, 137 KB/s, 0 seconds passed
    ...8%, 0.04 MB, 168 KB/s, 0 seconds passed
    ...10%, 0.05 MB, 201 KB/s, 0 seconds passed
    ...11%, 0.05 MB, 235 KB/s, 0 seconds passed
    ...13%, 0.06 MB, 267 KB/s, 0 seconds passed
    ...15%, 0.07 MB, 300 KB/s, 0 seconds passed
    ...16%, 0.08 MB, 332 KB/s, 0 seconds passed
    ...18%, 0.09 MB, 365 KB/s, 0 seconds passed
    ...20%, 0.09 MB, 398 KB/s, 0 seconds passed
    ...21%, 0.10 MB, 429 KB/s, 0 seconds passed
    ...23%, 0.11 MB, 462 KB/s, 0 seconds passed
    ...25%, 0.12 MB, 487 KB/s, 0 seconds passed
    ...26%, 0.12 MB, 520 KB/s, 0 seconds passed
    ...28%, 0.13 MB, 552 KB/s, 0 seconds passed
    ...30%, 0.14 MB, 583 KB/s, 0 seconds passed
    ...31%, 0.15 MB, 615 KB/s, 0 seconds passed
    ...33%, 0.16 MB, 647 KB/s, 0 seconds passed
    ...35%, 0.16 MB, 677 KB/s, 0 seconds pa
 ssed
    ...36%, 0.17 MB, 709 KB/s, 0 seconds passed
    ...38%, 0.18 MB, 741 KB/s, 0 seconds passed
    ...40%, 0.19 MB, 773 KB/s, 0 seconds passed
    ...41%, 0.20 MB, 803 KB/s, 0 seconds passed
    ...43%, 0.20 MB, 835 KB/s, 0 seconds passed
    ...45%, 0.21 MB, 864 KB/s, 0 seconds passed
    ...46%, 0.22 MB, 896 KB/s, 0 seconds passed
    ...48%, 0.23 MB, 926 KB/s, 0 seconds passed
    ...50%, 0.23 MB, 958 KB/s, 0 seconds passed
    ...51%, 0.24 MB, 977 KB/s, 0 seconds passed
    ...53%, 0.25 MB, 1008 KB/s, 0 seconds passed
    ...55%, 0.26 MB, 1036 KB/s, 0 seconds passed
    ...56%, 0.27 MB, 1067 KB/s, 0 seconds passed
    ...58%, 0.27 MB, 1098 KB/s, 0 seconds passed
    ...60%, 0.28 MB, 1129 KB/s, 0 seconds passed
    ...61%, 0.29 MB, 1157 KB/s, 0 seconds passed
    ...63%, 0.30 MB, 1188 KB/s, 0 seconds passed
    ...65%, 0.30 MB, 1216 KB/s, 0 seconds passed
    ...66%, 0.31 MB, 1247 KB/s, 0 seconds passed
    ...68%, 0.32 MB, 1273 KB/s, 0 seconds passed
    ...70%, 0.33 MB, 1
 303 KB/s, 0 seconds passed
    ...71%, 0.34 MB, 1334 KB/s, 0 seconds passed
    ...73%, 0.34 MB, 1365 KB/s, 0 seconds passed
    ...75%, 0.35 MB, 1390 KB/s, 0 seconds passed
    ...76%, 0.36 MB, 1421 KB/s, 0 seconds passed
    ...78%, 0.37 MB, 1447 KB/s, 0 seconds passed
    ...80%, 0.38 MB, 1477 KB/s, 0 seconds passed
    ...81%, 0.38 MB, 1498 KB/s, 0 seconds passed
    ...83%, 0.39 MB, 1528 KB/s, 0 seconds passed
    ...85%, 0.40 MB, 1552 KB/s, 0 seconds passed
    ...86%, 0.41 MB, 1582 KB/s, 0 seconds passed
    ...88%, 0.41 MB, 1608 KB/s, 0 seconds passed
    ...90%, 0.42 MB, 1638 KB/s, 0 seconds passed
    ...91%, 0.43 MB, 1668 KB/s, 0 seconds passed
    ...93%, 0.44 MB, 1698 KB/s, 0 seconds passed
    ...95%, 0.45 MB, 1722 KB/s, 0 seconds passed
    ...96%, 0.45 MB, 1751 KB/s, 0 seconds passed
    ...98%, 0.46 MB, 1781 KB/s, 0 seconds passed
    ...100%, 0.47 MB, 1810 KB/s, 0 seconds passed
     Cannot find config for target=cuda -keys=cuda,gpu -max_num_threads=1024 -model=unknown -thread_warp_size=32, workload=('dense_small_batch.cuda', ('TENSOR', (1, 512), 'float32'), ('TENSOR', (1000, 512), 'float32'), None, 'float32'). A fallback configuration is used, which may bring great performance regression.
 
 
diff --git a/docs/_sources/tutorials/get_started/sg_execution_times.rst.txt b/docs/_sources/tutorials/get_started/sg_execution_times.rst.txt
index d3db0b1..4a33a45 100644
--- a/docs/_sources/tutorials/get_started/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorials/get_started/sg_execution_times.rst.txt
@@ -5,9 +5,9 @@
 
 Computation times
 =================
-**00:13.668** total execution time for **tutorials_get_started** files:
+**00:16.734** total execution time for **tutorials_get_started** files:
 
-- **00:13.113**: :ref:`sphx_glr_tutorials_get_started_relay_quick_start.py` (``relay_quick_start.py``)
-- **00:00.325**: :ref:`sphx_glr_tutorials_get_started_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)
-- **00:00.136**: :ref:`sphx_glr_tutorials_get_started_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
-- **00:00.094**: :ref:`sphx_glr_tutorials_get_started_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)
+- **00:16.173**: :ref:`sphx_glr_tutorials_get_started_relay_quick_start.py` (``relay_quick_start.py``)
+- **00:00.354**: :ref:`sphx_glr_tutorials_get_started_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)
+- **00:00.122**: :ref:`sphx_glr_tutorials_get_started_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
+- **00:00.086**: :ref:`sphx_glr_tutorials_get_started_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)
diff --git a/docs/_sources/tutorials/get_started/tensor_expr_get_started.rst.txt b/docs/_sources/tutorials/get_started/tensor_expr_get_started.rst.txt
index 8673a9a..f86234d 100644
--- a/docs/_sources/tutorials/get_started/tensor_expr_get_started.rst.txt
+++ b/docs/_sources/tutorials/get_started/tensor_expr_get_started.rst.txt
@@ -325,7 +325,7 @@ The following code first performs the following steps:
 
  .. code-block:: none
 
-    ['myadd.tvm_meta.json', 'myadd.so', 'myadd.ptx', 'myadd.o']
+    ['myadd.tvm_meta.json', 'myadd.ptx', 'myadd.so', 'myadd.o']
 
 
 
diff --git a/docs/_sources/tutorials/language/schedule_primitives.rst.txt b/docs/_sources/tutorials/language/schedule_primitives.rst.txt
index 0527e5e..7cf5603 100644
--- a/docs/_sources/tutorials/language/schedule_primitives.rst.txt
+++ b/docs/_sources/tutorials/language/schedule_primitives.rst.txt
@@ -85,13 +85,13 @@ schedule computes tensor in a serial manner in a row-major order.
 
     primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"global_symbol": "main", "tir.noalias": True}
-      buffers = {C: Buffer(C_2: Pointer(float32), float32, [m: int32, n: int32], [stride: int32, stride_1: int32], type="auto"),
-                 B: Buffer(B_2: Pointer(float32), float32, [m, n], [stride_2: int32, stride_3: int32], type="auto"),
+      buffers = {B: Buffer(B_2: Pointer(float32), float32, [m: int32, n: int32], [stride: int32, stride_1: int32], type="auto"),
+                 C: Buffer(C_2: Pointer(float32), float32, [m, n], [stride_2: int32, stride_3: int32], type="auto"),
                  A: Buffer(A_2: Pointer(float32), float32, [m, n], [stride_4: int32, stride_5: int32], type="auto")}
       buffer_map = {A_1: A, B_1: B, C_1: C} {
       for (i: int32, 0, m) {
         for (j: int32, 0, n) {
-          C_2[((i*stride) + (j*stride_1))] = ((float32*)A_2[((i*stride_4) + (j*stride_5))]*(float32*)B_2[((i*stride_2) + (j*stride_3))])
+          C_2[((i*stride_2) + (j*stride_3))] = ((float32*)A_2[((i*stride_4) + (j*stride_5))]*(float32*)B_2[((i*stride) + (j*stride_1))])
         }
       }
     }
@@ -407,15 +407,15 @@ tensors at the root separately by default.
 
     primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"global_symbol": "main", "tir.noalias": True}
-      buffers = {B: Buffer(B_2: Pointer(float32), float32, [m: int32], [stride: int32], type="auto"),
-                 C: Buffer(C_2: Pointer(float32), float32, [m], [stride_1: int32], type="auto"),
+      buffers = {C: Buffer(C_2: Pointer(float32), float32, [m: int32], [stride: int32], type="auto"),
+                 B: Buffer(B_2: Pointer(float32), float32, [m], [stride_1: int32], type="auto"),
                  A: Buffer(A_2: Pointer(float32), float32, [m], [stride_2: int32], type="auto")}
       buffer_map = {A_1: A, B_1: B, C_1: C} {
       for (i: int32, 0, m) {
-        B_2[(i*stride)] = ((float32*)A_2[(i*stride_2)] + 1f32)
+        B_2[(i*stride_1)] = ((float32*)A_2[(i*stride_2)] + 1f32)
       }
       for (i_1: int32, 0, m) {
-        C_2[(i_1*stride_1)] = ((float32*)B_2[(i_1*stride)]*2f32)
+        C_2[(i_1*stride)] = ((float32*)B_2[(i_1*stride_1)]*2f32)
       }
     }
 
@@ -492,12 +492,12 @@ tensor is required.
 
     primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"global_symbol": "main", "tir.noalias": True}
-      buffers = {C: Buffer(C_2: Pointer(float32), float32, [m: int32], [stride: int32], type="auto"),
-                 B: Buffer(B_2: Pointer(float32), float32, [m], [stride_1: int32], type="auto"),
+      buffers = {B: Buffer(B_2: Pointer(float32), float32, [m: int32], [stride: int32], type="auto"),
+                 C: Buffer(C_2: Pointer(float32), float32, [m], [stride_1: int32], type="auto"),
                  A: Buffer(A_2: Pointer(float32), float32, [m], [stride_2: int32], type="auto")}
       buffer_map = {A_1: A, B_1: B, C_1: C} {
       for (i: int32, 0, m) {
-        C_2[(i*stride)] = (((float32*)A_2[(i*stride_2)] + 1f32)*2f32)
+        C_2[(i*stride_1)] = (((float32*)A_2[(i*stride_2)] + 1f32)*2f32)
       }
     }
 
diff --git a/docs/_sources/tutorials/language/sg_execution_times.rst.txt b/docs/_sources/tutorials/language/sg_execution_times.rst.txt
index 7c34b95..e767fa0 100644
--- a/docs/_sources/tutorials/language/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorials/language/sg_execution_times.rst.txt
@@ -5,13 +5,13 @@
 
 Computation times
 =================
-**00:04.230** total execution time for **tutorials_language** files:
+**00:04.429** total execution time for **tutorials_language** files:
 
-- **00:01.517**: :ref:`sphx_glr_tutorials_language_intrin_math.py` (``intrin_math.py``)
-- **00:00.812**: :ref:`sphx_glr_tutorials_language_tensorize.py` (``tensorize.py``)
-- **00:00.558**: :ref:`sphx_glr_tutorials_language_reduction.py` (``reduction.py``)
-- **00:00.529**: :ref:`sphx_glr_tutorials_language_scan.py` (``scan.py``)
-- **00:00.259**: :ref:`sphx_glr_tutorials_language_extern_op.py` (``extern_op.py``)
-- **00:00.189**: :ref:`sphx_glr_tutorials_language_schedule_primitives.py` (``schedule_primitives.py``)
-- **00:00.189**: :ref:`sphx_glr_tutorials_language_tedd.py` (``tedd.py``)
-- **00:00.176**: :ref:`sphx_glr_tutorials_language_tuple_inputs.py` (``tuple_inputs.py``)
+- **00:01.567**: :ref:`sphx_glr_tutorials_language_intrin_math.py` (``intrin_math.py``)
+- **00:00.782**: :ref:`sphx_glr_tutorials_language_tensorize.py` (``tensorize.py``)
+- **00:00.582**: :ref:`sphx_glr_tutorials_language_scan.py` (``scan.py``)
+- **00:00.547**: :ref:`sphx_glr_tutorials_language_reduction.py` (``reduction.py``)
+- **00:00.315**: :ref:`sphx_glr_tutorials_language_extern_op.py` (``extern_op.py``)
+- **00:00.227**: :ref:`sphx_glr_tutorials_language_schedule_primitives.py` (``schedule_primitives.py``)
+- **00:00.212**: :ref:`sphx_glr_tutorials_language_tuple_inputs.py` (``tuple_inputs.py``)
+- **00:00.197**: :ref:`sphx_glr_tutorials_language_tedd.py` (``tedd.py``)
diff --git a/docs/_sources/tutorials/language/tensorize.rst.txt b/docs/_sources/tutorials/language/tensorize.rst.txt
index d330d50..165b835 100644
--- a/docs/_sources/tutorials/language/tensorize.rst.txt
+++ b/docs/_sources/tutorials/language/tensorize.rst.txt
@@ -70,8 +70,8 @@ The following lines describe the computation :code:`A * B^T` in TVM.
 
     primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"global_symbol": "main", "tir.noalias": True}
-      buffers = {B: Buffer(B_2: Pointer(float32), float32, [512, 64], []),
-                 C: Buffer(C_2: Pointer(float32), float32, [1024, 512], []),
+      buffers = {C: Buffer(C_2: Pointer(float32), float32, [1024, 512], []),
+                 B: Buffer(B_2: Pointer(float32), float32, [512, 64], []),
                  A: Buffer(A_2: Pointer(float32), float32, [1024, 64], [])}
       buffer_map = {A_1: A, B_1: B, C_1: C} {
       for (i: int32, 0, 1024) {
@@ -312,8 +312,8 @@ The importing needs to happen before the tensorized GEMV being executed.
                  B: Buffer(B_2: Pointer(float32), float32, [512, 64], []),
                  A: Buffer(A_2: Pointer(float32), float32, [1024, 64], [])}
       buffer_map = {A_1: A, B_1: B, C_1: C} {
-      attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmpfql87iuv/input0.cc'
-    source_filename = "/tmp/tmpfql87iuv/input0.cc"
+      attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmprjxktab2/input0.cc'
+    source_filename = "/tmp/tmprjxktab2/input0.cc"
     target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
     target triple = "x86_64-pc-linux-gnu"
 
diff --git a/docs/_sources/tutorials/language/tuple_inputs.rst.txt b/docs/_sources/tutorials/language/tuple_inputs.rst.txt
index 9ddc391..2e75b9d 100644
--- a/docs/_sources/tutorials/language/tuple_inputs.rst.txt
+++ b/docs/_sources/tutorials/language/tuple_inputs.rst.txt
@@ -136,16 +136,16 @@ with :py:func:`te.comm_reducer` as below:
     primfn(idx_1: handle, val_1: handle, T.v0_1: handle, T.v1_1: handle) -> ()
       attr = {"global_symbol": "main", "tir.noalias": True}
       buffers = {T.v1: Buffer(T.v1_2: Pointer(int32), int32, [m: int32], [stride: int32], type="auto"),
-                 val: Buffer(val_2: Pointer(int32), int32, [m, n: int32], [stride_1: int32, stride_2: int32], type="auto"),
-                 T.v0: Buffer(T.v0_2: Pointer(int32), int32, [m], [stride_3: int32], type="auto"),
+                 T.v0: Buffer(T.v0_2: Pointer(int32), int32, [m], [stride_1: int32], type="auto"),
+                 val: Buffer(val_2: Pointer(int32), int32, [m, n: int32], [stride_2: int32, stride_3: int32], type="auto"),
                  idx: Buffer(idx_2: Pointer(int32), int32, [m, n], [stride_4: int32, stride_5: int32], type="auto")}
       buffer_map = {idx_1: idx, val_1: val, T.v0_1: T.v0, T.v1_1: T.v1} {
       for (i: int32, 0, m) {
-        T.v0_2[(i*stride_3)] = -1
+        T.v0_2[(i*stride_1)] = -1
         T.v1_2[(i*stride)] = -2147483648
         for (k: int32, 0, n) {
-          T.v0_2[(i*stride_3)] = @tir.if_then_else(((int32*)val_2[((i*stride_1) + (k*stride_2))] <= (int32*)T.v1_2[(i*stride)]), (int32*)T.v0_2[(i*stride_3)], (int32*)idx_2[((i*stride_4) + (k*stride_5))], dtype=int32)
-          T.v1_2[(i*stride)] = @tir.if_then_else(((int32*)val_2[((i*stride_1) + (k*stride_2))] <= (int32*)T.v1_2[(i*stride)]), (int32*)T.v1_2[(i*stride)], (int32*)val_2[((i*stride_1) + (k*stride_2))], dtype=int32)
+          T.v0_2[(i*stride_1)] = @tir.if_then_else(((int32*)val_2[((i*stride_2) + (k*stride_3))] <= (int32*)T.v1_2[(i*stride)]), (int32*)T.v0_2[(i*stride_1)], (int32*)idx_2[((i*stride_4) + (k*stride_5))], dtype=int32)
+          T.v1_2[(i*stride)] = @tir.if_then_else(((int32*)val_2[((i*stride_2) + (k*stride_3))] <= (int32*)T.v1_2[(i*stride)]), (int32*)T.v1_2[(i*stride)], (int32*)val_2[((i*stride_2) + (k*stride_3))], dtype=int32)
         }
       }
     }
diff --git a/docs/_sources/tutorials/micro/micro_reference_vm.rst.txt b/docs/_sources/tutorials/micro/micro_reference_vm.rst.txt
index 0181e19..04f7f33 100644
--- a/docs/_sources/tutorials/micro/micro_reference_vm.rst.txt
+++ b/docs/_sources/tutorials/micro/micro_reference_vm.rst.txt
@@ -53,7 +53,8 @@ A minimal set of prerequisites are needed:
 1. `Vagrant <https://vagrantup.com>`__
 2. A supported Virtual Machine hypervisor.
    `VirtualBox <https://www.virtualbox.org>`__ is one suggested free hypervisor, but please note
-   that the `VirtualBox Extension Pack`_ is required for proper USB forwarding.
+   that the `VirtualBox Extension Pack`_ is required for proper USB forwarding. If using VirtualBox,
+   also consider installing the `vbguest <https://github.com/dotless-de/vagrant-vbguest>`_ plugin.
 
 .. _VirtualBox Extension Pack: https://www.virtualbox.org/wiki/Downloads#VirtualBox6.1.16OracleVMVirtualBoxExtensionPack
 
@@ -64,9 +65,10 @@ The first time you use a reference VM, you need to create the box locally and th
 
 .. code-block:: bash
 
-    ~/.../tvm $ cd apps/microtvm-vm
+    # Replace zepyhr with the name of a different platform, if you are not using Zephyr.
+    ~/.../tvm $ cd apps/microtvm/reference-vm/zephyr
     # Replace <provider_name> with the name of the hypervisor you wish to use (i.e. virtualbox).
-    ~/.../tvm/apps/microtvm/vm $ vagrant up --provider=<provider_name>
+    ~/.../tvm/apps/microtvm/reference-vm/zephyr $ vagrant up --provider=<provider_name>
 
 
 This command will take a couple of minutes to run and will require 4 to 5GB of storage on your
diff --git a/docs/_sources/tutorials/micro/micro_tflite.rst.txt b/docs/_sources/tutorials/micro/micro_tflite.rst.txt
index 40a44c7..bb9567b 100644
--- a/docs/_sources/tutorials/micro/micro_tflite.rst.txt
+++ b/docs/_sources/tutorials/micro/micro_tflite.rst.txt
@@ -244,7 +244,7 @@ file.
 
  .. code-block:: none
 
-    /workspace/docs/../python/tvm/target/target.py:459: UserWarning: tvm.target.create() is being deprecated. Please use tvm.target.Target() instead
+    /workspace/docs/../python/tvm/target/target.py:460: UserWarning: tvm.target.create() is being deprecated. Please use tvm.target.Target() instead
       warnings.warn("tvm.target.create() is being deprecated. Please use tvm.target.Target() instead")
 
 
diff --git a/docs/_sources/tutorials/micro/sg_execution_times.rst.txt b/docs/_sources/tutorials/micro/sg_execution_times.rst.txt
index dbf8295..8159db4 100644
--- a/docs/_sources/tutorials/micro/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorials/micro/sg_execution_times.rst.txt
@@ -5,7 +5,7 @@
 
 Computation times
 =================
-**00:05.979** total execution time for **tutorials_micro** files:
+**00:06.012** total execution time for **tutorials_micro** files:
 
-- **00:05.783**: :ref:`sphx_glr_tutorials_micro_micro_tflite.py` (``micro_tflite.py``)
-- **00:00.196**: :ref:`sphx_glr_tutorials_micro_micro_reference_vm.py` (``micro_reference_vm.py``)
+- **00:05.813**: :ref:`sphx_glr_tutorials_micro_micro_tflite.py` (``micro_tflite.py``)
+- **00:00.199**: :ref:`sphx_glr_tutorials_micro_micro_reference_vm.py` (``micro_reference_vm.py``)
diff --git a/docs/_sources/tutorials/optimize/opt_conv_cuda.rst.txt b/docs/_sources/tutorials/optimize/opt_conv_cuda.rst.txt
index 3992620..1f6b68f 100644
--- a/docs/_sources/tutorials/optimize/opt_conv_cuda.rst.txt
+++ b/docs/_sources/tutorials/optimize/opt_conv_cuda.rst.txt
@@ -296,7 +296,7 @@ latency of convolution.
 
  .. code-block:: none
 
-    Convolution: 19.712582 ms
+    Convolution: 35.309982 ms
 
 
 
diff --git a/docs/_sources/tutorials/optimize/opt_conv_tensorcore.rst.txt b/docs/_sources/tutorials/optimize/opt_conv_tensorcore.rst.txt
index e6ff161..b571ef1 100644
--- a/docs/_sources/tutorials/optimize/opt_conv_tensorcore.rst.txt
+++ b/docs/_sources/tutorials/optimize/opt_conv_tensorcore.rst.txt
@@ -405,8 +405,8 @@ one time.
 
     primfn(A_1: handle, W_1: handle, Conv_1: handle) -> ()
       attr = {"global_symbol": "main", "tir.noalias": True}
-      buffers = {Conv: Buffer(Conv_2: Pointer(float32), float32, [16, 14, 14, 32, 16, 16], []),
-                 W: Buffer(W_2: Pointer(float16), float16, [3, 3, 16, 32, 16, 16], []),
+      buffers = {W: Buffer(W_2: Pointer(float16), float16, [3, 3, 16, 32, 16, 16], []),
+                 Conv: Buffer(Conv_2: Pointer(float32), float32, [16, 14, 14, 32, 16, 16], []),
                  A: Buffer(A_2: Pointer(float16), float16, [16, 14, 14, 16, 16, 16], [])}
       buffer_map = {A_1: A, W_1: W, Conv_1: Conv} {
       attr [IterVar(blockIdx.z: int32, (nullptr), "ThreadIndex", "blockIdx.z")] "thread_extent" = 196;
@@ -624,7 +624,7 @@ be able to run on our build server
 
  .. code-block:: none
 
-    conv2d with tensor core: 5.591369 ms
+    conv2d with tensor core: 11.963780 ms
 
 
 
diff --git a/docs/_sources/tutorials/optimize/opt_gemm.rst.txt b/docs/_sources/tutorials/optimize/opt_gemm.rst.txt
index 8b14499..4027f0c 100644
--- a/docs/_sources/tutorials/optimize/opt_gemm.rst.txt
+++ b/docs/_sources/tutorials/optimize/opt_gemm.rst.txt
@@ -118,8 +118,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 
  .. code-block:: none
 
-    Numpy running time: 0.012141
-    Baseline: 5.807472
+    Numpy running time: 0.007583
+    Baseline: 3.523260
 
 
 
@@ -206,7 +206,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 
  .. code-block:: none
 
-    Opt1: 0.153132
+    Opt1: 0.284582
 
 
 
@@ -230,8 +230,8 @@ Here is the generated IR after blocking.
 
     primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"global_symbol": "main", "tir.noalias": True}
-      buffers = {C: Buffer(C_2: Pointer(float32), float32, [1024, 1024], []),
-                 B: Buffer(B_2: Pointer(float32), float32, [1024, 1024], []),
+      buffers = {B: Buffer(B_2: Pointer(float32), float32, [1024, 1024], []),
+                 C: Buffer(C_2: Pointer(float32), float32, [1024, 1024], []),
                  A: Buffer(A_2: Pointer(float32), float32, [1024, 1024], [])}
       buffer_map = {A_1: A, B_1: B, C_1: C} {
       for (x.outer: int32, 0, 32) {
@@ -300,7 +300,7 @@ In this tutorial, we chose to vectorize the inner loop row data since it is cach
 
  .. code-block:: none
 
-    Opt2: 0.158593
+    Opt2: 0.320971
 
 
 
@@ -389,7 +389,7 @@ the access pattern for A matrix is more cache friendly.
 
  .. code-block:: none
 
-    Opt3: 0.095577
+    Opt3: 0.111958
 
 
 
@@ -413,8 +413,8 @@ Here is the generated IR after loop permutation.
 
     primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"global_symbol": "main", "tir.noalias": True}
-      buffers = {C: Buffer(C_2: Pointer(float32), float32, [1024, 1024], []),
-                 B: Buffer(B_2: Pointer(float32), float32, [1024, 1024], []),
+      buffers = {B: Buffer(B_2: Pointer(float32), float32, [1024, 1024], []),
+                 C: Buffer(C_2: Pointer(float32), float32, [1024, 1024], []),
                  A: Buffer(A_2: Pointer(float32), float32, [1024, 1024], [])}
       buffer_map = {A_1: A, B_1: B, C_1: C} {
       for (x.outer: int32, 0, 32) {
@@ -499,7 +499,7 @@ the corresponding value from the packed array.
 
  .. code-block:: none
 
-    Opt4: 0.088868
+    Opt4: 0.112205
 
 
 
@@ -609,7 +609,7 @@ write to C when all the block results are ready.
 
  .. code-block:: none
 
-    Opt5: 0.061595
+    Opt5: 0.106798
 
 
 
@@ -725,7 +725,7 @@ Futhermore, we can also utilize multi-core processors to do the thread-level par
 
  .. code-block:: none
 
-    Opt6: 0.021456
+    Opt6: 0.034973
 
 
 
diff --git a/docs/_sources/tutorials/optimize/sg_execution_times.rst.txt b/docs/_sources/tutorials/optimize/sg_execution_times.rst.txt
index 0b84741..1181c06 100644
--- a/docs/_sources/tutorials/optimize/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorials/optimize/sg_execution_times.rst.txt
@@ -5,9 +5,9 @@
 
 Computation times
 =================
-**00:29.920** total execution time for **tutorials_optimize** files:
+**00:36.648** total execution time for **tutorials_optimize** files:
 
-- **00:27.595**: :ref:`sphx_glr_tutorials_optimize_opt_gemm.py` (``opt_gemm.py``)
-- **00:01.085**: :ref:`sphx_glr_tutorials_optimize_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``)
-- **00:01.068**: :ref:`sphx_glr_tutorials_optimize_opt_conv_cuda.py` (``opt_conv_cuda.py``)
-- **00:00.172**: :ref:`sphx_glr_tutorials_optimize_opt_matmul_auto_tensorcore.py` (``opt_matmul_auto_tensorcore.py``)
+- **00:25.505**: :ref:`sphx_glr_tutorials_optimize_opt_gemm.py` (``opt_gemm.py``)
+- **00:06.760**: :ref:`sphx_glr_tutorials_optimize_opt_conv_cuda.py` (``opt_conv_cuda.py``)
+- **00:04.174**: :ref:`sphx_glr_tutorials_optimize_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``)
+- **00:00.209**: :ref:`sphx_glr_tutorials_optimize_opt_matmul_auto_tensorcore.py` (``opt_matmul_auto_tensorcore.py``)
diff --git a/docs/_sources/tutorials/topi/intro_topi.rst.txt b/docs/_sources/tutorials/topi/intro_topi.rst.txt
index 892413d..db913e1 100644
--- a/docs/_sources/tutorials/topi/intro_topi.rst.txt
+++ b/docs/_sources/tutorials/topi/intro_topi.rst.txt
@@ -231,7 +231,7 @@ As you can see, scheduled stages of computation have been accumulated and we can
 
  .. code-block:: none
 
-    [stage(a, placeholder(a, 0x17ac5a100)), stage(b, placeholder(b, 0x17adf8a70)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range( [...]
+    [stage(a, placeholder(a, 0x19240bd60)), stage(b, placeholder(b, 0x192601880)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range( [...]
 
 
 
diff --git a/docs/_sources/tutorials/topi/sg_execution_times.rst.txt b/docs/_sources/tutorials/topi/sg_execution_times.rst.txt
index 28ad70c..c950324 100644
--- a/docs/_sources/tutorials/topi/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorials/topi/sg_execution_times.rst.txt
@@ -5,6 +5,6 @@
 
 Computation times
 =================
-**00:00.678** total execution time for **tutorials_topi** files:
+**00:00.637** total execution time for **tutorials_topi** files:
 
-- **00:00.678**: :ref:`sphx_glr_tutorials_topi_intro_topi.py` (``intro_topi.py``)
+- **00:00.637**: :ref:`sphx_glr_tutorials_topi_intro_topi.py` (``intro_topi.py``)
diff --git a/docs/_sources/vta/tutorials/autotvm/sg_execution_times.rst.txt b/docs/_sources/vta/tutorials/autotvm/sg_execution_times.rst.txt
index 1668065..c6d30bb 100644
--- a/docs/_sources/vta/tutorials/autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/vta/tutorials/autotvm/sg_execution_times.rst.txt
@@ -5,6 +5,6 @@
 
 Computation times
 =================
-**00:08.386** total execution time for **vta_tutorials_autotvm** files:
+**00:07.632** total execution time for **vta_tutorials_autotvm** files:
 
-- **00:08.386**: :ref:`sphx_glr_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``)
+- **00:07.632**: :ref:`sphx_glr_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``)
diff --git a/docs/_sources/vta/tutorials/autotvm/tune_relay_vta.rst.txt b/docs/_sources/vta/tutorials/autotvm/tune_relay_vta.rst.txt
index 35ba692..361c6c8 100644
--- a/docs/_sources/vta/tutorials/autotvm/tune_relay_vta.rst.txt
+++ b/docs/_sources/vta/tutorials/autotvm/tune_relay_vta.rst.txt
@@ -497,7 +497,7 @@ Finally, we launch tuning jobs and evaluate the end-to-end performance.
  .. code-block:: none
 
     Extract tasks...
-
    ...1%, 0.01 MB, 39 KB/s, 0 seconds passed
    ...2%, 0.02 MB, 78 KB/s, 0 seconds passed
    ...3%, 0.02 MB, 117 KB/s, 0 seconds passed
    ...4%, 0.03 MB, 156 KB/s, 0 seconds passed
    ...5%, 0.04 MB, 195 KB/s, 0 seconds passed
    ...6%, 0.05 MB, 233 KB/s, 0 seconds passed
    ...7%, 0.05 MB, 272 KB/s, 0 seconds passed
    ...8%, 0.06 MB, 310 KB/s, 0 seconds passed
    ...9%, 0.07 MB, 348 KB/s, 0 seconds passed
    ...10%, 0.08 MB, 387 KB/s, 0 seconds passed
    ...11%, 0.09 MB, 425 KB/s, 0 seconds passed
    ...13%, 0.09 MB, 463 KB/s, 0 seconds passed
    ...14%, 0.10 MB, 501 KB/s, 0 seconds passed
    ...15%, 0.11 MB, 539 KB/s, 0 seconds passed
    ...16%, 0.12 MB, 577 KB/s, 0 seconds passed
    ...17%, 0.12 MB, 615 KB/s, 0 seconds passed
    ...18%, 0.13 MB, 653 KB/s, 0 seconds passed
    ...19%, 0.14 MB, 690 KB/s, 0 seconds passed
    ...20%, 0.15 MB, 728 KB/s, 0 seconds passed
    ...21%, 0.16 MB, 766 KB/s, 0 seconds passed
    ...22%, 0.16 MB, 804 KB/s, 0 seconds passed
 
    ...23%, 0.17 MB, 841 KB/s, 0 seconds passed
    ...24%, 0.18 MB, 879 KB/s, 0 seconds passed
    ...26%, 0.19 MB, 916 KB/s, 0 seconds passed
    ...27%, 0.20 MB, 953 KB/s, 0 seconds passed
    ...28%, 0.20 MB, 990 KB/s, 0 seconds passed
    ...29%, 0.21 MB, 1028 KB/s, 0 seconds passed
    ...30%, 0.22 MB, 1065 KB/s, 0 seconds passed
    ...31%, 0.23 MB, 1102 KB/s, 0 seconds passed
    ...32%, 0.23 MB, 1138 KB/s, 0 seconds passed
    ...33%, 0.24 MB, 1176 KB/s, 0 seconds passed
    ...34%, 0.25 MB, 1213 KB/s, 0 seconds passed
    ...35%, 0.26 MB, 1250 KB/s, 0 seconds passed
    ...36%, 0.27 MB, 1287 KB/s, 0 seconds passed
    ...38%, 0.27 MB, 1324 KB/s, 0 seconds passed
    ...39%, 0.28 MB, 1360 KB/s, 0 seconds passed
    ...40%, 0.29 MB, 1397 KB/s, 0 seconds passed
    ...41%, 0.30 MB, 1434 KB/s, 0 seconds passed
    ...42%, 0.30 MB, 1471 KB/s, 0 seconds passed
    ...43%, 0.31 MB, 1507 KB/s, 0 seconds passed
    ...44%, 0.32 MB, 1544 KB/s, 0 seconds passed
    ...45%, 0.33 MB, 
 1580 KB/s, 0 seconds passed
    ...46%, 0.34 MB, 1617 KB/s, 0 seconds passed
    ...47%, 0.34 MB, 1653 KB/s, 0 seconds passed
    ...48%, 0.35 MB, 1689 KB/s, 0 seconds passed
    ...49%, 0.36 MB, 1724 KB/s, 0 seconds passed
    ...51%, 0.37 MB, 1761 KB/s, 0 seconds passed
    ...52%, 0.38 MB, 1797 KB/s, 0 seconds passed
    ...53%, 0.38 MB, 1833 KB/s, 0 seconds passed
    ...54%, 0.39 MB, 1869 KB/s, 0 seconds passed
    ...55%, 0.40 MB, 1905 KB/s, 0 seconds passed
    ...56%, 0.41 MB, 1941 KB/s, 0 seconds passed
    ...57%, 0.41 MB, 1977 KB/s, 0 seconds passed
    ...58%, 0.42 MB, 2012 KB/s, 0 seconds passed
    ...59%, 0.43 MB, 2048 KB/s, 0 seconds passed
    ...60%, 0.44 MB, 2084 KB/s, 0 seconds passed
    ...61%, 0.45 MB, 2120 KB/s, 0 seconds passed
    ...63%, 0.45 MB, 2155 KB/s, 0 seconds passed
    ...64%, 0.46 MB, 2191 KB/s, 0 seconds passed
    ...65%, 0.47 MB, 2227 KB/s, 0 seconds passed
    ...66%, 0.48 MB, 2261 KB/s, 0 seconds passed
    ...67%, 0.48 MB, 2296 KB/s, 0 seco
 nds passed
    ...68%, 0.49 MB, 2331 KB/s, 0 seconds passed
    ...69%, 0.50 MB, 2367 KB/s, 0 seconds passed
    ...70%, 0.51 MB, 2402 KB/s, 0 seconds passed
    ...71%, 0.52 MB, 2437 KB/s, 0 seconds passed
    ...72%, 0.52 MB, 2472 KB/s, 0 seconds passed
    ...73%, 0.53 MB, 2507 KB/s, 0 seconds passed
    ...74%, 0.54 MB, 2542 KB/s, 0 seconds passed
    ...76%, 0.55 MB, 2577 KB/s, 0 seconds passed
    ...77%, 0.55 MB, 2612 KB/s, 0 seconds passed
    ...78%, 0.56 MB, 2647 KB/s, 0 seconds passed
    ...79%, 0.57 MB, 2682 KB/s, 0 seconds passed
    ...80%, 0.58 MB, 2717 KB/s, 0 seconds passed
    ...81%, 0.59 MB, 2752 KB/s, 0 seconds passed
    ...82%, 0.59 MB, 2787 KB/s, 0 seconds passed
    ...83%, 0.60 MB, 2821 KB/s, 0 seconds passed
    ...84%, 0.61 MB, 2855 KB/s, 0 seconds passed
    ...85%, 0.62 MB, 2890 KB/s, 0 seconds passed
    ...86%, 0.62 MB, 2924 KB/s, 0 seconds passed
    ...87%, 0.63 MB, 2959 KB/s, 0 seconds passed
    ...89%, 0.64 MB, 2993 KB/s, 0 seconds passed
    ..
 .90%, 0.65 MB, 3028 KB/s, 0 seconds passed
    ...91%, 0.66 MB, 3062 KB/s, 0 seconds passed
    ...92%, 0.66 MB, 3096 KB/s, 0 seconds passed
    ...93%, 0.67 MB, 3131 KB/s, 0 seconds passed
    ...94%, 0.68 MB, 3165 KB/s, 0 seconds passed
    ...95%, 0.69 MB, 3199 KB/s, 0 seconds passed
    ...96%, 0.70 MB, 3233 KB/s, 0 seconds passed
    ...97%, 0.70 MB, 3268 KB/s, 0 seconds passed
    ...98%, 0.71 MB, 3302 KB/s, 0 seconds passed
    ...99%, 0.72 MB, 3336 KB/s, 0 seconds passed
    ...100%, 0.73 MB, 3369 KB/s, 0 seconds passed
+
    ...1%, 0.01 MB, 45 KB/s, 0 seconds passed
    ...2%, 0.02 MB, 90 KB/s, 0 seconds passed
    ...3%, 0.02 MB, 134 KB/s, 0 seconds passed
    ...4%, 0.03 MB, 179 KB/s, 0 seconds passed
    ...5%, 0.04 MB, 217 KB/s, 0 seconds passed
    ...6%, 0.05 MB, 260 KB/s, 0 seconds passed
    ...7%, 0.05 MB, 303 KB/s, 0 seconds passed
    ...8%, 0.06 MB, 346 KB/s, 0 seconds passed
    ...9%, 0.07 MB, 390 KB/s, 0 seconds passed
    ...10%, 0.08 MB, 431 KB/s, 0 seconds passed
    ...11%, 0.09 MB, 474 KB/s, 0 seconds passed
    ...13%, 0.09 MB, 515 KB/s, 0 seconds passed
    ...14%, 0.10 MB, 558 KB/s, 0 seconds passed
    ...15%, 0.11 MB, 589 KB/s, 0 seconds passed
    ...16%, 0.12 MB, 630 KB/s, 0 seconds passed
    ...17%, 0.12 MB, 671 KB/s, 0 seconds passed
    ...18%, 0.13 MB, 713 KB/s, 0 seconds passed
    ...19%, 0.14 MB, 754 KB/s, 0 seconds passed
    ...20%, 0.15 MB, 793 KB/s, 0 seconds passed
    ...21%, 0.16 MB, 834 KB/s, 0 seconds passed
    ...22%, 0.16 MB, 875 KB/s, 0 seconds passed
 
    ...23%, 0.17 MB, 917 KB/s, 0 seconds passed
    ...24%, 0.18 MB, 955 KB/s, 0 seconds passed
    ...26%, 0.19 MB, 995 KB/s, 0 seconds passed
    ...27%, 0.20 MB, 1036 KB/s, 0 seconds passed
    ...28%, 0.20 MB, 1077 KB/s, 0 seconds passed
    ...29%, 0.21 MB, 1118 KB/s, 0 seconds passed
    ...30%, 0.22 MB, 1156 KB/s, 0 seconds passed
    ...31%, 0.23 MB, 1196 KB/s, 0 seconds passed
    ...32%, 0.23 MB, 1237 KB/s, 0 seconds passed
    ...33%, 0.24 MB, 1278 KB/s, 0 seconds passed
    ...34%, 0.25 MB, 1316 KB/s, 0 seconds passed
    ...35%, 0.26 MB, 1341 KB/s, 0 seconds passed
    ...36%, 0.27 MB, 1379 KB/s, 0 seconds passed
    ...38%, 0.27 MB, 1419 KB/s, 0 seconds passed
    ...39%, 0.28 MB, 1458 KB/s, 0 seconds passed
    ...40%, 0.29 MB, 1498 KB/s, 0 seconds passed
    ...41%, 0.30 MB, 1538 KB/s, 0 seconds passed
    ...42%, 0.30 MB, 1578 KB/s, 0 seconds passed
    ...43%, 0.31 MB, 1614 KB/s, 0 seconds passed
    ...44%, 0.32 MB, 1654 KB/s, 0 seconds passed
    ...45%, 0.33 MB
 , 1692 KB/s, 0 seconds passed
    ...46%, 0.34 MB, 1732 KB/s, 0 seconds passed
    ...47%, 0.34 MB, 1771 KB/s, 0 seconds passed
    ...48%, 0.35 MB, 1811 KB/s, 0 seconds passed
    ...49%, 0.36 MB, 1850 KB/s, 0 seconds passed
    ...51%, 0.37 MB, 1885 KB/s, 0 seconds passed
    ...52%, 0.38 MB, 1923 KB/s, 0 seconds passed
    ...53%, 0.38 MB, 1962 KB/s, 0 seconds passed
    ...54%, 0.39 MB, 2002 KB/s, 0 seconds passed
    ...55%, 0.40 MB, 2041 KB/s, 0 seconds passed
    ...56%, 0.41 MB, 2080 KB/s, 0 seconds passed
    ...57%, 0.41 MB, 2119 KB/s, 0 seconds passed
    ...58%, 0.42 MB, 2157 KB/s, 0 seconds passed
    ...59%, 0.43 MB, 2195 KB/s, 0 seconds passed
    ...60%, 0.44 MB, 2234 KB/s, 0 seconds passed
    ...61%, 0.45 MB, 2273 KB/s, 0 seconds passed
    ...63%, 0.45 MB, 2312 KB/s, 0 seconds passed
    ...64%, 0.46 MB, 2350 KB/s, 0 seconds passed
    ...65%, 0.47 MB, 2389 KB/s, 0 seconds passed
    ...66%, 0.48 MB, 2427 KB/s, 0 seconds passed
    ...67%, 0.48 MB, 2465 KB/s, 0 se
 conds passed
    ...68%, 0.49 MB, 2477 KB/s, 0 seconds passed
    ...69%, 0.50 MB, 2515 KB/s, 0 seconds passed
    ...70%, 0.51 MB, 2554 KB/s, 0 seconds passed
    ...71%, 0.52 MB, 2592 KB/s, 0 seconds passed
    ...72%, 0.52 MB, 2629 KB/s, 0 seconds passed
    ...73%, 0.53 MB, 2666 KB/s, 0 seconds passed
    ...74%, 0.54 MB, 2704 KB/s, 0 seconds passed
    ...76%, 0.55 MB, 2742 KB/s, 0 seconds passed
    ...77%, 0.55 MB, 2773 KB/s, 0 seconds passed
    ...78%, 0.56 MB, 2810 KB/s, 0 seconds passed
    ...79%, 0.57 MB, 2848 KB/s, 0 seconds passed
    ...80%, 0.58 MB, 2886 KB/s, 0 seconds passed
    ...81%, 0.59 MB, 2923 KB/s, 0 seconds passed
    ...82%, 0.59 MB, 2960 KB/s, 0 seconds passed
    ...83%, 0.60 MB, 2997 KB/s, 0 seconds passed
    ...84%, 0.61 MB, 3027 KB/s, 0 seconds passed
    ...85%, 0.62 MB, 3065 KB/s, 0 seconds passed
    ...86%, 0.62 MB, 3102 KB/s, 0 seconds passed
    ...87%, 0.63 MB, 3138 KB/s, 0 seconds passed
    ...89%, 0.64 MB, 3175 KB/s, 0 seconds passed
    
 ...90%, 0.65 MB, 3213 KB/s, 0 seconds passed
    ...91%, 0.66 MB, 3250 KB/s, 0 seconds passed
    ...92%, 0.66 MB, 3287 KB/s, 0 seconds passed
    ...93%, 0.67 MB, 3320 KB/s, 0 seconds passed
    ...94%, 0.68 MB, 3357 KB/s, 0 seconds passed
    ...95%, 0.69 MB, 3394 KB/s, 0 seconds passed
    ...96%, 0.70 MB, 3431 KB/s, 0 seconds passed
    ...97%, 0.70 MB, 3468 KB/s, 0 seconds passed
    ...98%, 0.71 MB, 3505 KB/s, 0 seconds passed
    ...99%, 0.72 MB, 3537 KB/s, 0 seconds passed
    ...100%, 0.73 MB, 3572 KB/s, 0 seconds passed
     Extracted 10 conv2d tasks:
     (1, 14, 14, 256, 512, 1, 1, 0, 0, 2, 2)
     (1, 28, 28, 128, 256, 1, 1, 0, 0, 2, 2)
diff --git a/docs/_sources/vta/tutorials/frontend/deploy_classification.rst.txt b/docs/_sources/vta/tutorials/frontend/deploy_classification.rst.txt
index 195dc13..39372d7 100644
--- a/docs/_sources/vta/tutorials/frontend/deploy_classification.rst.txt
+++ b/docs/_sources/vta/tutorials/frontend/deploy_classification.rst.txt
@@ -243,8 +243,8 @@ The compilation steps are:
 
  .. code-block:: none
 
-
    ...12%, 0.01 MB, 35 KB/s, 0 seconds passed
    ...25%, 0.02 MB, 70 KB/s, 0 seconds passed
    ...38%, 0.02 MB, 105 KB/s, 0 seconds passed
    ...51%, 0.03 MB, 140 KB/s, 0 seconds passed
    ...64%, 0.04 MB, 175 KB/s, 0 seconds passed
    ...77%, 0.05 MB, 210 KB/s, 0 seconds passed
    ...89%, 0.05 MB, 245 KB/s, 0 seconds passed
    ...100%, 0.06 MB, 280 KB/s, 0 seconds passed
-    resnet18_v1 inference graph built in 9.87s!
+
    ...12%, 0.01 MB, 40 KB/s, 0 seconds passed
    ...25%, 0.02 MB, 80 KB/s, 0 seconds passed
    ...38%, 0.02 MB, 119 KB/s, 0 seconds passed
    ...51%, 0.03 MB, 159 KB/s, 0 seconds passed
    ...64%, 0.04 MB, 193 KB/s, 0 seconds passed
    ...77%, 0.05 MB, 231 KB/s, 0 seconds passed
    ...89%, 0.05 MB, 269 KB/s, 0 seconds passed
    ...100%, 0.06 MB, 308 KB/s, 0 seconds passed
+    resnet18_v1 inference graph built in 8.30s!
 
 
 
diff --git a/docs/_sources/vta/tutorials/frontend/sg_execution_times.rst.txt b/docs/_sources/vta/tutorials/frontend/sg_execution_times.rst.txt
index 370bf4d..302ecb7 100644
--- a/docs/_sources/vta/tutorials/frontend/sg_execution_times.rst.txt
+++ b/docs/_sources/vta/tutorials/frontend/sg_execution_times.rst.txt
@@ -5,6 +5,6 @@
 
 Computation times
 =================
-**00:34.487** total execution time for **vta_tutorials_frontend** files:
+**00:29.417** total execution time for **vta_tutorials_frontend** files:
 
-- **00:34.487**: :ref:`sphx_glr_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``)
+- **00:29.417**: :ref:`sphx_glr_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``)
diff --git a/docs/_sources/vta/tutorials/matrix_multiply.rst.txt b/docs/_sources/vta/tutorials/matrix_multiply.rst.txt
index aa5bdcc..4331499 100644
--- a/docs/_sources/vta/tutorials/matrix_multiply.rst.txt
+++ b/docs/_sources/vta/tutorials/matrix_multiply.rst.txt
@@ -535,8 +535,8 @@ by the VTA runtime JIT compiler.
 
     primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"global_symbol": "main", "tir.noalias": True}
-      buffers = {C: Buffer(C_2: Pointer(int8), int8, [1, 16, 1, 16], []),
-                 B: Buffer(B_2: Pointer(int8), int8, [16, 16, 16, 16], []),
+      buffers = {B: Buffer(B_2: Pointer(int8), int8, [16, 16, 16, 16], []),
+                 C: Buffer(C_2: Pointer(int8), int8, [1, 16, 1, 16], []),
                  A: Buffer(A_2: Pointer(int8), int8, [1, 16, 1, 16], [])}
       buffer_map = {A_1: A, B_1: B, C_1: C} {
       attr [C_buf: Pointer(int32)] "storage_scope" = "local.acc_buffer";
diff --git a/docs/_sources/vta/tutorials/optimize/sg_execution_times.rst.txt b/docs/_sources/vta/tutorials/optimize/sg_execution_times.rst.txt
index a056bb3..2380f5a 100644
--- a/docs/_sources/vta/tutorials/optimize/sg_execution_times.rst.txt
+++ b/docs/_sources/vta/tutorials/optimize/sg_execution_times.rst.txt
@@ -5,7 +5,7 @@
 
 Computation times
 =================
-**00:04.658** total execution time for **vta_tutorials_optimize** files:
+**00:03.707** total execution time for **vta_tutorials_optimize** files:
 
-- **00:03.936**: :ref:`sphx_glr_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)
-- **00:00.722**: :ref:`sphx_glr_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``)
+- **00:03.183**: :ref:`sphx_glr_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)
+- **00:00.524**: :ref:`sphx_glr_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``)
diff --git a/docs/_sources/vta/tutorials/sg_execution_times.rst.txt b/docs/_sources/vta/tutorials/sg_execution_times.rst.txt
index 1841fa6..9cc5026 100644
--- a/docs/_sources/vta/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/vta/tutorials/sg_execution_times.rst.txt
@@ -5,7 +5,7 @@
 
 Computation times
 =================
-**00:00.845** total execution time for **vta_tutorials** files:
+**00:00.980** total execution time for **vta_tutorials** files:
 
-- **00:00.451**: :ref:`sphx_glr_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``)
-- **00:00.394**: :ref:`sphx_glr_vta_tutorials_vta_get_started.py` (``vta_get_started.py``)
+- **00:00.491**: :ref:`sphx_glr_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``)
+- **00:00.489**: :ref:`sphx_glr_vta_tutorials_vta_get_started.py` (``vta_get_started.py``)
diff --git a/docs/_sources/vta/tutorials/vta_get_started.rst.txt b/docs/_sources/vta/tutorials/vta_get_started.rst.txt
index ec845bc..b90d68a 100644
--- a/docs/_sources/vta/tutorials/vta_get_started.rst.txt
+++ b/docs/_sources/vta/tutorials/vta_get_started.rst.txt
@@ -423,8 +423,8 @@ with an :code:`env.alu` pragma.
 
     primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"global_symbol": "main", "tir.noalias": True}
-      buffers = {C: Buffer(C_2: Pointer(int8), int8, [1, 64, 1, 16], []),
-                 B: Buffer(B_2: Pointer(int32), int32, [1, 64, 1, 16], []),
+      buffers = {B: Buffer(B_2: Pointer(int32), int32, [1, 64, 1, 16], []),
+                 C: Buffer(C_2: Pointer(int8), int8, [1, 64, 1, 16], []),
                  A: Buffer(A_2: Pointer(int32), int32, [1, 64, 1, 16], [])}
       buffer_map = {A_1: A, B_1: B, C_1: C} {
       attr [A_buf: Pointer(int32)] "storage_scope" = "local.acc_buffer" {
diff --git a/docs/api/doxygen/annotated.html b/docs/api/doxygen/annotated.html
index 5c2cf44..7654691 100644
--- a/docs/api/doxygen/annotated.html
+++ b/docs/api/doxygen/annotated.html
@@ -267,201 +267,203 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <tr id="row_1_4_9_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ArgsortAttrs.html" target="_self">ArgsortAttrs</a></td><td class="desc">Attributes used in argsort operators </td></tr>
 <tr id="row_1_4_10_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1AttrPattern.html" target="_self">AttrPattern</a></td><td class="desc">A pattern which matches attributes in another pattern </td></tr>
 <tr id="row_1_4_11_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1AttrPatternNode.html" target="_self">AttrPatternNode</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 Attributes </td></tr>
-<tr id="row_1_4_12_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1AvgPool1DAttrs.html" target="_self">AvgPool1DAttrs</a></td><td class="desc">Attributes for 1D avg pool operator </td></tr>
-<tr id="row_1_4_13_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1AvgPool2DAttrs.html" target="_self">AvgPool2DAttrs</a></td><td class="desc">Attributes for avg pool operator </td></tr>
-<tr id="row_1_4_14_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1AvgPool3DAttrs.html" target="_self">AvgPool3DAttrs</a></td><td class="desc">Attributes for 3D avg pool operator </td></tr>
-<tr id="row_1_4_15_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1BatchNormAttrs.html" target="_self">BatchNormAttrs</a></td><td class="desc">Attributes used in batch_norm operator </td></tr>
-<tr id="row_1_4_16_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1BatchToSpaceNDAttrs.html" target="_self">BatchToSpaceNDAttrs</a></td><td class="desc">Attributes used in BatchToSpaceND operator </td></tr>
-<tr id="row_1_4_17_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1BiasAddAttrs.html" target="_self">BiasAddAttrs</a></td><td class="desc">Add a 1D Tensor to an axis of a data </td></tr>
-<tr id="row_1_4_18_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1BinaryConv2DAttrs.html" target="_self">BinaryConv2DAttrs</a></td><td class="desc">Attribues used in bitserial convolution operators </td></tr>
-<tr id="row_1_4_19_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1BinaryDenseAttrs.html" target="_self">BinaryDenseAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_20_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1BitPackAttrs.html" target="_self">BitPackAttrs</a></td><td class="desc">Attributes used in bitpack operators </td></tr>
-<tr id="row_1_4_21_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Call.html" target="_self">Call</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_22_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1CallNode.html" target="_self">CallNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Call.html">Call</a> container </td></tr>
-<tr id="row_1_4_23_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1CallPattern.html" target="_self">CallPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_24_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1CallPatternNode.html" target="_self">CallPatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1CallPattern.html">CallPattern</a> container </td></tr>
-<tr id="row_1_4_25_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1CastAttrs.html" target="_self">CastAttrs</a></td><td class="desc">Data type cast </td></tr>
-<tr id="row_1_4_26_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1CastHintAttrs.html" target="_self">CastHintAttrs</a></td><td class="desc">Annotate an expression to be cast into specific data type </td></tr>
-<tr id="row_1_4_27_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Clause.html" target="_self">Clause</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_28_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ClauseNode.html" target="_self">ClauseNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Clause.html">Clause</a> container node </td></tr>
-<tr id="row_1_4_29_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ClipAttrs.html" target="_self">ClipAttrs</a></td><td class="desc">Attributes for Clip operator </td></tr>
-<tr id="row_1_4_30_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1CompilerAttrs.html" target="_self">CompilerAttrs</a></td><td class="desc">Options for the operators used to annotate a compiler </td></tr>
-<tr id="row_1_4_31_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ConcatenateAttrs.html" target="_self">ConcatenateAttrs</a></td><td class="desc">Attributes used in concatenate operators </td></tr>
-<tr id="row_1_4_32_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Constant.html" target="_self">Constant</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_33_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ConstantNode.html" target="_self">ConstantNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Constant.html">Constant</a> tensor type </td></tr>
-<tr id="row_1_4_34_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ConstantPattern.html" target="_self">ConstantPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_35_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ConstantPatternNode.html" target="_self">ConstantPatternNode</a></td><td class="desc">Container for <a class="el" href="classtvm_1_1relay_1_1Constant.html">Constant</a> </td></tr>
-<tr id="row_1_4_36_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ConstructorValue.html" target="_self">ConstructorValue</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_37_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ConstructorValueObj.html" target="_self">ConstructorValueObj</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_38_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv1DAttrs.html" target="_self">Conv1DAttrs</a></td><td class="desc">Attributes used in 1D convolution operators </td></tr>
-<tr id="row_1_4_39_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv1DTransposeAttrs.html" target="_self">Conv1DTransposeAttrs</a></td><td class="desc">Attributes used in 1D transposed convolution operator </td></tr>
-<tr id="row_1_4_40_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv2DAttrs.html" target="_self">Conv2DAttrs</a></td><td class="desc">Attributes used in convolution operators </td></tr>
-<tr id="row_1_4_41_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv2DTransposeAttrs.html" target="_self">Conv2DTransposeAttrs</a></td><td class="desc">Attributes used in transposed convolution operator </td></tr>
-<tr id="row_1_4_42_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradAttrs.html" target="_self">Conv2DWinogradAttrs</a></td><td class="desc">Attributes used in convolution operators with winograd algorithm </td></tr>
-<tr id="row_1_4_43_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradNNPACKWeightTransformAttrs.html" target="_self">Conv2DWinogradNNPACKWeightTransformAttrs</a></td><td class="desc">Attributes used in winograd weight transformation operators </td></tr>
-<tr id="row_1_4_44_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv3DAttrs.html" target="_self">Conv3DAttrs</a></td><td class="desc">Attributes used in convolution operators </td></tr>
-<tr id="row_1_4_45_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv3DTransposeAttrs.html" target="_self">Conv3DTransposeAttrs</a></td><td class="desc">Attributes used in transposed convolution operator </td></tr>
-<tr id="row_1_4_46_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv3DWinogradAttrs.html" target="_self">Conv3DWinogradAttrs</a></td><td class="desc">Attributes used in 3d winograd convolution operators </td></tr>
-<tr id="row_1_4_47_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ConvGemmWeightTransformAttrs.html" target="_self">ConvGemmWeightTransformAttrs</a></td><td class="desc">Attributes used in gemm weight transformation operators </td></tr>
-<tr id="row_1_4_48_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ConvWinogradWeightTransformAttrs.html" target="_self">ConvWinogradWeightTransformAttrs</a></td><td class="desc">Attributes used in winograd weight transformation operators </td></tr>
-<tr id="row_1_4_49_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1CorrelationAttrs.html" target="_self">CorrelationAttrs</a></td><td class="desc">Attributes used in correlation operators </td></tr>
-<tr id="row_1_4_50_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1CropAndResizeAttrs.html" target="_self">CropAndResizeAttrs</a></td><td class="desc">Attributes used in image crop_and_resize operator </td></tr>
-<tr id="row_1_4_51_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DataTypePattern.html" target="_self">DataTypePattern</a></td><td class="desc">A pattern which matches a type in another pattern </td></tr>
-<tr id="row_1_4_52_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DataTypePatternNode.html" target="_self">DataTypePatternNode</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_4_53_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DebugAttrs.html" target="_self">DebugAttrs</a></td><td class="desc">Options for the debug operators </td></tr>
-<tr id="row_1_4_54_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DeformableConv2DAttrs.html" target="_self">DeformableConv2DAttrs</a></td><td class="desc">Attributes for DeformableConv2D operator </td></tr>
-<tr id="row_1_4_55_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DenseAttrs.html" target="_self">DenseAttrs</a></td><td class="desc">Attributes for dense operator </td></tr>
-<tr id="row_1_4_56_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DeviceCopyAttrs.html" target="_self">DeviceCopyAttrs</a></td><td class="desc">Options for the device copy operators </td></tr>
-<tr id="row_1_4_57_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPattern.html" target="_self">DFPattern</a></td><td class="desc">Managed reference to dataflow patterns </td></tr>
-<tr id="row_1_4_58_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPatternCallback.html" target="_self">DFPatternCallback</a></td><td class="desc">Managed reference to dataflow pattern callbacks </td></tr>
-<tr id="row_1_4_59_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPatternCallbackNode.html" target="_self">DFPatternCallbackNode</a></td><td class="desc">Base type of all dataflow pattern callbacks </td></tr>
-<tr id="row_1_4_60_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor.html" target="_self">DFPatternFunctor</a></td><td class="desc">A dynamical functor that dispatches on in the first <a class="el" href="classtvm_1_1relay_1_1DFPattern.html" title="Managed reference to dataflow patterns. ">DFPattern</a> argument </ [...]
-<tr id="row_1_4_61_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html" target="_self">DFPatternFunctor&lt; R(const DFPattern &amp;n, Args...)&gt;</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_62_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPatternNode.html" target="_self">DFPatternNode</a></td><td class="desc">Base type of all dataflow patterns </td></tr>
-<tr id="row_1_4_63_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_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_4_64_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DilateAttrs.html" target="_self">DilateAttrs</a></td><td class="desc">Attributes used in dilate operator </td></tr>
-<tr id="row_1_4_65_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_66_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_67_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_68_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html" target="_self">DropoutAttrs</a></td><td class="desc">Attributes used in dropout operator </td></tr>
-<tr id="row_1_4_69_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ExpandDimsAttrs.html" target="_self">ExpandDimsAttrs</a></td><td class="desc">Attributes used in expand_dims operators </td></tr>
-<tr id="row_1_4_70_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_71_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html" target="_self">ExprFunctor&lt; R(const Expr &amp;n, Args...)&gt;</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_72_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_73_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprPattern.html" target="_self">ExprPattern</a></td><td class="desc">A pattern which matches a literal expression </td></tr>
-<tr id="row_1_4_74_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_75_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprRewriter.html" target="_self">ExprRewriter</a></td><td class="desc">A non-iterating Expression Rewriter </td></tr>
-<tr id="row_1_4_76_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_77_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1FeatureSet.html" target="_self">FeatureSet</a></td><td class="desc">A finite set of Feature </td></tr>
-<tr id="row_1_4_78_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FIFOBufferAttrs.html" target="_self">FIFOBufferAttrs</a></td><td class="desc">Attributes for FIFO buffer operator </td></tr>
-<tr id="row_1_4_79_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyAttrs.html" target="_self">FixedPointMultiplyAttrs</a></td><td class="desc">Attributes for FixedPointMultiply operator </td></tr>
-<tr id="row_1_4_80_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_81_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_82_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GatherAttrs.html" target="_self">GatherAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_83_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GetValidCountsAttrs.html" target="_self">GetValidCountsAttrs</a></td><td class="desc">Attributes used in get_valid_counts operator </td></tr>
-<tr id="row_1_4_84_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GlobalPool2DAttrs.html" target="_self">GlobalPool2DAttrs</a></td><td class="desc">Attributes for global pool operator </td></tr>
-<tr id="row_1_4_85_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GridSampleAttrs.html" target="_self">GridSampleAttrs</a></td><td class="desc">Attributes used in image grid_sample operator </td></tr>
-<tr id="row_1_4_86_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GroupNormAttrs.html" target="_self">GroupNormAttrs</a></td><td class="desc">Attributes used in group_norm operator </td></tr>
-<tr id="row_1_4_87_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Id.html" target="_self">Id</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_88_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1IdNode.html" target="_self">IdNode</a></td><td class="desc">The unique identifier of variables </td></tr>
-<tr id="row_1_4_89_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1If.html" target="_self">If</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_90_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_91_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1InitOpAttrs.html" target="_self">InitOpAttrs</a></td><td class="desc">Attributes that specify a tensor </td></tr>
-<tr id="row_1_4_92_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1InstanceNormAttrs.html" target="_self">InstanceNormAttrs</a></td><td class="desc">Attributes used in instance_norm operator </td></tr>
-<tr id="row_1_4_93_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1InterpreterClosure.html" target="_self">InterpreterClosure</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_94_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_95_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1L2NormalizeAttrs.html" target="_self">L2NormalizeAttrs</a></td><td class="desc">Attributes for L2Normalize operator </td></tr>
-<tr id="row_1_4_96_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LayerNormAttrs.html" target="_self">LayerNormAttrs</a></td><td class="desc">Attributes used in layer_norm operator </td></tr>
-<tr id="row_1_4_97_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LayoutTransformAttrs.html" target="_self">LayoutTransformAttrs</a></td><td class="desc">Attributes for LayoutTransform operator </td></tr>
-<tr id="row_1_4_98_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LeakyReluAttrs.html" target="_self">LeakyReluAttrs</a></td><td class="desc">Attributes for leaky relu operator </td></tr>
-<tr id="row_1_4_99_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Let.html" target="_self">Let</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_100_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1LetNode.html" target="_self">LetNode</a></td><td class="desc">A binding of a sub-network </td></tr>
-<tr id="row_1_4_101_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LRNAttrs.html" target="_self">LRNAttrs</a></td><td class="desc">Attributes for LRN operator </td></tr>
-<tr id="row_1_4_102_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Match.html" target="_self">Match</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_103_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_104_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MatrixSetDiagAttrs.html" target="_self">MatrixSetDiagAttrs</a></td><td class="desc">Attributes used in matrix_set_diag operator </td></tr>
-<tr id="row_1_4_105_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool1DAttrs.html" target="_self">MaxPool1DAttrs</a></td><td class="desc">Attributes for 1D max pool operator </td></tr>
-<tr id="row_1_4_106_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool2DAttrs.html" target="_self">MaxPool2DAttrs</a></td><td class="desc">Attributes for max pool operator </td></tr>
-<tr id="row_1_4_107_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool3DAttrs.html" target="_self">MaxPool3DAttrs</a></td><td class="desc">Attributes for 3D max pool operator </td></tr>
-<tr id="row_1_4_108_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MeshgridAttrs.html" target="_self">MeshgridAttrs</a></td><td class="desc">Attributes used in meshgrid operators </td></tr>
-<tr id="row_1_4_109_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html" target="_self">MirrorPadAttrs</a></td><td class="desc">Attributes used for the MirrorPadding operator </td></tr>
-<tr id="row_1_4_110_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_111_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1MixedModeVisitor.html" target="_self">MixedModeVisitor</a></td><td class="desc">A wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html" title="A simple visitor wrapper around ExprFunctor. Recursively visit the content. ">ExprVisitor</a> which [...]
-<tr id="row_1_4_112_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html" target="_self">MultiBoxPriorAttrs</a></td><td class="desc">Attributes used in multibox_prior operators </td></tr>
-<tr id="row_1_4_113_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html" target="_self">MultiBoxTransformLocAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_114_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html" target="_self">NdarraySizeAttrs</a></td><td class="desc">Attributes for ndarray_size operator </td></tr>
-<tr id="row_1_4_115_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html" target="_self">NonMaximumSuppressionAttrs</a></td><td class="desc">Attributes used in non_maximum_suppression operator </td></tr>
-<tr id="row_1_4_116_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OnDeviceAttrs.html" target="_self">OnDeviceAttrs</a></td><td class="desc">Options for the device annotation operators </td></tr>
-<tr id="row_1_4_117_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OneHotAttrs.html" target="_self">OneHotAttrs</a></td><td class="desc">Attributes used in one-hot operator </td></tr>
-<tr id="row_1_4_118_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpImplementation.html" target="_self">OpImplementation</a></td><td class="desc">Operator implementation class </td></tr>
-<tr id="row_1_4_119_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpImplementationNode.html" target="_self">OpImplementationNode</a></td><td class="desc">Operator implementation that includes compute and schedule function </td></tr>
-<tr id="row_1_4_120_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpSpecialization.html" target="_self">OpSpecialization</a></td><td class="desc">Operator specialization class </td></tr>
-<tr id="row_1_4_121_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpSpecializationNode.html" target="_self">OpSpecializationNode</a></td><td class="desc">Specialized implementations for operators under certain conditions </td></tr>
-<tr id="row_1_4_122_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpStrategy.html" target="_self">OpStrategy</a></td><td class="desc">Operator strategy class </td></tr>
-<tr id="row_1_4_123_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpStrategyNode.html" target="_self">OpStrategyNode</a></td><td class="desc">Operator strategy to choose implementation </td></tr>
-<tr id="row_1_4_124_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PadAttrs.html" target="_self">PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
-<tr id="row_1_4_125_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Pattern.html" target="_self">Pattern</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> is the base type for an ADT match pattern in Relay </td></tr>
-<tr id="row_1_4_126_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternConstructor.html" target="_self">PatternConstructor</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_127_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternConstructorNode.html" target="_self">PatternConstructorNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> container node </td></tr>
-<tr id="row_1_4_128_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternFunctor.html" target="_self">PatternFunctor</a></td><td class="desc">A dynamical functor on ADT patterns that dispatches on its first argument. You can use this as a more powerful visitor, since it allows you to define the types of further arguments to Vi [...]
-<tr id="row_1_4_129_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html" target="_self">PatternFunctor&lt; R(const Pattern &amp;n, Args...)&gt;</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_130_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternMutator.html" target="_self">PatternMutator</a></td><td class="desc">A wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerfu.. [...]
-<tr id="row_1_4_131_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternNode.html" target="_self">PatternNode</a></td><td class="desc">Base type for declaring relay pattern </td></tr>
-<tr id="row_1_4_132_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternTuple.html" target="_self">PatternTuple</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_133_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_134_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternVar.html" target="_self">PatternVar</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_135_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_136_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_137_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html" target="_self">PatternWildcard</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_138_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_139_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PReluAttrs.html" target="_self">PReluAttrs</a></td><td class="desc">Attributes for prelu operator </td></tr>
-<tr id="row_1_4_140_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ProposalAttrs.html" target="_self">ProposalAttrs</a></td><td class="desc">Attributes used in proposal operators </td></tr>
-<tr id="row_1_4_141_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RecClosure.html" target="_self">RecClosure</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_142_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_143_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReduceAttrs.html" target="_self">ReduceAttrs</a></td><td class="desc">Attributes for Reduce operators </td></tr>
-<tr id="row_1_4_144_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefCreate.html" target="_self">RefCreate</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_145_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefCreateNode.html" target="_self">RefCreateNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_146_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefRead.html" target="_self">RefRead</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_147_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefReadNode.html" target="_self">RefReadNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_148_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefValue.html" target="_self">RefValue</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_149_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1RefValueObj.html" target="_self">RefValueObj</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_150_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefWrite.html" target="_self">RefWrite</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_151_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefWriteNode.html" target="_self">RefWriteNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_152_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_153_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_154_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_155_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_156_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_157_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_158_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ResizeAttrs.html" target="_self">ResizeAttrs</a></td><td class="desc">Attributes used in image resize operator </td></tr>
-<tr id="row_1_4_159_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_160_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_161_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_162_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIPoolAttrs.html" target="_self">ROIPoolAttrs</a></td><td class="desc">Attributes used in roi_pool operators </td></tr>
-<tr id="row_1_4_163_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterAddAttrs.html" target="_self">ScatterAddAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_164_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterAttrs.html" target="_self">ScatterAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_165_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SequenceMaskAttrs.html" target="_self">SequenceMaskAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_166_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeFuncAttrs.html" target="_self">ShapeFuncAttrs</a></td><td class="desc">Options for the shape function operator </td></tr>
-<tr id="row_1_4_167_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeOfAttrs.html" target="_self">ShapeOfAttrs</a></td><td class="desc">Attributes for ShapeOf operator </td></tr>
-<tr id="row_1_4_168_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_169_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_170_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SliceLikeAttrs.html" target="_self">SliceLikeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_171_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_172_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SpaceToBatchNDAttrs.html" target="_self">SpaceToBatchNDAttrs</a></td><td class="desc">Attributes used in SpaceToBatchND operator </td></tr>
-<tr id="row_1_4_173_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseDenseAttrs.html" target="_self">SparseDenseAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
-<tr id="row_1_4_174_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_175_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_176_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SplitAttrs.html" target="_self">SplitAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_177_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SqueezeAttrs.html" target="_self">SqueezeAttrs</a></td><td class="desc">Attributes used in squeeze operators </td></tr>
-<tr id="row_1_4_178_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StackAttrs.html" target="_self">StackAttrs</a></td><td class="desc">Attributes used in stack operators </td></tr>
-<tr id="row_1_4_179_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StridedSliceAttrs.html" target="_self">StridedSliceAttrs</a></td><td class="desc">Attributes for StridedSlice operator </td></tr>
-<tr id="row_1_4_180_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SubPixelAttrs.html" target="_self">SubPixelAttrs</a></td><td class="desc">Attributes used in subpixel operators </td></tr>
-<tr id="row_1_4_181_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TakeAttrs.html" target="_self">TakeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_182_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TempExpr.html" target="_self">TempExpr</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_183_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_184_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TileAttrs.html" target="_self">TileAttrs</a></td><td class="desc">Attributes used in tile operators </td></tr>
-<tr id="row_1_4_185_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TopKAttrs.html" target="_self">TopKAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_186_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TransposeAttrs.html" target="_self">TransposeAttrs</a></td><td class="desc">Attributes used in transpose operators </td></tr>
-<tr id="row_1_4_187_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Tuple.html" target="_self">Tuple</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_188_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItem.html" target="_self">TupleGetItem</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_189_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItemNode.html" target="_self">TupleGetItemNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_190_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItemPattern.html" target="_self">TupleGetItemPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_191_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItemPatternNode.html" target="_self">TupleGetItemPatternNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_192_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_193_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TuplePattern.html" target="_self">TuplePattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_194_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_195_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_196_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_197_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSampling3DAttrs.html" target="_self">UpSampling3DAttrs</a></td><td class="desc">Attributes for upsampling3d operator </td></tr>
-<tr id="row_1_4_198_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSamplingAttrs.html" target="_self">UpSamplingAttrs</a></td><td class="desc">Attributes for upsampling operator </td></tr>
-<tr id="row_1_4_199_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Var.html" target="_self">Var</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_200_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1VarianceAttrs.html" target="_self">VarianceAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_201_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_202_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1VarPattern.html" target="_self">VarPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_4_203_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_204_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1WildcardPattern.html" target="_self">WildcardPattern</a></td><td class="desc">A pattern which matches anything </td></tr>
-<tr id="row_1_4_205_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_206_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1YoloReorgAttrs.html" target="_self">YoloReorgAttrs</a></td><td class="desc">Attributes used in yolo reorg operators </td></tr>
+<tr id="row_1_4_12_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1AutoSchedulerLayoutTransformAttrs.html" target="_self">AutoSchedulerLayoutTransformAttrs</a></td><td class="desc">Attributes for AutoSchedulerLayoutTransform operator </td></tr>
+<tr id="row_1_4_13_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1AvgPool1DAttrs.html" target="_self">AvgPool1DAttrs</a></td><td class="desc">Attributes for 1D avg pool operator </td></tr>
+<tr id="row_1_4_14_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1AvgPool2DAttrs.html" target="_self">AvgPool2DAttrs</a></td><td class="desc">Attributes for avg pool operator </td></tr>
+<tr id="row_1_4_15_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1AvgPool3DAttrs.html" target="_self">AvgPool3DAttrs</a></td><td class="desc">Attributes for 3D avg pool operator </td></tr>
+<tr id="row_1_4_16_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1BatchNormAttrs.html" target="_self">BatchNormAttrs</a></td><td class="desc">Attributes used in batch_norm operator </td></tr>
+<tr id="row_1_4_17_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1BatchToSpaceNDAttrs.html" target="_self">BatchToSpaceNDAttrs</a></td><td class="desc">Attributes used in BatchToSpaceND operator </td></tr>
+<tr id="row_1_4_18_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1BiasAddAttrs.html" target="_self">BiasAddAttrs</a></td><td class="desc">Add a 1D Tensor to an axis of a data </td></tr>
+<tr id="row_1_4_19_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1BinaryConv2DAttrs.html" target="_self">BinaryConv2DAttrs</a></td><td class="desc">Attribues used in bitserial convolution operators </td></tr>
+<tr id="row_1_4_20_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1BinaryDenseAttrs.html" target="_self">BinaryDenseAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_21_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1BitPackAttrs.html" target="_self">BitPackAttrs</a></td><td class="desc">Attributes used in bitpack operators </td></tr>
+<tr id="row_1_4_22_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Call.html" target="_self">Call</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_23_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1CallNode.html" target="_self">CallNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Call.html">Call</a> container </td></tr>
+<tr id="row_1_4_24_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1CallPattern.html" target="_self">CallPattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_25_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1CallPatternNode.html" target="_self">CallPatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1CallPattern.html">CallPattern</a> container </td></tr>
+<tr id="row_1_4_26_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1CastAttrs.html" target="_self">CastAttrs</a></td><td class="desc">Data type cast </td></tr>
+<tr id="row_1_4_27_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1CastHintAttrs.html" target="_self">CastHintAttrs</a></td><td class="desc">Annotate an expression to be cast into specific data type </td></tr>
+<tr id="row_1_4_28_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Clause.html" target="_self">Clause</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_29_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ClauseNode.html" target="_self">ClauseNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Clause.html">Clause</a> container node </td></tr>
+<tr id="row_1_4_30_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ClipAttrs.html" target="_self">ClipAttrs</a></td><td class="desc">Attributes for Clip operator </td></tr>
+<tr id="row_1_4_31_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1CompilerAttrs.html" target="_self">CompilerAttrs</a></td><td class="desc">Options for the operators used to annotate a compiler </td></tr>
+<tr id="row_1_4_32_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ConcatenateAttrs.html" target="_self">ConcatenateAttrs</a></td><td class="desc">Attributes used in concatenate operators </td></tr>
+<tr id="row_1_4_33_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Constant.html" target="_self">Constant</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_34_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ConstantNode.html" target="_self">ConstantNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Constant.html">Constant</a> tensor type </td></tr>
+<tr id="row_1_4_35_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ConstantPattern.html" target="_self">ConstantPattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_36_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ConstantPatternNode.html" target="_self">ConstantPatternNode</a></td><td class="desc">Container for <a class="el" href="classtvm_1_1relay_1_1Constant.html">Constant</a> </td></tr>
+<tr id="row_1_4_37_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ConstructorValue.html" target="_self">ConstructorValue</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_38_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ConstructorValueObj.html" target="_self">ConstructorValueObj</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_39_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv1DAttrs.html" target="_self">Conv1DAttrs</a></td><td class="desc">Attributes used in 1D convolution operators </td></tr>
+<tr id="row_1_4_40_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv1DTransposeAttrs.html" target="_self">Conv1DTransposeAttrs</a></td><td class="desc">Attributes used in 1D transposed convolution operator </td></tr>
+<tr id="row_1_4_41_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv2DAttrs.html" target="_self">Conv2DAttrs</a></td><td class="desc">Attributes used in convolution operators </td></tr>
+<tr id="row_1_4_42_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv2DTransposeAttrs.html" target="_self">Conv2DTransposeAttrs</a></td><td class="desc">Attributes used in transposed convolution operator </td></tr>
+<tr id="row_1_4_43_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradAttrs.html" target="_self">Conv2DWinogradAttrs</a></td><td class="desc">Attributes used in convolution operators with winograd algorithm </td></tr>
+<tr id="row_1_4_44_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradNNPACKWeightTransformAttrs.html" target="_self">Conv2DWinogradNNPACKWeightTransformAttrs</a></td><td class="desc">Attributes used in winograd weight transformation operators </td></tr>
+<tr id="row_1_4_45_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv3DAttrs.html" target="_self">Conv3DAttrs</a></td><td class="desc">Attributes used in convolution operators </td></tr>
+<tr id="row_1_4_46_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv3DTransposeAttrs.html" target="_self">Conv3DTransposeAttrs</a></td><td class="desc">Attributes used in transposed convolution operator </td></tr>
+<tr id="row_1_4_47_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Conv3DWinogradAttrs.html" target="_self">Conv3DWinogradAttrs</a></td><td class="desc">Attributes used in 3d winograd convolution operators </td></tr>
+<tr id="row_1_4_48_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ConvGemmWeightTransformAttrs.html" target="_self">ConvGemmWeightTransformAttrs</a></td><td class="desc">Attributes used in gemm weight transformation operators </td></tr>
+<tr id="row_1_4_49_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ConvWinogradWeightTransformAttrs.html" target="_self">ConvWinogradWeightTransformAttrs</a></td><td class="desc">Attributes used in winograd weight transformation operators </td></tr>
+<tr id="row_1_4_50_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1CorrelationAttrs.html" target="_self">CorrelationAttrs</a></td><td class="desc">Attributes used in correlation operators </td></tr>
+<tr id="row_1_4_51_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1CropAndResizeAttrs.html" target="_self">CropAndResizeAttrs</a></td><td class="desc">Attributes used in image crop_and_resize operator </td></tr>
+<tr id="row_1_4_52_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DataTypePattern.html" target="_self">DataTypePattern</a></td><td class="desc">A pattern which matches a type in another pattern </td></tr>
+<tr id="row_1_4_53_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DataTypePatternNode.html" target="_self">DataTypePatternNode</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_4_54_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DebugAttrs.html" target="_self">DebugAttrs</a></td><td class="desc">Options for the debug operators </td></tr>
+<tr id="row_1_4_55_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DeformableConv2DAttrs.html" target="_self">DeformableConv2DAttrs</a></td><td class="desc">Attributes for DeformableConv2D operator </td></tr>
+<tr id="row_1_4_56_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DenseAttrs.html" target="_self">DenseAttrs</a></td><td class="desc">Attributes for dense operator </td></tr>
+<tr id="row_1_4_57_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DeviceCopyAttrs.html" target="_self">DeviceCopyAttrs</a></td><td class="desc">Options for the device copy operators </td></tr>
+<tr id="row_1_4_58_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPattern.html" target="_self">DFPattern</a></td><td class="desc">Managed reference to dataflow patterns </td></tr>
+<tr id="row_1_4_59_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPatternCallback.html" target="_self">DFPatternCallback</a></td><td class="desc">Managed reference to dataflow pattern callbacks </td></tr>
+<tr id="row_1_4_60_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPatternCallbackNode.html" target="_self">DFPatternCallbackNode</a></td><td class="desc">Base type of all dataflow pattern callbacks </td></tr>
+<tr id="row_1_4_61_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor.html" target="_self">DFPatternFunctor</a></td><td class="desc">A dynamical functor that dispatches on in the first <a class="el" href="classtvm_1_1relay_1_1DFPattern.html" title="Managed reference to dataflow patterns. ">DFPattern</a> argument </ [...]
+<tr id="row_1_4_62_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html" target="_self">DFPatternFunctor&lt; R(const DFPattern &amp;n, Args...)&gt;</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_63_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1DFPatternNode.html" target="_self">DFPatternNode</a></td><td class="desc">Base type of all dataflow patterns </td></tr>
+<tr id="row_1_4_64_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_65_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_66_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Dilation2DAttrs.html" target="_self">Dilation2DAttrs</a></td><td class="desc">Attributes used in dilation operators </td></tr>
+<tr id="row_1_4_67_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_68_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_69_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html" target="_self">DropoutAttrs</a></td><td class="desc">Attributes used in dropout operator </td></tr>
+<tr id="row_1_4_70_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ExpandDimsAttrs.html" target="_self">ExpandDimsAttrs</a></td><td class="desc">Attributes used in expand_dims operators </td></tr>
+<tr id="row_1_4_71_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_72_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html" target="_self">ExprFunctor&lt; R(const Expr &amp;n, Args...)&gt;</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_73_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_74_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprPattern.html" target="_self">ExprPattern</a></td><td class="desc">A pattern which matches a literal expression </td></tr>
+<tr id="row_1_4_75_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_76_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1ExprRewriter.html" target="_self">ExprRewriter</a></td><td class="desc">A non-iterating Expression Rewriter </td></tr>
+<tr id="row_1_4_77_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_78_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1FeatureSet.html" target="_self">FeatureSet</a></td><td class="desc">A finite set of Feature </td></tr>
+<tr id="row_1_4_79_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FIFOBufferAttrs.html" target="_self">FIFOBufferAttrs</a></td><td class="desc">Attributes for FIFO buffer operator </td></tr>
+<tr id="row_1_4_80_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyAttrs.html" target="_self">FixedPointMultiplyAttrs</a></td><td class="desc">Attributes for FixedPointMultiply operator </td></tr>
+<tr id="row_1_4_81_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_82_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_83_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GatherAttrs.html" target="_self">GatherAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_84_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GetValidCountsAttrs.html" target="_self">GetValidCountsAttrs</a></td><td class="desc">Attributes used in get_valid_counts operator </td></tr>
+<tr id="row_1_4_85_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GlobalPool2DAttrs.html" target="_self">GlobalPool2DAttrs</a></td><td class="desc">Attributes for global pool operator </td></tr>
+<tr id="row_1_4_86_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GridSampleAttrs.html" target="_self">GridSampleAttrs</a></td><td class="desc">Attributes used in image grid_sample operator </td></tr>
+<tr id="row_1_4_87_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1GroupNormAttrs.html" target="_self">GroupNormAttrs</a></td><td class="desc">Attributes used in group_norm operator </td></tr>
+<tr id="row_1_4_88_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Id.html" target="_self">Id</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_89_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1IdNode.html" target="_self">IdNode</a></td><td class="desc">The unique identifier of variables </td></tr>
+<tr id="row_1_4_90_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1If.html" target="_self">If</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_91_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_92_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1InitOpAttrs.html" target="_self">InitOpAttrs</a></td><td class="desc">Attributes that specify a tensor </td></tr>
+<tr id="row_1_4_93_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1InstanceNormAttrs.html" target="_self">InstanceNormAttrs</a></td><td class="desc">Attributes used in instance_norm operator </td></tr>
+<tr id="row_1_4_94_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1InterpreterClosure.html" target="_self">InterpreterClosure</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_95_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_96_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1L2NormalizeAttrs.html" target="_self">L2NormalizeAttrs</a></td><td class="desc">Attributes for L2Normalize operator </td></tr>
+<tr id="row_1_4_97_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LayerNormAttrs.html" target="_self">LayerNormAttrs</a></td><td class="desc">Attributes used in layer_norm operator </td></tr>
+<tr id="row_1_4_98_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LayoutTransformAttrs.html" target="_self">LayoutTransformAttrs</a></td><td class="desc">Attributes for LayoutTransform operator </td></tr>
+<tr id="row_1_4_99_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LeakyReluAttrs.html" target="_self">LeakyReluAttrs</a></td><td class="desc">Attributes for leaky relu operator </td></tr>
+<tr id="row_1_4_100_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Let.html" target="_self">Let</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_101_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1LetNode.html" target="_self">LetNode</a></td><td class="desc">A binding of a sub-network </td></tr>
+<tr id="row_1_4_102_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1LRNAttrs.html" target="_self">LRNAttrs</a></td><td class="desc">Attributes for LRN operator </td></tr>
+<tr id="row_1_4_103_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Match.html" target="_self">Match</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_104_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_105_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MatrixSetDiagAttrs.html" target="_self">MatrixSetDiagAttrs</a></td><td class="desc">Attributes used in matrix_set_diag operator </td></tr>
+<tr id="row_1_4_106_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool1DAttrs.html" target="_self">MaxPool1DAttrs</a></td><td class="desc">Attributes for 1D max pool operator </td></tr>
+<tr id="row_1_4_107_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool2DAttrs.html" target="_self">MaxPool2DAttrs</a></td><td class="desc">Attributes for max pool operator </td></tr>
+<tr id="row_1_4_108_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MaxPool3DAttrs.html" target="_self">MaxPool3DAttrs</a></td><td class="desc">Attributes for 3D max pool operator </td></tr>
+<tr id="row_1_4_109_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MeshgridAttrs.html" target="_self">MeshgridAttrs</a></td><td class="desc">Attributes used in meshgrid operators </td></tr>
+<tr id="row_1_4_110_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html" target="_self">MirrorPadAttrs</a></td><td class="desc">Attributes used for the MirrorPadding operator </td></tr>
+<tr id="row_1_4_111_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_112_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1MixedModeVisitor.html" target="_self">MixedModeVisitor</a></td><td class="desc">A wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html" title="A simple visitor wrapper around ExprFunctor. Recursively visit the content. ">ExprVisitor</a> which [...]
+<tr id="row_1_4_113_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html" target="_self">MultiBoxPriorAttrs</a></td><td class="desc">Attributes used in multibox_prior operators </td></tr>
+<tr id="row_1_4_114_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html" target="_self">MultiBoxTransformLocAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_115_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html" target="_self">NdarraySizeAttrs</a></td><td class="desc">Attributes for ndarray_size operator </td></tr>
+<tr id="row_1_4_116_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html" target="_self">NonMaximumSuppressionAttrs</a></td><td class="desc">Attributes used in non_maximum_suppression operator </td></tr>
+<tr id="row_1_4_117_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OnDeviceAttrs.html" target="_self">OnDeviceAttrs</a></td><td class="desc">Options for the device annotation operators </td></tr>
+<tr id="row_1_4_118_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OneHotAttrs.html" target="_self">OneHotAttrs</a></td><td class="desc">Attributes used in one-hot operator </td></tr>
+<tr id="row_1_4_119_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpImplementation.html" target="_self">OpImplementation</a></td><td class="desc">Operator implementation class </td></tr>
+<tr id="row_1_4_120_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpImplementationNode.html" target="_self">OpImplementationNode</a></td><td class="desc">Operator implementation that includes compute and schedule function </td></tr>
+<tr id="row_1_4_121_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpSpecialization.html" target="_self">OpSpecialization</a></td><td class="desc">Operator specialization class </td></tr>
+<tr id="row_1_4_122_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpSpecializationNode.html" target="_self">OpSpecializationNode</a></td><td class="desc">Specialized implementations for operators under certain conditions </td></tr>
+<tr id="row_1_4_123_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpStrategy.html" target="_self">OpStrategy</a></td><td class="desc">Operator strategy class </td></tr>
+<tr id="row_1_4_124_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1OpStrategyNode.html" target="_self">OpStrategyNode</a></td><td class="desc">Operator strategy to choose implementation </td></tr>
+<tr id="row_1_4_125_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PadAttrs.html" target="_self">PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
+<tr id="row_1_4_126_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Pattern.html" target="_self">Pattern</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> is the base type for an ADT match pattern in Relay </td></tr>
+<tr id="row_1_4_127_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternConstructor.html" target="_self">PatternConstructor</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_128_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternConstructorNode.html" target="_self">PatternConstructorNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> container node </td></tr>
+<tr id="row_1_4_129_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternFunctor.html" target="_self">PatternFunctor</a></td><td class="desc">A dynamical functor on ADT patterns that dispatches on its first argument. You can use this as a more powerful visitor, since it allows you to define the types of further arguments to Vi [...]
+<tr id="row_1_4_130_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html" target="_self">PatternFunctor&lt; R(const Pattern &amp;n, Args...)&gt;</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_131_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternMutator.html" target="_self">PatternMutator</a></td><td class="desc">A wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerfu.. [...]
+<tr id="row_1_4_132_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternNode.html" target="_self">PatternNode</a></td><td class="desc">Base type for declaring relay pattern </td></tr>
+<tr id="row_1_4_133_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternTuple.html" target="_self">PatternTuple</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_134_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_135_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternVar.html" target="_self">PatternVar</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_136_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_137_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_138_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html" target="_self">PatternWildcard</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_139_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_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_4_140_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PReluAttrs.html" target="_self">PReluAttrs</a></td><td class="desc">Attributes for prelu operator </td></tr>
+<tr id="row_1_4_141_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ProposalAttrs.html" target="_self">ProposalAttrs</a></td><td class="desc">Attributes used in proposal operators </td></tr>
+<tr id="row_1_4_142_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RecClosure.html" target="_self">RecClosure</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_143_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_144_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReduceAttrs.html" target="_self">ReduceAttrs</a></td><td class="desc">Attributes for Reduce operators </td></tr>
+<tr id="row_1_4_145_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefCreate.html" target="_self">RefCreate</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_146_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefCreateNode.html" target="_self">RefCreateNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_147_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefRead.html" target="_self">RefRead</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_148_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefReadNode.html" target="_self">RefReadNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_149_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefValue.html" target="_self">RefValue</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_150_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1RefValueObj.html" target="_self">RefValueObj</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_151_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefWrite.html" target="_self">RefWrite</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_152_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1RefWriteNode.html" target="_self">RefWriteNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_153_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_154_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_155_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_156_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_157_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_158_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_159_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ResizeAttrs.html" target="_self">ResizeAttrs</a></td><td class="desc">Attributes used in image resize operator </td></tr>
+<tr id="row_1_4_160_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_161_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_162_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIAlignAttrs.html" target="_self">ROIAlignAttrs</a></td><td class="desc">Attributes used in roi_align operators </td></tr>
+<tr id="row_1_4_163_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIPoolAttrs.html" target="_self">ROIPoolAttrs</a></td><td class="desc">Attributes used in roi_pool operators </td></tr>
+<tr id="row_1_4_164_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterAddAttrs.html" target="_self">ScatterAddAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_165_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterAttrs.html" target="_self">ScatterAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_166_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterNDAttrs.html" target="_self">ScatterNDAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_167_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SequenceMaskAttrs.html" target="_self">SequenceMaskAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_168_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_169_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeOfAttrs.html" target="_self">ShapeOfAttrs</a></td><td class="desc">Attributes for ShapeOf operator </td></tr>
+<tr id="row_1_4_170_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_171_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_172_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SliceLikeAttrs.html" target="_self">SliceLikeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_173_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SoftmaxAttrs.html" target="_self">SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
+<tr id="row_1_4_174_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_175_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_176_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseToDenseAttrs.html" target="_self">SparseToDenseAttrs</a></td><td class="desc">Attributes used in sparse_to_dense operator </td></tr>
+<tr id="row_1_4_177_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseTransposeAttrs.html" target="_self">SparseTransposeAttrs</a></td><td class="desc">Attributes for sparse_transpose operator </td></tr>
+<tr id="row_1_4_178_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SplitAttrs.html" target="_self">SplitAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_179_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SqueezeAttrs.html" target="_self">SqueezeAttrs</a></td><td class="desc">Attributes used in squeeze operators </td></tr>
+<tr id="row_1_4_180_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StackAttrs.html" target="_self">StackAttrs</a></td><td class="desc">Attributes used in stack operators </td></tr>
+<tr id="row_1_4_181_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StridedSliceAttrs.html" target="_self">StridedSliceAttrs</a></td><td class="desc">Attributes for StridedSlice operator </td></tr>
+<tr id="row_1_4_182_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SubPixelAttrs.html" target="_self">SubPixelAttrs</a></td><td class="desc">Attributes used in subpixel operators </td></tr>
+<tr id="row_1_4_183_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TakeAttrs.html" target="_self">TakeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_184_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TempExpr.html" target="_self">TempExpr</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_185_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_186_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TileAttrs.html" target="_self">TileAttrs</a></td><td class="desc">Attributes used in tile operators </td></tr>
+<tr id="row_1_4_187_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TopKAttrs.html" target="_self">TopKAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_188_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_189_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Tuple.html" target="_self">Tuple</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_190_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItem.html" target="_self">TupleGetItem</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_191_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItemNode.html" target="_self">TupleGetItemNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_192_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItemPattern.html" target="_self">TupleGetItemPattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_193_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TupleGetItemPatternNode.html" target="_self">TupleGetItemPatternNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_194_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_195_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1TuplePattern.html" target="_self">TuplePattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_196_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_197_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_198_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_199_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSampling3DAttrs.html" target="_self">UpSampling3DAttrs</a></td><td class="desc">Attributes for upsampling3d operator </td></tr>
+<tr id="row_1_4_200_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSamplingAttrs.html" target="_self">UpSamplingAttrs</a></td><td class="desc">Attributes for upsampling operator </td></tr>
+<tr id="row_1_4_201_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1Var.html" target="_self">Var</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_202_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1VarianceAttrs.html" target="_self">VarianceAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_203_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_204_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1VarPattern.html" target="_self">VarPattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_205_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_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_4_206_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_207_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="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_4_208_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1YoloReorgAttrs.html" target="_self">YoloReorgAttrs</a></td><td class="desc">Attributes used in yolo reorg operators </td></tr>
 <tr id="row_1_5_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_5_" class="arrow" onclick="toggleFolder('1_5_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime.html" target="_self">runtime</a></td><td class="desc"></td></tr>
 <tr id="row_1_5_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_1_5_0_" class="arrow" onclick="toggleFolder('1_5_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html" target="_self">micro_rpc</a></td><td class="desc"></td></tr>
 <tr id="row_1_5_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1FrameBuffer.html" target="_self">FrameBuffer</a></td><td class="desc"></td></tr>
@@ -653,69 +655,71 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <tr id="row_1_7_65_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1LetNode.html" target="_self">LetNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1Let.html" title="Managed reference to LetNode. ">Let</a> binding. Bind var to value then evaluate body </td></tr>
 <tr id="row_1_7_66_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1LetStmt.html" target="_self">LetStmt</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1LetStmtNode.html" title="Let binding, bind var to value, then run body. ">LetStmtNode</a> </td></tr>
 <tr id="row_1_7_67_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1LetStmtNode.html" target="_self">LetStmtNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1Let.html" title="Managed reference to LetNode. ">Let</a> binding, bind var to value, then run body </td></tr>
-<tr id="row_1_7_68_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Load.html" target="_self">Load</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1LoadNode.html" title="Load the value from buffer_var. ">LoadNode</a> </td></tr>
-<tr id="row_1_7_69_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1LoadNode.html" target="_self">LoadNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1Load.html" title="Managed reference to LoadNode. ">Load</a> the value from buffer_var </td></tr>
-<tr id="row_1_7_70_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1LT.html" target="_self">LT</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1LTNode.html" title="a &lt; b ">LTNode</a> </td></tr>
-<tr id="row_1_7_71_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1LTNode.html" target="_self">LTNode</a></td><td class="desc">&lt; b </td></tr>
-<tr id="row_1_7_72_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Max.html" target="_self">Max</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1MaxNode.html" title="max(a, b) ">MaxNode</a> </td></tr>
-<tr id="row_1_7_73_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1MaxNode.html" target="_self">MaxNode</a></td><td class="desc">Max(a, b) </td></tr>
-<tr id="row_1_7_74_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Min.html" target="_self">Min</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1MinNode.html" title="min(a, b) ">MinNode</a> </td></tr>
-<tr id="row_1_7_75_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1MinNode.html" target="_self">MinNode</a></td><td class="desc">Min(a, b) </td></tr>
-<tr id="row_1_7_76_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Mod.html" target="_self">Mod</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1ModNode.html" title="a % b in the C semnatics. ">ModNode</a> </td></tr>
-<tr id="row_1_7_77_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ModNode.html" target="_self">ModNode</a></td><td class="desc">% b in the C semnatics </td></tr>
-<tr id="row_1_7_78_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Mul.html" target="_self">Mul</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1MulNode.html" title="a * b ">MulNode</a> </td></tr>
-<tr id="row_1_7_79_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1MulNode.html" target="_self">MulNode</a></td><td class="desc"><ul>
+<tr id="row_1_7_68_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1LinkedParam.html" target="_self">LinkedParam</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html" title="Describes one parameter that should be linked into the generated module. ">LinkedParamNode</a> </td></tr>
+<tr id="row_1_7_69_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html" target="_self">LinkedParamNode</a></td><td class="desc">Describes one parameter that should be linked into the generated module </td></tr>
+<tr id="row_1_7_70_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Load.html" target="_self">Load</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1LoadNode.html" title="Load the value from buffer_var. ">LoadNode</a> </td></tr>
+<tr id="row_1_7_71_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1LoadNode.html" target="_self">LoadNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1Load.html" title="Managed reference to LoadNode. ">Load</a> the value from buffer_var </td></tr>
+<tr id="row_1_7_72_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1LT.html" target="_self">LT</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1LTNode.html" title="a &lt; b ">LTNode</a> </td></tr>
+<tr id="row_1_7_73_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1LTNode.html" target="_self">LTNode</a></td><td class="desc">&lt; b </td></tr>
+<tr id="row_1_7_74_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Max.html" target="_self">Max</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1MaxNode.html" title="max(a, b) ">MaxNode</a> </td></tr>
+<tr id="row_1_7_75_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1MaxNode.html" target="_self">MaxNode</a></td><td class="desc">Max(a, b) </td></tr>
+<tr id="row_1_7_76_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Min.html" target="_self">Min</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1MinNode.html" title="min(a, b) ">MinNode</a> </td></tr>
+<tr id="row_1_7_77_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1MinNode.html" target="_self">MinNode</a></td><td class="desc">Min(a, b) </td></tr>
+<tr id="row_1_7_78_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Mod.html" target="_self">Mod</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1ModNode.html" title="a % b in the C semnatics. ">ModNode</a> </td></tr>
+<tr id="row_1_7_79_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ModNode.html" target="_self">ModNode</a></td><td class="desc">% b in the C semnatics </td></tr>
+<tr id="row_1_7_80_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Mul.html" target="_self">Mul</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1MulNode.html" title="a * b ">MulNode</a> </td></tr>
+<tr id="row_1_7_81_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1MulNode.html" target="_self">MulNode</a></td><td class="desc"><ul>
 <li>b </li>
 </ul>
 </td></tr>
-<tr id="row_1_7_80_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1NE.html" target="_self">NE</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1NENode.html" title="a != b ">NENode</a> </td></tr>
-<tr id="row_1_7_81_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1NENode.html" target="_self">NENode</a></td><td class="desc">!= b </td></tr>
-<tr id="row_1_7_82_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Not.html" target="_self">Not</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1NotNode.html" title="!a ">NotNode</a> </td></tr>
-<tr id="row_1_7_83_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1NotNode.html" target="_self">NotNode</a></td><td class="desc">!a </td></tr>
-<tr id="row_1_7_84_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Or.html" target="_self">Or</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1OrNode.html" title="a || b ">OrNode</a> </td></tr>
-<tr id="row_1_7_85_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1OrNode.html" target="_self">OrNode</a></td><td class="desc">|| b </td></tr>
-<tr id="row_1_7_86_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Prefetch.html" target="_self">Prefetch</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1PrefetchNode.html" title="A prefetch hint for abuffer. ">PrefetchNode</a> </td></tr>
-<tr id="row_1_7_87_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1PrefetchNode.html" target="_self">PrefetchNode</a></td><td class="desc">A prefetch hint for abuffer </td></tr>
-<tr id="row_1_7_88_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1PrimFunc.html" target="_self">PrimFunc</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1PrimFuncNode.html" title="Primitive functions that contains TIR statements. ">PrimFuncNode</a> </td></tr>
-<tr id="row_1_7_89_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1PrimFuncNode.html" target="_self">PrimFuncNode</a></td><td class="desc">Primitive functions that contains TIR statements </td></tr>
-<tr id="row_1_7_90_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ProducerLoad.html" target="_self">ProducerLoad</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1ProducerLoadNode.html" title="Load value from the result produced by the producer. ">ProducerLoadNode</a> </td></tr>
-<tr id="row_1_7_91_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ProducerLoadNode.html" target="_self">ProducerLoadNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1Load.html" title="Managed reference to LoadNode. ">Load</a> value from the result produced by the producer </td></tr>
-<tr id="row_1_7_92_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ProducerRealize.html" target="_self">ProducerRealize</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1ProducerRealizeNode.html" title="Annotate the bounds where the data produced by the producer need to be written and read in bod [...]
-<tr id="row_1_7_93_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ProducerRealizeNode.html" target="_self">ProducerRealizeNode</a></td><td class="desc">Annotate the bounds where the data produced by the producer need to be written and read in body. We will need to allocate space for the corresponding regions </td></tr>
-<tr id="row_1_7_94_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ProducerStore.html" target="_self">ProducerStore</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1ProducerStoreNode.html" title="Store value into mult-dimensional array that will be read by the consumer of the producer. ">Produce [...]
-<tr id="row_1_7_95_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ProducerStoreNode.html" target="_self">ProducerStoreNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1Store.html" title="Managed reference to StoreNode. ">Store</a> value into mult-dimensional array that will be read by the consumer of the produc [...]
-<tr id="row_1_7_96_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Ramp.html" target="_self">Ramp</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1RampNode.html" title="Construct a vector with lanes elements where its i-th element equals base + i * stride. This is useful to construct a index for [...]
-<tr id="row_1_7_97_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1RampNode.html" target="_self">RampNode</a></td><td class="desc">Construct a vector with lanes elements where its i-th element equals base + i * stride. This is useful to construct a index for a continuous vector load </td></tr>
-<tr id="row_1_7_98_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Reduce.html" target="_self">Reduce</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1ReduceNode.html" title="Reduction operator operator. ">ReduceNode</a> </td></tr>
-<tr id="row_1_7_99_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ReduceNode.html" target="_self">ReduceNode</a></td><td class="desc">Reduction operator operator </td></tr>
-<tr id="row_1_7_100_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Select.html" target="_self">Select</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1SelectNode.html" title="return true_value if condition is true, otherwise return false_value. ">SelectNode</a> </td></tr>
-<tr id="row_1_7_101_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1SelectNode.html" target="_self">SelectNode</a></td><td class="desc">Return true_value if condition is true, otherwise return false_value </td></tr>
-<tr id="row_1_7_102_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_1_7_102_" class="arrow" onclick="toggleFolder('1_7_102_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1SeqStmt.html" target="_self">SeqStmt</a></td><td class="desc">Sequence statement </td></tr>
-<tr id="row_1_7_102_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1SeqStmt_1_1Flattener.html" target="_self">Flattener</a></td><td class="desc">Helper class to flatten sequence of arguments into Array </td></tr>
-<tr id="row_1_7_103_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1SeqStmtNode.html" target="_self">SeqStmtNode</a></td><td class="desc">The container of seq statement. Represent a sequence of statements </td></tr>
-<tr id="row_1_7_104_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Shuffle.html" target="_self">Shuffle</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1ShuffleNode.html" title="Shuffle instruction. vec = concat(vectors) result = (vec[indices[0]], vec[indices[1]] ...">ShuffleNode</a> </td></tr>
-<tr id="row_1_7_105_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ShuffleNode.html" target="_self">ShuffleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1Shuffle.html" title="Managed reference to ShuffleNode. ">Shuffle</a> instruction. vec = concat(vectors) result = (vec[indices[0]], vec[indices[1]] ...) </td></tr>
-<tr id="row_1_7_106_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1SizeVar.html" target="_self">SizeVar</a></td><td class="desc">Named variable represents a tensor index size </td></tr>
-<tr id="row_1_7_107_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1SizeVarNode.html" target="_self">SizeVarNode</a></td><td class="desc">A variable node represent a tensor index size, whose value must be non-negative </td></tr>
-<tr id="row_1_7_108_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Stmt.html" target="_self">Stmt</a></td><td class="desc">Container of all statements </td></tr>
-<tr id="row_1_7_109_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StmtExprMutator.html" target="_self">StmtExprMutator</a></td><td class="desc">Mutator that recursively mutates stmts and exprs on them </td></tr>
-<tr id="row_1_7_110_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StmtExprVisitor.html" target="_self">StmtExprVisitor</a></td><td class="desc">Visitor that recursively visit stmts and exprs on them </td></tr>
-<tr id="row_1_7_111_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StmtFunctor.html" target="_self">StmtFunctor</a></td><td class="desc">Same as <a class="el" href="classtvm_1_1tir_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerfu...">ExprFunctor</a>  [...]
-<tr id="row_1_7_112_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StmtFunctor_3_01R_07const_01Stmt_01_6n_00_01Args_8_8_8args_08_4.html" target="_self">StmtFunctor&lt; R(const Stmt &amp;n, Args...args)&gt;</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_113_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StmtMutator.html" target="_self">StmtMutator</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1StmtMutator.html" title="StmtMutator that mutates the statements. ">StmtMutator</a> that mutates the statements </td></tr>
-<tr id="row_1_7_114_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StmtNode.html" target="_self">StmtNode</a></td><td class="desc">Base node of all statements </td></tr>
-<tr id="row_1_7_115_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StmtVisitor.html" target="_self">StmtVisitor</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1StmtVisitor.html" title="StmtVisitor. ">StmtVisitor</a> </td></tr>
-<tr id="row_1_7_116_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Store.html" target="_self">Store</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1StoreNode.html" title="Store value to the buffer. ">StoreNode</a> </td></tr>
-<tr id="row_1_7_117_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StoreNode.html" target="_self">StoreNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1Store.html" title="Managed reference to StoreNode. ">Store</a> value to the buffer </td></tr>
-<tr id="row_1_7_118_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StringImm.html" target="_self">StringImm</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1StringImmNode.html" title="String constants, only used in asserts. ">StringImmNode</a> </td></tr>
-<tr id="row_1_7_119_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StringImmNode.html" target="_self">StringImmNode</a></td><td class="desc">String constants, only used in asserts </td></tr>
-<tr id="row_1_7_120_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Sub.html" target="_self">Sub</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1SubNode.html" title="a - b ">SubNode</a> </td></tr>
-<tr id="row_1_7_121_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1SubNode.html" target="_self">SubNode</a></td><td class="desc"><ul>
+<tr id="row_1_7_82_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1NE.html" target="_self">NE</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1NENode.html" title="a != b ">NENode</a> </td></tr>
+<tr id="row_1_7_83_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1NENode.html" target="_self">NENode</a></td><td class="desc">!= b </td></tr>
+<tr id="row_1_7_84_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Not.html" target="_self">Not</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1NotNode.html" title="!a ">NotNode</a> </td></tr>
+<tr id="row_1_7_85_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1NotNode.html" target="_self">NotNode</a></td><td class="desc">!a </td></tr>
+<tr id="row_1_7_86_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Or.html" target="_self">Or</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1OrNode.html" title="a || b ">OrNode</a> </td></tr>
+<tr id="row_1_7_87_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1OrNode.html" target="_self">OrNode</a></td><td class="desc">|| b </td></tr>
+<tr id="row_1_7_88_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Prefetch.html" target="_self">Prefetch</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1PrefetchNode.html" title="A prefetch hint for abuffer. ">PrefetchNode</a> </td></tr>
+<tr id="row_1_7_89_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1PrefetchNode.html" target="_self">PrefetchNode</a></td><td class="desc">A prefetch hint for abuffer </td></tr>
+<tr id="row_1_7_90_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1PrimFunc.html" target="_self">PrimFunc</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1PrimFuncNode.html" title="Primitive functions that contains TIR statements. ">PrimFuncNode</a> </td></tr>
+<tr id="row_1_7_91_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1PrimFuncNode.html" target="_self">PrimFuncNode</a></td><td class="desc">Primitive functions that contains TIR statements </td></tr>
+<tr id="row_1_7_92_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ProducerLoad.html" target="_self">ProducerLoad</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1ProducerLoadNode.html" title="Load value from the result produced by the producer. ">ProducerLoadNode</a> </td></tr>
+<tr id="row_1_7_93_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ProducerLoadNode.html" target="_self">ProducerLoadNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1Load.html" title="Managed reference to LoadNode. ">Load</a> value from the result produced by the producer </td></tr>
+<tr id="row_1_7_94_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ProducerRealize.html" target="_self">ProducerRealize</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1ProducerRealizeNode.html" title="Annotate the bounds where the data produced by the producer need to be written and read in bod [...]
+<tr id="row_1_7_95_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ProducerRealizeNode.html" target="_self">ProducerRealizeNode</a></td><td class="desc">Annotate the bounds where the data produced by the producer need to be written and read in body. We will need to allocate space for the corresponding regions </td></tr>
+<tr id="row_1_7_96_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ProducerStore.html" target="_self">ProducerStore</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1ProducerStoreNode.html" title="Store value into mult-dimensional array that will be read by the consumer of the producer. ">Produce [...]
+<tr id="row_1_7_97_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ProducerStoreNode.html" target="_self">ProducerStoreNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1Store.html" title="Managed reference to StoreNode. ">Store</a> value into mult-dimensional array that will be read by the consumer of the produc [...]
+<tr id="row_1_7_98_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Ramp.html" target="_self">Ramp</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1RampNode.html" title="Construct a vector with lanes elements where its i-th element equals base + i * stride. This is useful to construct a index for [...]
+<tr id="row_1_7_99_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1RampNode.html" target="_self">RampNode</a></td><td class="desc">Construct a vector with lanes elements where its i-th element equals base + i * stride. This is useful to construct a index for a continuous vector load </td></tr>
+<tr id="row_1_7_100_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Reduce.html" target="_self">Reduce</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1ReduceNode.html" title="Reduction operator operator. ">ReduceNode</a> </td></tr>
+<tr id="row_1_7_101_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ReduceNode.html" target="_self">ReduceNode</a></td><td class="desc">Reduction operator operator </td></tr>
+<tr id="row_1_7_102_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Select.html" target="_self">Select</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1SelectNode.html" title="return true_value if condition is true, otherwise return false_value. ">SelectNode</a> </td></tr>
+<tr id="row_1_7_103_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1SelectNode.html" target="_self">SelectNode</a></td><td class="desc">Return true_value if condition is true, otherwise return false_value </td></tr>
+<tr id="row_1_7_104_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_1_7_104_" class="arrow" onclick="toggleFolder('1_7_104_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1SeqStmt.html" target="_self">SeqStmt</a></td><td class="desc">Sequence statement </td></tr>
+<tr id="row_1_7_104_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1SeqStmt_1_1Flattener.html" target="_self">Flattener</a></td><td class="desc">Helper class to flatten sequence of arguments into Array </td></tr>
+<tr id="row_1_7_105_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1SeqStmtNode.html" target="_self">SeqStmtNode</a></td><td class="desc">The container of seq statement. Represent a sequence of statements </td></tr>
+<tr id="row_1_7_106_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Shuffle.html" target="_self">Shuffle</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1ShuffleNode.html" title="Shuffle instruction. vec = concat(vectors) result = (vec[indices[0]], vec[indices[1]] ...">ShuffleNode</a> </td></tr>
+<tr id="row_1_7_107_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1ShuffleNode.html" target="_self">ShuffleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1Shuffle.html" title="Managed reference to ShuffleNode. ">Shuffle</a> instruction. vec = concat(vectors) result = (vec[indices[0]], vec[indices[1]] ...) </td></tr>
+<tr id="row_1_7_108_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1SizeVar.html" target="_self">SizeVar</a></td><td class="desc">Named variable represents a tensor index size </td></tr>
+<tr id="row_1_7_109_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1SizeVarNode.html" target="_self">SizeVarNode</a></td><td class="desc">A variable node represent a tensor index size, whose value must be non-negative </td></tr>
+<tr id="row_1_7_110_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Stmt.html" target="_self">Stmt</a></td><td class="desc">Container of all statements </td></tr>
+<tr id="row_1_7_111_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StmtExprMutator.html" target="_self">StmtExprMutator</a></td><td class="desc">Mutator that recursively mutates stmts and exprs on them </td></tr>
+<tr id="row_1_7_112_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StmtExprVisitor.html" target="_self">StmtExprVisitor</a></td><td class="desc">Visitor that recursively visit stmts and exprs on them </td></tr>
+<tr id="row_1_7_113_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StmtFunctor.html" target="_self">StmtFunctor</a></td><td class="desc">Same as <a class="el" href="classtvm_1_1tir_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerfu...">ExprFunctor</a>  [...]
+<tr id="row_1_7_114_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StmtFunctor_3_01R_07const_01Stmt_01_6n_00_01Args_8_8_8args_08_4.html" target="_self">StmtFunctor&lt; R(const Stmt &amp;n, Args...args)&gt;</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_115_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StmtMutator.html" target="_self">StmtMutator</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1StmtMutator.html" title="StmtMutator that mutates the statements. ">StmtMutator</a> that mutates the statements </td></tr>
+<tr id="row_1_7_116_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StmtNode.html" target="_self">StmtNode</a></td><td class="desc">Base node of all statements </td></tr>
+<tr id="row_1_7_117_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StmtVisitor.html" target="_self">StmtVisitor</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1StmtVisitor.html" title="StmtVisitor. ">StmtVisitor</a> </td></tr>
+<tr id="row_1_7_118_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Store.html" target="_self">Store</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1StoreNode.html" title="Store value to the buffer. ">StoreNode</a> </td></tr>
+<tr id="row_1_7_119_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StoreNode.html" target="_self">StoreNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1Store.html" title="Managed reference to StoreNode. ">Store</a> value to the buffer </td></tr>
+<tr id="row_1_7_120_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StringImm.html" target="_self">StringImm</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1StringImmNode.html" title="String constants, only used in asserts. ">StringImmNode</a> </td></tr>
+<tr id="row_1_7_121_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1StringImmNode.html" target="_self">StringImmNode</a></td><td class="desc">String constants, only used in asserts </td></tr>
+<tr id="row_1_7_122_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Sub.html" target="_self">Sub</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tir_1_1SubNode.html" title="a - b ">SubNode</a> </td></tr>
+<tr id="row_1_7_123_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1SubNode.html" target="_self">SubNode</a></td><td class="desc"><ul>
 <li>b </li>
 </ul>
 </td></tr>
-<tr id="row_1_7_122_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Var.html" target="_self">Var</a></td><td class="desc">Named variable in TIR </td></tr>
-<tr id="row_1_7_123_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1VarNode.html" target="_self">VarNode</a></td><td class="desc">A variable node in the IR </td></tr>
+<tr id="row_1_7_124_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1Var.html" target="_self">Var</a></td><td class="desc">Named variable in TIR </td></tr>
+<tr id="row_1_7_125_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1VarNode.html" target="_self">VarNode</a></td><td class="desc">A variable node in the IR </td></tr>
 <tr id="row_1_8_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_8_" class="arrow" onclick="toggleFolder('1_8_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi.html" target="_self">topi</a></td><td class="desc"></td></tr>
 <tr id="row_1_9_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_9_" class="arrow" onclick="toggleFolder('1_9_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1transform.html" target="_self">transform</a></td><td class="desc"></td></tr>
 <tr id="row_1_9_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1Pass.html" target="_self">Pass</a></td><td class="desc"></td></tr>
diff --git a/docs/api/doxygen/broadcast_8h__incl.svg b/docs/api/doxygen/broadcast_8h__incl.svg
index ba4250d..19cdc7b 100644
--- a/docs/api/doxygen/broadcast_8h__incl.svg
+++ b/docs/api/doxygen/broadcast_8h__incl.svg
@@ -1099,7 +1099,7 @@
 <!-- Node47 -->
 <g id="node47" class="node"><title>Node47</title>
 <g id="a_node47"><a xlink:href="tir_2function_8h.html" target="_top" xlink:title="TIR Function. ">
-<polygon fill="white" stroke="black" points="2373,-683.5 2373,-702.5 2471,-702.5 2471,-683.5 2373,-683.5"/>
+<polygon fill="white" stroke="red" points="2373,-683.5 2373,-702.5 2471,-702.5 2471,-683.5 2373,-683.5"/>
 <text text-anchor="middle" x="2422" y="-690.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/function.h</text>
 </a>
 </g>
diff --git a/docs/api/doxygen/bytecode_8h_source.html b/docs/api/doxygen/bytecode_8h_source.html
index 7d50a26..ccb56d6 100644
--- a/docs/api/doxygen/bytecode_8h_source.html
+++ b/docs/api/doxygen/bytecode_8h_source.html
@@ -130,7 +130,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="ttc" id="structtvm_1_1runtime_1_1vm_1_1Instruction_html_a46879dbe84105fb621a6167f8d73b223"><div class="ttname"><a href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a46879dbe84105fb621a6167f8d73b223">tvm::runtime::vm::Instruction::target</a></div><div class="ttdeci">RegName target</div><div class="ttdoc">The register containing the target value. </div><div class="ttdef"><b>Definition:</b> bytecode.h:142</div></div>
 <div class="ttc" id="structtvm_1_1runtime_1_1vm_1_1Instruction_html_a360b264ed892e620935b648e5a91a5ea"><div class="ttname"><a href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a360b264ed892e620935b648e5a91a5ea">tvm::runtime::vm::Instruction::arity</a></div><div class="ttdeci">Index arity</div><div class="ttdoc">The arity of the packed function. </div><div class="ttdef"><b>Definition:</b> bytecode.h:132</div></div>
 <div class="ttc" id="structtvm_1_1runtime_1_1vm_1_1Instruction_html_a3a175836bc0893d99935f32911e45bfd"><div class="ttname"><a href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a3a175836bc0893d99935f32911e45bfd">tvm::runtime::vm::Instruction::closure</a></div><div class="ttdeci">RegName closure</div><div class="ttdoc">The register containing the closure. </div><div class="ttdef"><b>Definition:</b> bytecode.h:114</div></div>
-<div class="ttc" id="namespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor. </div><div class="ttdef"><b>Definition:</b> transform.h:1411</div></div>
+<div class="ttc" id="namespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor. </div><div class="ttdef"><b>Definition:</b> transform.h:1479</div></div>
 <div class="ttc" id="structtvm_1_1runtime_1_1vm_1_1Instruction_html_a3412cabd3b4f42f106f56fc22257f6ca"><div class="ttname"><a href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a3412cabd3b4f42f106f56fc22257f6ca">tvm::runtime::vm::Instruction::storage</a></div><div class="ttdeci">RegName storage</div><div class="ttdoc">The storage to allocate from. </div><div class="ttdef"><b>Definition:</b> bytecode.h:92</div></div>
 <div class="ttc" id="namespacetvm_1_1runtime_1_1vm_html_a3597867d2db714bf760876a23d6b7d3d"><div class="ttname"><a href="namespacetvm_1_1runtime_1_1vm.html#a3597867d2db714bf760876a23d6b7d3d">tvm::runtime::vm::Index</a></div><div class="ttdeci">int64_t Index</div><div class="ttdoc">An alias for the integer type used ubiquitously in the VM. </div><div class="ttdef"><b>Definition:</b> bytecode.h:43</div></div>
 <div class="ttc" id="structtvm_1_1runtime_1_1vm_1_1Instruction_html_a342c8c66b1886eb1fa0ca8a5b23f92aa"><div class="ttname"><a href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a342c8c66b1886eb1fa0ca8a5b23f92aa">tvm::runtime::vm::Instruction::device_type</a></div><div class="ttdeci">Index device_type</div><div class="ttdoc">The device type of the allocation. </div><div class="ttdef"><b>Definition:</b> bytecode.h:202</div></div>
diff --git a/docs/api/doxygen/c__runtime__api_8h.html b/docs/api/doxygen/c__runtime__api_8h.html
index 8c22d69..2c74401 100644
--- a/docs/api/doxygen/c__runtime__api_8h.html
+++ b/docs/api/doxygen/c__runtime__api_8h.html
@@ -107,7 +107,7 @@ Include dependency graph for c_runtime_api.h:</div>
 </div><div class="textblock"><div class="dynheader">
 This graph shows which files directly or indirectly include this file:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="c__runtime__api_8h__dep__incl.svg" width="3411" height="1274"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="c__runtime__api_8h__dep__incl.svg" width="3431" height="1274"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 </div>
diff --git a/docs/api/doxygen/c__runtime__api_8h__dep__incl.svg b/docs/api/doxygen/c__runtime__api_8h__dep__incl.svg
index 5cbb6e4..b7253b7 100644
--- a/docs/api/doxygen/c__runtime__api_8h__dep__incl.svg
+++ b/docs/api/doxygen/c__runtime__api_8h__dep__incl.svg
@@ -4,1117 +4,1121 @@
 <!-- Generated by graphviz version 2.38.0 (20140413.2041)
  -->
 <!-- Title: include/tvm/runtime/c_runtime_api.h Pages: 1 -->
-<svg width="2558pt" height="955pt"
- viewBox="0.00 0.00 2558.00 955.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="2573pt" height="955pt"
+ viewBox="0.00 0.00 2572.50 955.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 951)">
 <title>include/tvm/runtime/c_runtime_api.h</title>
-<polygon fill="white" stroke="none" points="-4,4 -4,-951 2554,-951 2554,4 -4,4"/>
+<polygon fill="white" stroke="none" points="-4,4 -4,-951 2568.5,-951 2568.5,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node"><title>Node1</title>
-<polygon fill="#bfbfbf" stroke="black" points="982.5,-916.5 982.5,-946.5 1095.5,-946.5 1095.5,-916.5 982.5,-916.5"/>
-<text text-anchor="start" x="990.5" y="-934.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="1039" y="-923.5" font-family="Helvetica,sans-Serif" font-size="10.00">/c_runtime_api.h</text>
+<polygon fill="#bfbfbf" stroke="black" points="513,-916.5 513,-946.5 626,-946.5 626,-916.5 513,-916.5"/>
+<text text-anchor="start" x="521" y="-934.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="569.5" y="-923.5" font-family="Helvetica,sans-Serif" font-size="10.00">/c_runtime_api.h</text>
 </g>
 <!-- Node2 -->
 <g id="node2" class="node"><title>Node2</title>
 <g id="a_node2"><a xlink:href="compute__dag_8h.html" target="_top" xlink:title="The auto&#45;scheduler&#39;s computational graph and related program analyses. ">
-<polygon fill="white" stroke="black" points="175.5,-380.5 175.5,-410.5 324.5,-410.5 324.5,-380.5 175.5,-380.5"/>
-<text text-anchor="start" x="183.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/auto_scheduler</text>
-<text text-anchor="middle" x="250" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">/compute_dag.h</text>
+<polygon fill="white" stroke="black" points="442,-380.5 442,-410.5 591,-410.5 591,-380.5 442,-380.5"/>
+<text text-anchor="start" x="450" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/auto_scheduler</text>
+<text text-anchor="middle" x="516.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">/compute_dag.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node2 -->
 <g id="edge1" class="edge"><title>Node1&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M972.031,-930.478C768.181,-929.922 164.532,-924.497 89,-880 52.184,-858.311 38,-841.23 38,-798.5 38,-798.5 38,-798.5 38,-662.5 38,-542.622 171.305,-445.602 226.502,-410.568"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="972.288,-933.978 982.296,-930.502 972.305,-926.978 972.288,-933.978"/>
+<path fill="none" stroke="midnightblue" d="M502.88,-926.473C436.279,-920.892 340.534,-908.108 317.5,-880 189.196,-723.433 435.424,-472.753 501.036,-410.726"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="502.645,-929.965 512.893,-927.277 503.205,-922.988 502.645,-929.965"/>
 </g>
 <!-- Node7 -->
 <g id="node7" class="node"><title>Node7</title>
 <g id="a_node7"><a xlink:href="node_8h.html" target="_top" xlink:title="Definitions and helper macros for IR/AST nodes. ">
-<polygon fill="white" stroke="black" points="1078.5,-386 1078.5,-405 1213.5,-405 1213.5,-386 1078.5,-386"/>
-<text text-anchor="middle" x="1146" y="-393" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/node/node.h</text>
+<polygon fill="white" stroke="black" points="1617,-386 1617,-405 1752,-405 1752,-386 1617,-386"/>
+<text text-anchor="middle" x="1684.5" y="-393" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/node/node.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node7 -->
 <g id="edge6" class="edge"><title>Node1&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M972,-928.211C816.001,-922.506 432.212,-906.198 306,-880 199.813,-857.959 76,-906.95 76,-798.5 76,-798.5 76,-798.5 76,-729.5 76,-627.284 341.008,-476.082 439,-447 557.486,-411.836 925.33,-400.763 1078.25,-397.625"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="972.266,-931.723 982.387,-928.588 972.52,-924.728 972.266,-931.723"/>
+<path fill="none" stroke="midnightblue" d="M636.452,-929.311C968.7,-922.982 2424.5,-890.027 2424.5,-798.5 2424.5,-798.5 2424.5,-798.5 2424.5,-595.5 2424.5,-456.976 1934.81,-412.137 1752.13,-400.229"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="635.961,-925.82 626.029,-929.508 636.094,-932.819 635.961,-925.82"/>
 </g>
 <!-- Node12 -->
 <g id="node12" class="node"><title>Node12</title>
 <g id="a_node12"><a xlink:href="tir_2expr_8h.html" target="_top" xlink:title="TIR expressions. ">
-<polygon fill="white" stroke="red" points="1146.5,-56.5 1146.5,-75.5 1263.5,-75.5 1263.5,-56.5 1146.5,-56.5"/>
-<text text-anchor="middle" x="1205" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/tir/expr.h</text>
+<polygon fill="white" stroke="red" points="1017,-56.5 1017,-75.5 1134,-75.5 1134,-56.5 1017,-56.5"/>
+<text text-anchor="middle" x="1075.5" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/tir/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node12 -->
-<g id="edge135" class="edge"><title>Node1&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M971.967,-930.727C762.038,-930.938 126.559,-927.597 48,-880 12.0465,-858.217 0,-840.538 0,-798.5 0,-798.5 0,-798.5 0,-193.5 0,-119.186 74.4942,-132.237 146,-112 242.169,-84.7831 937.782,-71.3525 1146.16,-67.9102"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="972.236,-934.227 982.231,-930.713 972.226,-927.227 972.236,-934.227"/>
+<g id="edge136" class="edge"><title>Node1&#45;&gt;Node12</title>
+<path fill="none" stroke="midnightblue" d="M502.555,-925.494C431.677,-918.95 325.789,-905.229 294.5,-880 263.947,-855.364 260.5,-837.748 260.5,-798.5 260.5,-798.5 260.5,-798.5 260.5,-327.5 260.5,-177.412 376.746,-155.142 520.5,-112 612.049,-84.5251 893.328,-72.6455 1016.59,-68.6618"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="502.472,-929.001 512.745,-926.408 503.098,-922.029 502.472,-929.001"/>
 </g>
-<!-- Node23 -->
-<g id="node23" class="node"><title>Node23</title>
-<g id="a_node23"><a xlink:href="reflection_8h.html" target="_top" xlink:title="Reflection and serialization of compiler IR/AST nodes. ">
-<polygon fill="white" stroke="black" points="448.5,-453 448.5,-472 603.5,-472 603.5,-453 448.5,-453"/>
-<text text-anchor="middle" x="526" y="-460" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/node/reflection.h</text>
-</a>
-</g>
-</g>
-<!-- Node1&#45;&gt;Node23 -->
-<g id="edge37" class="edge"><title>Node1&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M972.071,-927.788C833.435,-921.73 519.13,-905.583 415,-880 340.928,-861.802 315.307,-862.175 257,-813 220.641,-782.335 202.527,-761.159 214,-715 230.258,-649.591 243.265,-633.923 285,-581 298.942,-563.321 341.348,-524.987 361,-514 398.523,-493.022 445.824,-479.695 480.151,-472.032"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="972.001,-931.288 982.143,-928.224 972.303,-924.295 972.001,-931.288"/>
-</g>
-<!-- Node25 -->
-<g id="node25" class="node"><title>Node25</title>
-<g id="a_node25"><a xlink:href="serialization_8h.html" target="_top" xlink:title="include/tvm/node/serialization.h">
-<polygon fill="white" stroke="black" points="1968,-788 1968,-807 2136,-807 2136,-788 1968,-788"/>
-<text text-anchor="middle" x="2052" y="-795" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/node/serialization.h</text>
+<!-- Node24 -->
+<g id="node24" class="node"><title>Node24</title>
+<g id="a_node24"><a xlink:href="reflection_8h.html" target="_top" xlink:title="Reflection and serialization of compiler IR/AST nodes. ">
+<polygon fill="white" stroke="black" points="1217,-453 1217,-472 1372,-472 1372,-453 1217,-453"/>
+<text text-anchor="middle" x="1294.5" y="-460" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/node/reflection.h</text>
 </a>
 </g>
 </g>
-<!-- Node1&#45;&gt;Node25 -->
-<g id="edge40" class="edge"><title>Node1&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M1105.83,-923.49C1192.78,-914.233 1349.39,-897.098 1483,-880 1692.73,-853.161 1744.75,-843.363 1954,-813 1967.19,-811.086 1981.38,-809.002 1994.75,-807.026"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1105.41,-920.015 1095.83,-924.552 1106.15,-926.975 1105.41,-920.015"/>
+<!-- Node1&#45;&gt;Node24 -->
+<g id="edge38" class="edge"><title>Node1&#45;&gt;Node24</title>
+<path fill="none" stroke="midnightblue" d="M636.606,-926.175C779.599,-915.664 1108.01,-884.224 1190.5,-813 1299.51,-718.88 1296.91,-516.03 1294.97,-472.031"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="635.947,-922.714 626.226,-926.925 636.452,-929.695 635.947,-922.714"/>
 </g>
 <!-- Node26 -->
 <g id="node26" class="node"><title>Node26</title>
-<g id="a_node26"><a xlink:href="relay_2qnn_2transform_8h.html" target="_top" xlink:title="include/tvm/relay/qnn\l/transform.h">
-<polygon fill="white" stroke="black" points="2054.5,-849.5 2054.5,-879.5 2173.5,-879.5 2173.5,-849.5 2054.5,-849.5"/>
-<text text-anchor="start" x="2062.5" y="-867.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relay/qnn</text>
-<text text-anchor="middle" x="2114" y="-856.5" font-family="Helvetica,sans-Serif" font-size="10.00">/transform.h</text>
+<g id="a_node26"><a xlink:href="serialization_8h.html" target="_top" xlink:title="include/tvm/node/serialization.h">
+<polygon fill="white" stroke="black" points="692.5,-788 692.5,-807 860.5,-807 860.5,-788 692.5,-788"/>
+<text text-anchor="middle" x="776.5" y="-795" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/node/serialization.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node26 -->
 <g id="edge41" class="edge"><title>Node1&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M1105.93,-930.422C1267.27,-929.518 1690.16,-922.875 2040,-880 2044.68,-879.427 2049.5,-878.728 2054.34,-877.95"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1105.67,-926.923 1095.69,-930.474 1105.7,-933.923 1105.67,-926.923"/>
+<path fill="none" stroke="midnightblue" d="M615.072,-912.542C635.151,-903.841 658.641,-892.556 678.5,-880 714.224,-857.413 751.194,-823.163 767.664,-807.226"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="613.651,-909.343 605.817,-916.476 616.39,-915.785 613.651,-909.343"/>
 </g>
 <!-- Node27 -->
 <g id="node27" class="node"><title>Node27</title>
-<g id="a_node27"><a xlink:href="c__backend__api_8h.html" target="_top" xlink:title="TVM runtime backend API. ">
-<polygon fill="white" stroke="black" points="2230.5,-849.5 2230.5,-879.5 2343.5,-879.5 2343.5,-849.5 2230.5,-849.5"/>
-<text text-anchor="start" x="2238.5" y="-867.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="2287" y="-856.5" font-family="Helvetica,sans-Serif" font-size="10.00">/c_backend_api.h</text>
+<g id="a_node27"><a xlink:href="relay_2qnn_2transform_8h.html" target="_top" xlink:title="include/tvm/relay/qnn\l/transform.h">
+<polygon fill="white" stroke="black" points="327,-849.5 327,-879.5 446,-879.5 446,-849.5 327,-849.5"/>
+<text text-anchor="start" x="335" y="-867.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relay/qnn</text>
+<text text-anchor="middle" x="386.5" y="-856.5" font-family="Helvetica,sans-Serif" font-size="10.00">/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node27 -->
 <g id="edge42" class="edge"><title>Node1&#45;&gt;Node27</title>
-<path fill="none" stroke="midnightblue" d="M1105.75,-929.03C1321.5,-924.059 1998.67,-906.684 2216,-880 2220.62,-879.433 2225.39,-878.727 2230.16,-877.933"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1105.44,-925.536 1095.52,-929.264 1105.6,-932.534 1105.44,-925.536"/>
+<path fill="none" stroke="midnightblue" d="M520.105,-912.955C490.626,-902.485 453.691,-889.366 426.131,-879.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="519.197,-916.347 529.792,-916.396 521.54,-909.751 519.197,-916.347"/>
 </g>
-<!-- Node30 -->
-<g id="node30" class="node"><title>Node30</title>
-<g id="a_node30"><a xlink:href="crt_2packed__func_8h.html" target="_top" xlink:title="Type&#45;erased function used across TVM API. ">
-<polygon fill="white" stroke="black" points="2249.5,-648.5 2249.5,-678.5 2362.5,-678.5 2362.5,-648.5 2249.5,-648.5"/>
-<text text-anchor="start" x="2257.5" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="2306" y="-655.5" font-family="Helvetica,sans-Serif" font-size="10.00">/crt/packed_func.h</text>
+<!-- Node28 -->
+<g id="node28" class="node"><title>Node28</title>
+<g id="a_node28"><a xlink:href="c__backend__api_8h.html" target="_top" xlink:title="TVM runtime backend API. ">
+<polygon fill="white" stroke="black" points="119,-849.5 119,-879.5 232,-879.5 232,-849.5 119,-849.5"/>
+<text text-anchor="start" x="127" y="-867.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="175.5" y="-856.5" font-family="Helvetica,sans-Serif" font-size="10.00">/c_backend_api.h</text>
 </a>
 </g>
 </g>
-<!-- Node1&#45;&gt;Node30 -->
-<g id="edge49" class="edge"><title>Node1&#45;&gt;Node30</title>
-<path fill="none" stroke="midnightblue" d="M1105.61,-930.133C1365.99,-928.42 2303.17,-919.519 2352,-880 2409.38,-833.562 2403.45,-781.303 2371,-715 2363.34,-699.341 2348.21,-687.138 2334.48,-678.653"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1105.52,-926.634 1095.54,-930.198 1105.56,-933.634 1105.52,-926.634"/>
+<!-- Node1&#45;&gt;Node28 -->
+<g id="edge43" class="edge"><title>Node1&#45;&gt;Node28</title>
+<path fill="none" stroke="midnightblue" d="M502.594,-920.964C437.166,-911.421 334.781,-895.907 246.5,-880 241.795,-879.152 236.923,-878.237 232.036,-877.292"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="502.37,-924.468 512.77,-922.443 503.377,-917.541 502.37,-924.468"/>
 </g>
 <!-- Node31 -->
 <g id="node31" class="node"><title>Node31</title>
-<g id="a_node31"><a xlink:href="graph__runtime_8h.html" target="_top" xlink:title="Tiny graph runtime that can run graph containing only tvm PackedFunc. ">
-<polygon fill="white" stroke="black" points="2196.5,-581.5 2196.5,-611.5 2311.5,-611.5 2311.5,-581.5 2196.5,-581.5"/>
-<text text-anchor="start" x="2204.5" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="2254" y="-588.5" font-family="Helvetica,sans-Serif" font-size="10.00">/crt/graph_runtime.h</text>
+<g id="a_node31"><a xlink:href="crt_2packed__func_8h.html" target="_top" xlink:title="Type&#45;erased function used across TVM API. ">
+<polygon fill="white" stroke="black" points="43,-648.5 43,-678.5 156,-678.5 156,-648.5 43,-648.5"/>
+<text text-anchor="start" x="51" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="99.5" y="-655.5" font-family="Helvetica,sans-Serif" font-size="10.00">/crt/packed_func.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node31 -->
-<g id="edge48" class="edge"><title>Node1&#45;&gt;Node31</title>
-<path fill="none" stroke="midnightblue" d="M1105.89,-929.742C1344.26,-926.758 2140.25,-914.259 2182,-880 2210.83,-856.341 2202,-835.797 2202,-798.5 2202,-798.5 2202,-798.5 2202,-729.5 2202,-683.933 2229.16,-635.29 2244.22,-611.813"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1105.59,-926.245 1095.64,-929.869 1105.68,-933.245 1105.59,-926.245"/>
+<g id="edge50" class="edge"><title>Node1&#45;&gt;Node31</title>
+<path fill="none" stroke="midnightblue" d="M502.521,-930.49C390.825,-929.283 172.544,-921.495 109.5,-880 46.6408,-838.627 52.6541,-787.855 71.5,-715 74.9144,-701.801 82.6033,-688.373 89.0615,-678.685"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="502.63,-933.991 512.662,-930.585 502.695,-926.991 502.63,-933.991"/>
 </g>
 <!-- Node32 -->
 <g id="node32" class="node"><title>Node32</title>
-<g id="a_node32"><a xlink:href="data__type_8h.html" target="_top" xlink:title="include/tvm/runtime\l/data_type.h">
-<polygon fill="white" stroke="black" points="266.5,-782.5 266.5,-812.5 379.5,-812.5 379.5,-782.5 266.5,-782.5"/>
-<text text-anchor="start" x="274.5" y="-800.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="323" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00">/data_type.h</text>
+<g id="a_node32"><a xlink:href="graph__runtime_8h.html" target="_top" xlink:title="Tiny graph runtime that can run graph containing only tvm PackedFunc. ">
+<polygon fill="white" stroke="black" points="0,-581.5 0,-611.5 115,-611.5 115,-581.5 0,-581.5"/>
+<text text-anchor="start" x="8" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="57.5" y="-588.5" font-family="Helvetica,sans-Serif" font-size="10.00">/crt/graph_runtime.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node32 -->
-<g id="edge50" class="edge"><title>Node1&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M972.34,-927.16C847.906,-920.45 584.924,-903.906 497,-880 440.025,-864.509 378.656,-831.479 346.206,-812.568"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="972.327,-930.664 982.499,-927.702 972.7,-923.674 972.327,-930.664"/>
+<g id="edge49" class="edge"><title>Node1&#45;&gt;Node32</title>
+<path fill="none" stroke="midnightblue" d="M502.924,-930.434C384.738,-929.232 143.982,-921.574 72.5,-880 34.0688,-857.649 14.5,-842.958 14.5,-798.5 14.5,-798.5 14.5,-798.5 14.5,-729.5 14.5,-684.67 37.1994,-635.302 49.6131,-611.655"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="502.908,-933.934 512.939,-930.523 502.97,-926.934 502.908,-933.934"/>
 </g>
-<!-- Node35 -->
-<g id="node35" class="node"><title>Node35</title>
-<g id="a_node35"><a xlink:href="ndarray_8h.html" target="_top" xlink:title="A device&#45;independent managed NDArray abstraction. ">
-<polygon fill="white" stroke="black" points="688.5,-715.5 688.5,-745.5 801.5,-745.5 801.5,-715.5 688.5,-715.5"/>
-<text text-anchor="start" x="696.5" y="-733.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="745" y="-722.5" font-family="Helvetica,sans-Serif" font-size="10.00">/ndarray.h</text>
+<!-- Node33 -->
+<g id="node33" class="node"><title>Node33</title>
+<g id="a_node33"><a xlink:href="data__type_8h.html" target="_top" xlink:title="include/tvm/runtime\l/data_type.h">
+<polygon fill="white" stroke="black" points="1069,-782.5 1069,-812.5 1182,-812.5 1182,-782.5 1069,-782.5"/>
+<text text-anchor="start" x="1077" y="-800.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="1125.5" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00">/data_type.h</text>
 </a>
 </g>
 </g>
-<!-- Node1&#45;&gt;Node35 -->
-<g id="edge97" class="edge"><title>Node1&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M972.19,-920.301C938.869,-912.937 899.145,-900.544 868,-880 812.949,-843.688 769.787,-775.324 752.816,-745.741"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="971.802,-923.796 982.308,-922.428 973.242,-916.946 971.802,-923.796"/>
+<!-- Node1&#45;&gt;Node33 -->
+<g id="edge51" class="edge"><title>Node1&#45;&gt;Node33</title>
+<path fill="none" stroke="midnightblue" d="M636.138,-914.679C746.456,-888.489 965.112,-836.578 1068.63,-812.002"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="635.051,-911.34 626.13,-917.055 636.668,-918.151 635.051,-911.34"/>
 </g>
 <!-- Node36 -->
 <g id="node36" class="node"><title>Node36</title>
-<g id="a_node36"><a xlink:href="packed__func_8h.html" target="_top" xlink:title="Type&#45;erased function used across TVM API. ">
-<polygon fill="white" stroke="red" points="825.5,-648.5 825.5,-678.5 938.5,-678.5 938.5,-648.5 825.5,-648.5"/>
-<text text-anchor="start" x="833.5" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="882" y="-655.5" font-family="Helvetica,sans-Serif" font-size="10.00">/packed_func.h</text>
+<g id="a_node36"><a xlink:href="ndarray_8h.html" target="_top" xlink:title="A device&#45;independent managed NDArray abstraction. ">
+<polygon fill="white" stroke="black" points="693,-715.5 693,-745.5 806,-745.5 806,-715.5 693,-715.5"/>
+<text text-anchor="start" x="701" y="-733.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="749.5" y="-722.5" font-family="Helvetica,sans-Serif" font-size="10.00">/ndarray.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node36 -->
-<g id="edge131" class="edge"><title>Node1&#45;&gt;Node36</title>
-<path fill="none" stroke="midnightblue" d="M1025.37,-907.414C993.7,-853.75 915.867,-721.88 890.292,-678.549"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1022.46,-909.366 1030.56,-916.199 1028.49,-905.808 1022.46,-909.366"/>
+<g id="edge98" class="edge"><title>Node1&#45;&gt;Node36</title>
+<path fill="none" stroke="midnightblue" d="M570.065,-905.814C572.12,-873.361 580.432,-816.44 612.5,-782 633.402,-759.552 665.151,-747.042 692.824,-740.091"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="566.551,-906.041 569.571,-916.197 573.543,-906.374 566.551,-906.041"/>
+</g>
+<!-- Node37 -->
+<g id="node37" class="node"><title>Node37</title>
+<g id="a_node37"><a xlink:href="packed__func_8h.html" target="_top" xlink:title="Type&#45;erased function used across TVM API. ">
+<polygon fill="white" stroke="red" points="933,-648.5 933,-678.5 1046,-678.5 1046,-648.5 933,-648.5"/>
+<text text-anchor="start" x="941" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="989.5" y="-655.5" font-family="Helvetica,sans-Serif" font-size="10.00">/packed_func.h</text>
+</a>
+</g>
+</g>
+<!-- Node1&#45;&gt;Node37 -->
+<g id="edge132" class="edge"><title>Node1&#45;&gt;Node37</title>
+<path fill="none" stroke="midnightblue" d="M604.663,-910.942C617.204,-902.659 630.649,-892.107 640.5,-880 670.519,-843.106 646.698,-812.132 683.5,-782 741.576,-734.451 778.506,-773.104 848.5,-746 894.378,-728.234 943.029,-696.968 969.489,-678.761"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="602.762,-908.003 596.18,-916.305 606.503,-913.919 602.762,-908.003"/>
 </g>
 <!-- Node39 -->
 <g id="node39" class="node"><title>Node39</title>
 <g id="a_node39"><a xlink:href="device__api_8h.html" target="_top" xlink:title="Abstract device memory management API. ">
-<polygon fill="white" stroke="black" points="1930.5,-581.5 1930.5,-611.5 2043.5,-611.5 2043.5,-581.5 1930.5,-581.5"/>
-<text text-anchor="start" x="1938.5" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="1987" y="-588.5" font-family="Helvetica,sans-Serif" font-size="10.00">/device_api.h</text>
+<polygon fill="white" stroke="black" points="479,-581.5 479,-611.5 592,-611.5 592,-581.5 479,-581.5"/>
+<text text-anchor="start" x="487" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="535.5" y="-588.5" font-family="Helvetica,sans-Serif" font-size="10.00">/device_api.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node39 -->
-<g id="edge95" class="edge"><title>Node1&#45;&gt;Node39</title>
-<path fill="none" stroke="midnightblue" d="M1105.69,-925.889C1339.58,-909.4 2110.32,-852.262 2145,-813 2207.8,-741.892 2069.44,-646.874 2011.23,-611.522"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1105.35,-922.404 1095.62,-926.597 1105.84,-929.387 1105.35,-922.404"/>
+<g id="edge96" class="edge"><title>Node1&#45;&gt;Node39</title>
+<path fill="none" stroke="midnightblue" d="M547.421,-908.586C539.765,-900.158 531.584,-890.12 525.5,-880 476.211,-798.011 465.901,-773.068 448.5,-679 445.994,-665.452 441.625,-659.94 448.5,-648 458.173,-631.2 475.814,-619.475 492.695,-611.582"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="545.113,-911.24 554.516,-916.123 550.21,-906.442 545.113,-911.24"/>
 </g>
 <!-- Node40 -->
 <g id="node40" class="node"><title>Node40</title>
 <g id="a_node40"><a xlink:href="runtime_2module_8h.html" target="_top" xlink:title="Runtime container of the functions generated by TVM, This is used to support dynamically link...">
-<polygon fill="white" stroke="black" points="1130.5,-581.5 1130.5,-611.5 1243.5,-611.5 1243.5,-581.5 1130.5,-581.5"/>
-<text text-anchor="start" x="1138.5" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="1187" y="-588.5" font-family="Helvetica,sans-Serif" font-size="10.00">/module.h</text>
+<polygon fill="white" stroke="black" points="933,-581.5 933,-611.5 1046,-611.5 1046,-581.5 933,-581.5"/>
+<text text-anchor="start" x="941" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="989.5" y="-588.5" font-family="Helvetica,sans-Serif" font-size="10.00">/module.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node40 -->
-<g id="edge96" class="edge"><title>Node1&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M1074.3,-911.066C1109.38,-888.864 1158,-848.988 1158,-798.5 1158,-798.5 1158,-798.5 1158,-729.5 1158,-685.624 1173.47,-635.415 1181.82,-611.537"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1072.41,-908.119 1065.71,-916.326 1076.06,-914.089 1072.41,-908.119"/>
+<g id="edge97" class="edge"><title>Node1&#45;&gt;Node40</title>
+<path fill="none" stroke="midnightblue" d="M580.811,-907.163C599.435,-869.654 636.755,-798.482 659.5,-782 716.768,-740.502 751.892,-778.893 814.5,-746 832.603,-736.489 833.319,-728.701 848.5,-715 881.682,-685.053 889.06,-676.49 923.5,-648 938.841,-635.309 956.822,-621.626 970.138,-611.708"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="577.565,-905.831 576.289,-916.349 583.846,-908.923 577.565,-905.831"/>
 </g>
 <!-- Node43 -->
 <g id="node43" class="node"><title>Node43</title>
 <g id="a_node43"><a xlink:href="serializer_8h.html" target="_top" xlink:title="Serializer extension to support TVM data types Include this file to enable serialization of DLDataTyp...">
-<polygon fill="white" stroke="black" points="428.5,-648.5 428.5,-678.5 541.5,-678.5 541.5,-648.5 428.5,-648.5"/>
-<text text-anchor="start" x="436.5" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="485" y="-655.5" font-family="Helvetica,sans-Serif" font-size="10.00">/serializer.h</text>
+<polygon fill="white" stroke="black" points="611,-648.5 611,-678.5 724,-678.5 724,-648.5 611,-648.5"/>
+<text text-anchor="start" x="619" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="667.5" y="-655.5" font-family="Helvetica,sans-Serif" font-size="10.00">/serializer.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node43 -->
-<g id="edge132" class="edge"><title>Node1&#45;&gt;Node43</title>
-<path fill="none" stroke="midnightblue" d="M972.076,-920.375C929.443,-912.524 873.657,-899.62 827,-880 692.763,-823.552 551.448,-717.031 502.72,-678.696"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="971.603,-923.846 982.064,-922.166 972.839,-916.956 971.603,-923.846"/>
+<g id="edge133" class="edge"><title>Node1&#45;&gt;Node43</title>
+<path fill="none" stroke="midnightblue" d="M567.661,-906.005C566.892,-889.752 566.725,-867.997 569.5,-849 573.992,-818.25 576.318,-810.142 589.5,-782 608.299,-741.867 639.507,-699.747 656.179,-678.512"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="564.184,-906.497 568.262,-916.276 571.172,-906.088 564.184,-906.497"/>
 </g>
 <!-- Node44 -->
 <g id="node44" class="node"><title>Node44</title>
 <g id="a_node44"><a xlink:href="memory__manager_8h.html" target="_top" xlink:title="Abstract device memory management API. ">
-<polygon fill="white" stroke="black" points="956.5,-648.5 956.5,-678.5 1091.5,-678.5 1091.5,-648.5 956.5,-648.5"/>
-<text text-anchor="start" x="964.5" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="1024" y="-655.5" font-family="Helvetica,sans-Serif" font-size="10.00">/vm/memory_manager.h</text>
+<polygon fill="white" stroke="black" points="458,-648.5 458,-678.5 593,-678.5 593,-648.5 458,-648.5"/>
+<text text-anchor="start" x="466" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="525.5" y="-655.5" font-family="Helvetica,sans-Serif" font-size="10.00">/vm/memory_manager.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node44 -->
-<g id="edge133" class="edge"><title>Node1&#45;&gt;Node44</title>
-<path fill="none" stroke="midnightblue" d="M1037.62,-906.065C1034.55,-851.572 1027.22,-721.521 1024.79,-678.549"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1034.14,-906.412 1038.19,-916.199 1041.12,-906.017 1034.14,-906.412"/>
+<g id="edge134" class="edge"><title>Node1&#45;&gt;Node44</title>
+<path fill="none" stroke="midnightblue" d="M551.191,-908.054C545.426,-899.734 539.726,-889.904 536.5,-880 512.83,-807.336 519.899,-713.636 523.747,-678.568"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="548.376,-910.134 557.121,-916.116 554.015,-905.986 548.376,-910.134"/>
 </g>
 <!-- Node46 -->
 <g id="node46" class="node"><title>Node46</title>
 <g id="a_node46"><a xlink:href="object_8h.html" target="_top" xlink:title="A managed object in the TVM runtime. ">
-<polygon fill="white" stroke="black" points="1361.5,-849.5 1361.5,-879.5 1474.5,-879.5 1474.5,-849.5 1361.5,-849.5"/>
-<text text-anchor="start" x="1369.5" y="-867.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="1418" y="-856.5" font-family="Helvetica,sans-Serif" font-size="10.00">/object.h</text>
+<polygon fill="white" stroke="black" points="1382,-849.5 1382,-879.5 1495,-879.5 1495,-849.5 1382,-849.5"/>
+<text text-anchor="start" x="1390" y="-867.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="1438.5" y="-856.5" font-family="Helvetica,sans-Serif" font-size="10.00">/object.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node46 -->
-<g id="edge98" class="edge"><title>Node1&#45;&gt;Node46</title>
-<path fill="none" stroke="midnightblue" d="M1105.7,-919.061C1178.3,-906.609 1293.16,-886.911 1361.49,-875.191"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1105,-915.629 1095.74,-920.769 1106.19,-922.528 1105,-915.629"/>
+<g id="edge99" class="edge"><title>Node1&#45;&gt;Node46</title>
+<path fill="none" stroke="midnightblue" d="M636.215,-925.51C801.481,-913.148 1227.62,-881.274 1381.78,-869.743"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="635.893,-922.024 626.182,-926.26 636.416,-929.004 635.893,-922.024"/>
 </g>
 <!-- Node50 -->
 <g id="node50" class="node"><title>Node50</title>
 <g id="a_node50"><a xlink:href="parallel__for_8h.html" target="_top" xlink:title="An implementation to run loop in parallel. ">
-<polygon fill="white" stroke="black" points="2438,-849.5 2438,-879.5 2550,-879.5 2550,-849.5 2438,-849.5"/>
-<text text-anchor="start" x="2446" y="-867.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/support</text>
-<text text-anchor="middle" x="2494" y="-856.5" font-family="Helvetica,sans-Serif" font-size="10.00">/parallel_for.h</text>
+<polygon fill="white" stroke="black" points="2452.5,-849.5 2452.5,-879.5 2564.5,-879.5 2564.5,-849.5 2452.5,-849.5"/>
+<text text-anchor="start" x="2460.5" y="-867.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/support</text>
+<text text-anchor="middle" x="2508.5" y="-856.5" font-family="Helvetica,sans-Serif" font-size="10.00">/parallel_for.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node50 -->
-<g id="edge134" class="edge"><title>Node1&#45;&gt;Node50</title>
-<path fill="none" stroke="midnightblue" d="M1105.87,-929.549C1346,-925.904 2164.21,-911.418 2424,-880 2428.56,-879.449 2433.26,-878.754 2437.97,-877.968"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1105.5,-926.055 1095.55,-929.705 1105.6,-933.054 1105.5,-926.055"/>
+<g id="edge135" class="edge"><title>Node1&#45;&gt;Node50</title>
+<path fill="none" stroke="midnightblue" d="M636.764,-930.28C927.668,-929.085 2079,-921.757 2438.5,-880 2443.06,-879.47 2447.77,-878.791 2452.48,-878.016"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="636.363,-926.782 626.377,-930.322 636.391,-933.782 636.363,-926.782"/>
 </g>
 <!-- Node3 -->
 <g id="node3" class="node"><title>Node3</title>
 <g id="a_node3"><a xlink:href="cost__model_8h.html" target="_top" xlink:title="Cost models that estimate the performance of programs. ">
-<polygon fill="white" stroke="black" points="417.5,-313.5 417.5,-343.5 566.5,-343.5 566.5,-313.5 417.5,-313.5"/>
-<text text-anchor="start" x="425.5" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/auto_scheduler</text>
-<text text-anchor="middle" x="492" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">/cost_model.h</text>
+<polygon fill="white" stroke="black" points="645,-313.5 645,-343.5 794,-343.5 794,-313.5 645,-313.5"/>
+<text text-anchor="start" x="653" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/auto_scheduler</text>
+<text text-anchor="middle" x="719.5" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">/cost_model.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node3 -->
 <g id="edge2" class="edge"><title>Node2&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M311.99,-377.85C351.445,-367.252 401.985,-353.677 439.464,-343.611"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="310.962,-374.502 302.212,-380.476 312.778,-381.262 310.962,-374.502"/>
+<path fill="none" stroke="midnightblue" d="M570.442,-377.228C603.281,-366.713 644.7,-353.451 675.538,-343.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="569.004,-374.013 560.548,-380.396 571.139,-380.68 569.004,-374.013"/>
 </g>
 <!-- Node4 -->
 <g id="node4" class="node"><title>Node4</title>
 <g id="a_node4"><a xlink:href="auto__scheduler_2feature_8h.html" target="_top" xlink:title="Feature extraction for the cost model. We extract one feature vector per BufferStoreNode statement in...">
-<polygon fill="white" stroke="black" points="175.5,-313.5 175.5,-343.5 324.5,-343.5 324.5,-313.5 175.5,-313.5"/>
-<text text-anchor="start" x="183.5" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/auto_scheduler</text>
-<text text-anchor="middle" x="250" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">/feature.h</text>
+<polygon fill="white" stroke="black" points="441,-313.5 441,-343.5 590,-343.5 590,-313.5 441,-313.5"/>
+<text text-anchor="start" x="449" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/auto_scheduler</text>
+<text text-anchor="middle" x="515.5" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">/feature.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node4 -->
 <g id="edge3" class="edge"><title>Node2&#45;&gt;Node4</title>
-<path fill="none" stroke="midnightblue" d="M250,-370.108C250,-361.154 250,-351.323 250,-343.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="246.5,-370.396 250,-380.396 253.5,-370.396 246.5,-370.396"/>
+<path fill="none" stroke="midnightblue" d="M516.125,-370.108C515.987,-361.154 515.836,-351.323 515.717,-343.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="512.63,-370.451 516.283,-380.396 519.629,-370.343 512.63,-370.451"/>
 </g>
 <!-- Node5 -->
 <g id="node5" class="node"><title>Node5</title>
 <g id="a_node5"><a xlink:href="search__task_8h.html" target="_top" xlink:title="Meta information and hardware parameters for a search task. ">
-<polygon fill="white" stroke="red" points="706.5,-179.5 706.5,-209.5 855.5,-209.5 855.5,-179.5 706.5,-179.5"/>
-<text text-anchor="start" x="714.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/auto_scheduler</text>
-<text text-anchor="middle" x="781" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">/search_task.h</text>
+<polygon fill="white" stroke="red" points="1160,-179.5 1160,-209.5 1309,-209.5 1309,-179.5 1160,-179.5"/>
+<text text-anchor="start" x="1168" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/auto_scheduler</text>
+<text text-anchor="middle" x="1234.5" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">/search_task.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node5 -->
 <g id="edge4" class="edge"><title>Node2&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M282.945,-375.26C298.329,-366.071 316.784,-354.755 333,-344 352.634,-330.978 355.005,-323.691 376,-313 484.3,-257.853 622.439,-224.82 706.183,-208.409"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="281.094,-372.288 274.282,-380.403 284.668,-378.307 281.094,-372.288"/>
+<path fill="none" stroke="midnightblue" d="M550.479,-375.085C565.521,-366.11 583.226,-355.013 598.5,-344 615.902,-331.453 616.141,-322.245 635.5,-313 810.98,-229.196 1042.66,-205.161 1159.81,-198.27"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="548.338,-372.285 541.503,-380.38 551.895,-378.314 548.338,-372.285"/>
 </g>
 <!-- Node6 -->
 <g id="node6" class="node"><title>Node6</title>
 <g id="a_node6"><a xlink:href="search__policy_8h.html" target="_top" xlink:title="The base class of search policies, including the abstract definition of search policy and other suppo...">
-<polygon fill="white" stroke="red" points="846.5,-112.5 846.5,-142.5 995.5,-142.5 995.5,-112.5 846.5,-112.5"/>
-<text text-anchor="start" x="854.5" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/auto_scheduler</text>
-<text text-anchor="middle" x="921" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">/search_policy.h</text>
+<polygon fill="white" stroke="red" points="1222,-112.5 1222,-142.5 1371,-142.5 1371,-112.5 1222,-112.5"/>
+<text text-anchor="start" x="1230" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/auto_scheduler</text>
+<text text-anchor="middle" x="1296.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">/search_policy.h</text>
 </a>
 </g>
 </g>
 <!-- Node5&#45;&gt;Node6 -->
 <g id="edge5" class="edge"><title>Node5&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M820.565,-175.131C842.81,-164.802 870.147,-152.11 890.681,-142.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="818.974,-172.01 811.378,-179.396 821.922,-178.359 818.974,-172.01"/>
+<path fill="none" stroke="midnightblue" d="M1254.98,-172.024C1264.22,-162.34 1274.87,-151.174 1283.07,-142.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1252.32,-169.744 1247.95,-179.396 1257.39,-174.576 1252.32,-169.744"/>
 </g>
 <!-- Node7&#45;&gt;Node3 -->
 <g id="edge7" class="edge"><title>Node7&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M1068.45,-386.792C941.636,-374.189 691.545,-349.332 566.646,-336.919"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1068.18,-390.282 1078.47,-387.789 1068.87,-383.317 1068.18,-390.282"/>
+<path fill="none" stroke="midnightblue" d="M1606.61,-389.253C1424.54,-376.99 973.029,-346.577 794.179,-334.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1606.43,-392.749 1616.64,-389.929 1606.9,-385.765 1606.43,-392.749"/>
 </g>
 <!-- Node7&#45;&gt;Node6 -->
 <g id="edge8" class="edge"><title>Node7&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1140.44,-376.407C1137.64,-366.838 1134.35,-354.853 1132,-344 1116.28,-271.445 1155.52,-234.305 1106,-179 1091.01,-162.258 1040.38,-149.13 995.872,-140.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1137.1,-377.424 1143.32,-385.996 1143.8,-375.412 1137.1,-377.424"/>
+<path fill="none" stroke="midnightblue" d="M1606.57,-386.244C1519.46,-376.352 1388.2,-359.206 1370.5,-344 1312.07,-293.809 1344.09,-251.289 1317.5,-179 1312.91,-166.524 1307.06,-152.59 1302.7,-142.525"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1606.37,-389.743 1616.7,-387.384 1607.16,-382.787 1606.37,-389.743"/>
 </g>
 <!-- Node8 -->
 <g id="node8" class="node"><title>Node8</title>
 <g id="a_node8"><a xlink:href="transform__step_8h.html" target="_top" xlink:title="Transformation steps. These steps are used to manipulate LoopState. They are similar to the schedule ...">
-<polygon fill="white" stroke="red" points="1211.5,-313.5 1211.5,-343.5 1360.5,-343.5 1360.5,-313.5 1211.5,-313.5"/>
-<text text-anchor="start" x="1219.5" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/auto_scheduler</text>
-<text text-anchor="middle" x="1286" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">/transform_step.h</text>
+<polygon fill="white" stroke="red" points="1686,-313.5 1686,-343.5 1835,-343.5 1835,-313.5 1686,-313.5"/>
+<text text-anchor="start" x="1694" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/auto_scheduler</text>
+<text text-anchor="middle" x="1760.5" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">/transform_step.h</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node8 -->
 <g id="edge9" class="edge"><title>Node7&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M1173.74,-381.621C1197.42,-370.625 1231.42,-354.841 1255.79,-343.528"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1172.19,-378.483 1164.59,-385.869 1175.13,-384.832 1172.19,-378.483"/>
+<path fill="none" stroke="midnightblue" d="M1702.71,-378.928C1715.28,-368.179 1731.85,-354.002 1744.03,-343.589"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1700.07,-376.574 1694.75,-385.734 1704.62,-381.894 1700.07,-376.574"/>
 </g>
 <!-- Node9 -->
 <g id="node9" class="node"><title>Node9</title>
 <g id="a_node9"><a xlink:href="ir_2adt_8h.html" target="_top" xlink:title="Algebraic data type definitions. ">
-<polygon fill="white" stroke="red" points="1618.5,-118 1618.5,-137 1727.5,-137 1727.5,-118 1618.5,-118"/>
-<text text-anchor="middle" x="1673" y="-125" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/adt.h</text>
+<polygon fill="white" stroke="red" points="1942,-118 1942,-137 2051,-137 2051,-118 1942,-118"/>
+<text text-anchor="middle" x="1996.5" y="-125" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/adt.h</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node9 -->
 <g id="edge10" class="edge"><title>Node7&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M1223.86,-387.114C1280.71,-379.922 1350.89,-366.675 1369,-344 1424.01,-275.139 1200.57,-244.987 1259,-179 1282.46,-152.504 1511.53,-137.025 1618.49,-131.189"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1223.28,-383.659 1213.78,-388.345 1224.13,-390.607 1223.28,-383.659"/>
+<path fill="none" stroke="midnightblue" d="M1762.02,-388.323C1799.75,-381.995 1843.88,-369.314 1876.5,-344 1950.59,-286.504 1985.74,-169.671 1994.35,-137.101"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1761.41,-384.875 1752.07,-389.872 1762.49,-391.792 1761.41,-384.875"/>
 </g>
 <!-- Node10 -->
 <g id="node10" class="node"><title>Node10</title>
 <g id="a_node10"><a xlink:href="ir_2expr_8h.html" target="_top" xlink:title="Base expr nodes in TVM. ">
-<polygon fill="white" stroke="red" points="1447.5,-185 1447.5,-204 1560.5,-204 1560.5,-185 1447.5,-185"/>
-<text text-anchor="middle" x="1504" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/expr.h</text>
+<polygon fill="white" stroke="red" points="1721,-185 1721,-204 1834,-204 1834,-185 1721,-185"/>
+<text text-anchor="middle" x="1777.5" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node10 -->
 <g id="edge11" class="edge"><title>Node7&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M1223.74,-385.695C1287.99,-377.242 1373.17,-362.965 1402,-344 1457.14,-307.731 1490.68,-230.368 1500.76,-204.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1223.09,-382.25 1213.62,-387.001 1223.98,-389.192 1223.09,-382.25"/>
+<path fill="none" stroke="midnightblue" d="M1678.1,-375.845C1673.34,-358.924 1668.88,-333.559 1676.5,-313 1694.64,-264.069 1743.29,-221.821 1765.79,-204.227"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1674.82,-377.103 1681.14,-385.609 1681.51,-375.02 1674.82,-377.103"/>
 </g>
 <!-- Node7&#45;&gt;Node12 -->
-<g id="edge35" class="edge"><title>Node7&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M1146.18,-375.725C1147.08,-329.705 1152.33,-208.038 1182,-112 1186.14,-98.5873 1194.09,-84.3624 1199.47,-75.5798"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1142.67,-375.906 1146.03,-385.957 1149.67,-376.009 1142.67,-375.906"/>
+<g id="edge36" class="edge"><title>Node7&#45;&gt;Node12</title>
+<path fill="none" stroke="midnightblue" d="M1606.55,-385.057C1550.82,-376.835 1482.03,-363.203 1460.5,-344 1378.99,-271.305 1463.67,-181.597 1379.5,-112 1343.11,-81.9108 1211.72,-71.9174 1134.09,-68.615"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1606.39,-388.57 1616.79,-386.529 1607.39,-381.641 1606.39,-388.57"/>
 </g>
 <!-- Node13 -->
 <g id="node13" class="node"><title>Node13</title>
 <g id="a_node13"><a xlink:href="base_8h.html" target="_top" xlink:title="Base classes for the Relay IR. ">
-<polygon fill="white" stroke="red" points="1138,-0.5 1138,-19.5 1272,-19.5 1272,-0.5 1138,-0.5"/>
-<text text-anchor="middle" x="1205" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relay/base.h</text>
+<polygon fill="white" stroke="red" points="1795.5,-0.5 1795.5,-19.5 1929.5,-19.5 1929.5,-0.5 1795.5,-0.5"/>
+<text text-anchor="middle" x="1862.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relay/base.h</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node13 -->
-<g id="edge26" class="edge"><title>Node7&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M1072.18,-384.301C1026.88,-376.536 968.303,-363.749 919,-344 812.016,-301.147 753.65,-310.363 697,-210 690.228,-198.002 689.656,-190.657 697,-179 747.137,-99.4239 1035.81,-40.6211 1154.28,-19.5188"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1071.78,-387.783 1082.22,-385.978 1072.93,-380.879 1071.78,-387.783"/>
-</g>
-<!-- Node15 -->
-<g id="node15" class="node"><title>Node15</title>
-<g id="a_node15"><a xlink:href="var_8h.html" target="_top" xlink:title="Variables in the TIR. ">
-<polygon fill="white" stroke="red" points="1191.5,-118 1191.5,-137 1302.5,-137 1302.5,-118 1191.5,-118"/>
-<text text-anchor="middle" x="1247" y="-125" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/tir/var.h</text>
-</a>
-</g>
-</g>
-<!-- Node7&#45;&gt;Node15 -->
-<g id="edge36" class="edge"><title>Node7&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M1152.47,-376.351C1165.79,-339.16 1197.41,-251.673 1226,-179 1231.84,-164.155 1239.06,-147.046 1243.33,-137.037"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1149.15,-375.237 1149.08,-385.832 1155.74,-377.593 1149.15,-375.237"/>
+<g id="edge27" class="edge"><title>Node7&#45;&gt;Node13</title>
+<path fill="none" stroke="midnightblue" d="M1762.08,-386.202C1791.29,-379.292 1822.48,-366.738 1843.5,-344 1868.75,-316.689 1862.5,-299.694 1862.5,-262.5 1862.5,-262.5 1862.5,-262.5 1862.5,-126.5 1862.5,-86.5964 1862.5,-38.938 1862.5,-19.6934"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1761.3,-382.791 1752.27,-388.336 1762.78,-389.631 1761.3,-382.791"/>
 </g>
 <!-- Node16 -->
 <g id="node16" class="node"><title>Node16</title>
-<g id="a_node16"><a xlink:href="span_8h.html" target="_top" xlink:title="Span information for debugging purposes. ">
-<polygon fill="white" stroke="red" points="1530,-319 1530,-338 1646,-338 1646,-319 1530,-319"/>
-<text text-anchor="middle" x="1588" y="-326" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/span.h</text>
+<g id="a_node16"><a xlink:href="var_8h.html" target="_top" xlink:title="Variables in the TIR. ">
+<polygon fill="white" stroke="red" points="1478,-118 1478,-137 1589,-137 1589,-118 1478,-118"/>
+<text text-anchor="middle" x="1533.5" y="-125" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/tir/var.h</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node16 -->
-<g id="edge19" class="edge"><title>Node7&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M1214.22,-384.467C1300.79,-371.737 1448.59,-350.001 1529.98,-338.032"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1213.62,-381.018 1204.24,-385.936 1214.64,-387.943 1213.62,-381.018"/>
+<g id="edge37" class="edge"><title>Node7&#45;&gt;Node16</title>
+<path fill="none" stroke="midnightblue" d="M1607.03,-386.304C1552.95,-378.799 1487.53,-365.521 1470.5,-344 1459.46,-330.051 1461.77,-267.24 1476.5,-246 1497.57,-215.616 1531.81,-241.295 1551.5,-210 1566.24,-186.575 1548.97,-152.737 1539.24,-137.064"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1606.6,-389.778 1616.98,-387.638 1607.53,-382.84 1606.6,-389.778"/>
 </g>
 <!-- Node17 -->
 <g id="node17" class="node"><title>Node17</title>
-<g id="a_node17"><a xlink:href="ir_2type_8h.html" target="_top" xlink:title="IR/AST nodes for the unified type system in TVM. ">
-<polygon fill="white" stroke="red" points="1616,-252 1616,-271 1730,-271 1730,-252 1616,-252"/>
-<text text-anchor="middle" x="1673" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/type.h</text>
+<g id="a_node17"><a xlink:href="span_8h.html" target="_top" xlink:title="Span information for debugging purposes. ">
+<polygon fill="white" stroke="red" points="2194.5,-319 2194.5,-338 2310.5,-338 2310.5,-319 2194.5,-319"/>
+<text text-anchor="middle" x="2252.5" y="-326" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/span.h</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node17 -->
-<g id="edge25" class="edge"><title>Node7&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M1223.92,-391.74C1358.56,-386.248 1623.47,-371.997 1655,-344 1676.02,-325.334 1675.52,-288.155 1674.04,-271.241"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1223.52,-388.253 1213.67,-392.151 1223.8,-395.247 1223.52,-388.253"/>
+<g id="edge20" class="edge"><title>Node7&#45;&gt;Node17</title>
+<path fill="none" stroke="midnightblue" d="M1762.34,-385.592C1877.69,-372.392 2091.43,-347.932 2194.26,-336.165"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1761.71,-382.142 1752.17,-386.756 1762.5,-389.097 1761.71,-382.142"/>
 </g>
 <!-- Node18 -->
 <g id="node18" class="node"><title>Node18</title>
-<g id="a_node18"><a xlink:href="tag_8h.html" target="_top" xlink:title="Target tag registry. ">
-<polygon fill="white" stroke="black" points="993,-179.5 993,-209.5 1097,-209.5 1097,-179.5 993,-179.5"/>
-<text text-anchor="start" x="1001" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/target</text>
-<text text-anchor="middle" x="1045" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">/tag.h</text>
+<g id="a_node18"><a xlink:href="ir_2type_8h.html" target="_top" xlink:title="IR/AST nodes for the unified type system in TVM. ">
+<polygon fill="white" stroke="red" points="2024.5,-252 2024.5,-271 2138.5,-271 2138.5,-252 2024.5,-252"/>
+<text text-anchor="middle" x="2081.5" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/type.h</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node18 -->
-<g id="edge27" class="edge"><title>Node7&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M1126.28,-379.382C1115.45,-370.179 1102.51,-357.6 1094,-344 1066.05,-299.359 1052.32,-237.097 1047.31,-209.556"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1124.09,-382.112 1134.05,-385.721 1128.52,-376.688 1124.09,-382.112"/>
+<g id="edge26" class="edge"><title>Node7&#45;&gt;Node18</title>
+<path fill="none" stroke="midnightblue" d="M1750.8,-384.256C1797.38,-376.023 1860.73,-362.724 1914.5,-344 1973.3,-323.525 2038.36,-287.6 2066.82,-271.158"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1750.08,-380.829 1740.83,-385.987 1751.28,-387.726 1750.08,-380.829"/>
 </g>
 <!-- Node19 -->
 <g id="node19" class="node"><title>Node19</title>
-<g id="a_node19"><a xlink:href="target_8h.html" target="_top" xlink:title="Compilation target object. ">
-<polygon fill="white" stroke="red" points="906,-246.5 906,-276.5 1010,-276.5 1010,-246.5 906,-246.5"/>
-<text text-anchor="start" x="914" y="-264.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/target</text>
-<text text-anchor="middle" x="958" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">/target.h</text>
+<g id="a_node19"><a xlink:href="tag_8h.html" target="_top" xlink:title="Target tag registry. ">
+<polygon fill="white" stroke="black" points="1598.5,-179.5 1598.5,-209.5 1702.5,-209.5 1702.5,-179.5 1598.5,-179.5"/>
+<text text-anchor="start" x="1606.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/target</text>
+<text text-anchor="middle" x="1650.5" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">/tag.h</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node19 -->
 <g id="edge28" class="edge"><title>Node7&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M1068.26,-386.562C1013.28,-379.156 946.379,-365.887 929,-344 912.937,-323.77 931.55,-293.934 945.494,-276.532"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1068,-390.058 1078.37,-387.877 1068.91,-383.116 1068,-390.058"/>
+<path fill="none" stroke="midnightblue" d="M1667.47,-378.8C1658.79,-369.612 1649.11,-357.235 1644.5,-344 1628.13,-296.969 1639.85,-236.448 1646.61,-209.509"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1665.14,-381.417 1674.69,-385.995 1670.08,-376.458 1665.14,-381.417"/>
 </g>
-<!-- Node22 -->
-<g id="node22" class="node"><title>Node22</title>
-<g id="a_node22"><a xlink:href="target__kind_8h.html" target="_top" xlink:title="Target kind registry. ">
-<polygon fill="white" stroke="black" points="938,-313.5 938,-343.5 1042,-343.5 1042,-313.5 938,-313.5"/>
-<text text-anchor="start" x="946" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/target</text>
-<text text-anchor="middle" x="990" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">/target_kind.h</text>
+<!-- Node20 -->
+<g id="node20" class="node"><title>Node20</title>
+<g id="a_node20"><a xlink:href="target_8h.html" target="_top" xlink:title="Compilation target object. ">
+<polygon fill="white" stroke="red" points="1485.5,-246.5 1485.5,-276.5 1589.5,-276.5 1589.5,-246.5 1485.5,-246.5"/>
+<text text-anchor="start" x="1493.5" y="-264.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/target</text>
+<text text-anchor="middle" x="1537.5" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">/target.h</text>
 </a>
 </g>
 </g>
-<!-- Node7&#45;&gt;Node22 -->
-<g id="edge33" class="edge"><title>Node7&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M1115.79,-381.913C1089.37,-370.906 1051.06,-354.942 1023.67,-343.528"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1114.71,-385.253 1125.28,-385.869 1117.4,-378.792 1114.71,-385.253"/>
+<!-- Node7&#45;&gt;Node20 -->
+<g id="edge29" class="edge"><title>Node7&#45;&gt;Node20</title>
+<path fill="none" stroke="midnightblue" d="M1606.8,-385.335C1555.69,-377.524 1495.4,-364.287 1479.5,-344 1461.51,-321.034 1492.11,-293.112 1515.27,-276.629"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1606.48,-388.826 1616.89,-386.826 1607.51,-381.901 1606.48,-388.826"/>
+</g>
+<!-- Node23 -->
+<g id="node23" class="node"><title>Node23</title>
+<g id="a_node23"><a xlink:href="target__kind_8h.html" target="_top" xlink:title="Target kind registry. ">
+<polygon fill="white" stroke="black" points="1488.5,-313.5 1488.5,-343.5 1592.5,-343.5 1592.5,-313.5 1488.5,-313.5"/>
+<text text-anchor="start" x="1496.5" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/target</text>
+<text text-anchor="middle" x="1540.5" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">/target_kind.h</text>
+</a>
+</g>
+</g>
+<!-- Node7&#45;&gt;Node23 -->
+<g id="edge34" class="edge"><title>Node7&#45;&gt;Node23</title>
+<path fill="none" stroke="midnightblue" d="M1655.97,-381.621C1631.61,-370.625 1596.64,-354.841 1571.58,-343.528"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1654.82,-384.944 1665.38,-385.869 1657.7,-378.564 1654.82,-384.944"/>
 </g>
 <!-- Node10&#45;&gt;Node9 -->
 <g id="edge12" class="edge"><title>Node10&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M1535.8,-181.271C1569.34,-168.37 1621.32,-148.376 1650.73,-137.064"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1534.52,-178.012 1526.44,-184.869 1537.03,-184.545 1534.52,-178.012"/>
+<path fill="none" stroke="midnightblue" d="M1816.21,-182.01C1859.56,-169.145 1928.8,-148.594 1967.65,-137.064"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1815.17,-178.668 1806.58,-184.869 1817.16,-185.378 1815.17,-178.668"/>
 </g>
 <!-- Node11 -->
 <g id="node11" class="node"><title>Node11</title>
 <g id="a_node11"><a xlink:href="ir_2attrs_8h.html" target="_top" xlink:title="Helpers for attribute objects. ">
-<polygon fill="white" stroke="red" points="459,-118 459,-137 575,-137 575,-118 459,-118"/>
-<text text-anchor="middle" x="517" y="-125" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/attrs.h</text>
+<polygon fill="white" stroke="red" points="1017.5,-118 1017.5,-137 1133.5,-137 1133.5,-118 1017.5,-118"/>
+<text text-anchor="middle" x="1075.5" y="-125" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/attrs.h</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node11 -->
 <g id="edge13" class="edge"><title>Node10&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M1460.36,-182.873C1452.93,-181.365 1445.27,-179.992 1438,-179 1352.91,-167.398 763.816,-139.784 575.055,-131.136"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1459.76,-186.325 1470.27,-184.992 1461.22,-179.48 1459.76,-186.325"/>
+<path fill="none" stroke="midnightblue" d="M1732.85,-182.779C1725.74,-181.336 1718.44,-180.008 1711.5,-179 1491.45,-147.061 1433.98,-162.704 1212.5,-143 1186.65,-140.7 1158.1,-137.745 1133.79,-135.104"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1732.57,-186.297 1743.08,-184.954 1734.02,-179.45 1732.57,-186.297"/>
 </g>
 <!-- Node10&#45;&gt;Node12 -->
 <g id="edge14" class="edge"><title>Node10&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M1474.03,-180.82C1413.25,-155.105 1276.89,-97.4161 1225.3,-75.5884"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1472.88,-184.132 1483.45,-184.805 1475.6,-177.685 1472.88,-184.132"/>
+<path fill="none" stroke="midnightblue" d="M1754.23,-179.836C1720.8,-160.955 1656.71,-127.47 1597.5,-112 1511.36,-89.4933 1251.75,-75.0951 1134.32,-69.5645"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1752.77,-183.038 1763.19,-184.969 1756.25,-176.963 1752.77,-183.038"/>
 </g>
-<!-- Node10&#45;&gt;Node15 -->
-<g id="edge17" class="edge"><title>Node10&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M1460.13,-182.404C1409.41,-169.576 1327.01,-148.736 1280.94,-137.083"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1459.58,-185.877 1470.14,-184.936 1461.3,-179.09 1459.58,-185.877"/>
+<!-- Node10&#45;&gt;Node16 -->
+<g id="edge18" class="edge"><title>Node10&#45;&gt;Node16</title>
+<path fill="none" stroke="midnightblue" d="M1735.54,-182.323C1687.37,-169.489 1609.37,-148.712 1565.72,-137.083"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1734.79,-185.743 1745.35,-184.936 1736.59,-178.979 1734.79,-185.743"/>
 </g>
 <!-- Node12&#45;&gt;Node13 -->
 <g id="edge15" class="edge"><title>Node12&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M1205,-45.8045C1205,-36.9102 1205,-26.7798 1205,-19.7511"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1201.5,-46.083 1205,-56.083 1208.5,-46.083 1201.5,-46.083"/>
+<path fill="none" stroke="midnightblue" d="M1144.43,-60.2704C1294.11,-50.0003 1647.28,-25.7676 1795.34,-15.6084"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1143.75,-56.8089 1134.01,-60.9853 1144.23,-63.7925 1143.75,-56.8089"/>
 </g>
 <!-- Node14 -->
 <g id="node14" class="node"><title>Node14</title>
 <g id="a_node14"><a xlink:href="autodiff_8h.html" target="_top" xlink:title="Automatic differentiation of tensor expressions. ">
-<polygon fill="white" stroke="black" points="1647.5,-0.5 1647.5,-19.5 1780.5,-19.5 1780.5,-0.5 1647.5,-0.5"/>
-<text text-anchor="middle" x="1714" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/te/autodiff.h</text>
+<polygon fill="white" stroke="black" points="362,-0.5 362,-19.5 495,-19.5 495,-0.5 362,-0.5"/>
+<text text-anchor="middle" x="428.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/te/autodiff.h</text>
 </a>
 </g>
 </g>
 <!-- Node12&#45;&gt;Node14 -->
 <g id="edge16" class="edge"><title>Node12&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M1273.98,-57.6816C1372,-47.2829 1550.4,-28.3566 1647.2,-18.0865"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1273.46,-54.2172 1263.89,-58.7528 1274.2,-61.1782 1273.46,-54.2172"/>
-</g>
-<!-- Node15&#45;&gt;Node12 -->
-<g id="edge18" class="edge"><title>Node15&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M1235,-109.505C1227.16,-98.388 1217.24,-84.3395 1211.01,-75.5091"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1232.36,-111.824 1240.98,-117.975 1238.07,-107.787 1232.36,-111.824"/>
-</g>
-<!-- Node16&#45;&gt;Node10 -->
-<g id="edge20" class="edge"><title>Node16&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M1577.05,-310.292C1558.85,-281.693 1523.03,-225.41 1509.42,-204.021"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1574.17,-312.282 1582.49,-318.839 1580.07,-308.523 1574.17,-312.282"/>
-</g>
-<!-- Node16&#45;&gt;Node13 -->
-<g id="edge24" class="edge"><title>Node16&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M1590.97,-308.675C1594.69,-278.27 1597.49,-217.841 1569,-179 1494.29,-77.1364 1342.55,-35.2655 1260.56,-19.5222"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1587.48,-308.363 1589.56,-318.751 1594.41,-309.331 1587.48,-308.363"/>
-</g>
-<!-- Node16&#45;&gt;Node17 -->
-<g id="edge21" class="edge"><title>Node16&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M1607.53,-312.568C1624.3,-299.738 1647.91,-281.685 1661.72,-271.127"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1605.28,-309.879 1599.46,-318.734 1609.53,-315.44 1605.28,-309.879"/>
-</g>
-<!-- Node17&#45;&gt;Node9 -->
-<g id="edge22" class="edge"><title>Node17&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M1673,-241.775C1673,-212.746 1673,-158.038 1673,-137.021"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1669.5,-241.839 1673,-251.839 1676.5,-241.839 1669.5,-241.839"/>
+<path fill="none" stroke="midnightblue" d="M1006.73,-59.2601C881.654,-48.8212 618.501,-26.8579 495.07,-16.5561"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1006.69,-62.7687 1016.94,-60.1126 1007.27,-55.7929 1006.69,-62.7687"/>
 </g>
-<!-- Node17&#45;&gt;Node10 -->
-<g id="edge23" class="edge"><title>Node17&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M1641.2,-248.271C1607.66,-235.37 1555.68,-215.376 1526.27,-204.064"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1639.97,-251.545 1650.56,-251.869 1642.48,-245.012 1639.97,-251.545"/>
-</g>
-<!-- Node19&#45;&gt;Node5 -->
-<g id="edge29" class="edge"><title>Node19&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M909.852,-242.819C881.402,-232.371 845.872,-219.323 819.331,-209.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="909,-246.234 919.594,-246.396 911.413,-239.663 909,-246.234"/>
+<!-- Node15 -->
+<g id="node15" class="node"><title>Node15</title>
+<g id="a_node15"><a xlink:href="tir_2function_8h.html" target="_top" xlink:title="TIR Function. ">
+<polygon fill="white" stroke="red" points="643,-0.5 643,-19.5 778,-19.5 778,-0.5 643,-0.5"/>
+<text text-anchor="middle" x="710.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/tir/function.h</text>
+</a>
 </g>
-<!-- Node19&#45;&gt;Node18 -->
-<g id="edge32" class="edge"><title>Node19&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M985.214,-240.168C998.518,-230.228 1014.2,-218.514 1026.16,-209.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="982.794,-237.607 976.878,-246.396 986.984,-243.215 982.794,-237.607"/>
 </g>
-<!-- Node20 -->
-<g id="node20" class="node"><title>Node20</title>
-<g id="a_node20"><a xlink:href="driver__api_8h.html" target="_top" xlink:title="Compiler driver APIs to drive the compilation. ">
-<polygon fill="white" stroke="black" points="873,-179.5 873,-209.5 975,-209.5 975,-179.5 873,-179.5"/>
-<text text-anchor="start" x="881" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/driver</text>
-<text text-anchor="middle" x="924" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">/driver_api.h</text>
-</a>
+<!-- Node12&#45;&gt;Node15 -->
+<g id="edge17" class="edge"><title>Node12&#45;&gt;Node15</title>
+<path fill="none" stroke="midnightblue" d="M1007.77,-54.9794C938.821,-44.7791 833.094,-29.1372 768.065,-19.5164"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1007.26,-58.4422 1017.66,-56.4435 1008.28,-51.5176 1007.26,-58.4422"/>
 </g>
+<!-- Node16&#45;&gt;Node12 -->
+<g id="edge19" class="edge"><title>Node16&#45;&gt;Node12</title>
+<path fill="none" stroke="midnightblue" d="M1467.71,-117.509C1454.09,-115.668 1439.83,-113.758 1426.5,-112 1323.72,-98.4471 1203.92,-83.2085 1134.21,-74.3955"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1467.6,-121.025 1477.98,-118.898 1468.54,-114.088 1467.6,-121.025"/>
 </g>
-<!-- Node19&#45;&gt;Node20 -->
-<g id="edge30" class="edge"><title>Node19&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M945.856,-237.283C941.012,-228.022 935.593,-217.663 931.363,-209.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="942.886,-239.157 950.623,-246.396 949.089,-235.913 942.886,-239.157"/>
+<!-- Node17&#45;&gt;Node10 -->
+<g id="edge21" class="edge"><title>Node17&#45;&gt;Node10</title>
+<path fill="none" stroke="midnightblue" d="M2242.51,-310.074C2230.48,-290.855 2208.35,-260.709 2180.5,-246 2121.66,-214.921 1930.51,-202.218 1834.14,-197.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2239.58,-311.984 2247.73,-318.752 2245.58,-308.378 2239.58,-311.984"/>
+</g>
+<!-- Node17&#45;&gt;Node13 -->
+<g id="edge25" class="edge"><title>Node17&#45;&gt;Node13</title>
+<path fill="none" stroke="midnightblue" d="M2245.96,-309.298C2239.21,-291.978 2227.55,-265.709 2212.5,-246 2119.65,-124.434 1945.13,-44.7307 1884.17,-19.562"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2242.73,-310.651 2249.52,-318.788 2249.29,-308.195 2242.73,-310.651"/>
+</g>
+<!-- Node17&#45;&gt;Node18 -->
+<g id="edge22" class="edge"><title>Node17&#45;&gt;Node18</title>
+<path fill="none" stroke="midnightblue" d="M2220.33,-315.271C2186.39,-302.37 2133.79,-282.376 2104.03,-271.064"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2219.2,-318.587 2229.79,-318.869 2221.69,-312.044 2219.2,-318.587"/>
+</g>
+<!-- Node18&#45;&gt;Node9 -->
+<g id="edge23" class="edge"><title>Node18&#45;&gt;Node9</title>
+<path fill="none" stroke="midnightblue" d="M2070.42,-243.292C2052,-214.693 2015.76,-158.41 2001.99,-137.021"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2067.57,-245.326 2075.92,-251.839 2073.45,-241.537 2067.57,-245.326"/>
+</g>
+<!-- Node18&#45;&gt;Node10 -->
+<g id="edge24" class="edge"><title>Node18&#45;&gt;Node10</title>
+<path fill="none" stroke="midnightblue" d="M2031.47,-249.803C1971.65,-237.012 1872.71,-215.858 1817.64,-204.083"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2030.93,-253.267 2041.44,-251.936 2032.4,-246.422 2030.93,-253.267"/>
+</g>
+<!-- Node20&#45;&gt;Node5 -->
+<g id="edge30" class="edge"><title>Node20&#45;&gt;Node5</title>
+<path fill="none" stroke="midnightblue" d="M1475.48,-247.195C1424.32,-236.22 1351.95,-220.696 1299.89,-209.528"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1474.9,-250.651 1485.41,-249.326 1476.37,-243.806 1474.9,-250.651"/>
+</g>
+<!-- Node20&#45;&gt;Node19 -->
+<g id="edge33" class="edge"><title>Node20&#45;&gt;Node19</title>
+<path fill="none" stroke="midnightblue" d="M1570.89,-241.296C1588.57,-231.125 1609.9,-218.855 1626.03,-209.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1568.94,-238.376 1562.02,-246.396 1572.43,-244.444 1568.94,-238.376"/>
 </g>
 <!-- Node21 -->
 <g id="node21" class="node"><title>Node21</title>
-<g id="a_node21"><a xlink:href="interpreter_8h.html" target="_top" xlink:title="An interpreter for Relay. ">
-<polygon fill="white" stroke="black" points="1268.5,-185 1268.5,-204 1429.5,-204 1429.5,-185 1268.5,-185"/>
-<text text-anchor="middle" x="1349" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relay/interpreter.h</text>
+<g id="a_node21"><a xlink:href="driver__api_8h.html" target="_top" xlink:title="Compiler driver APIs to drive the compilation. ">
+<polygon fill="white" stroke="black" points="1440.5,-179.5 1440.5,-209.5 1542.5,-209.5 1542.5,-179.5 1440.5,-179.5"/>
+<text text-anchor="start" x="1448.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/driver</text>
+<text text-anchor="middle" x="1491.5" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">/driver_api.h</text>
 </a>
 </g>
 </g>
-<!-- Node19&#45;&gt;Node21 -->
-<g id="edge31" class="edge"><title>Node19&#45;&gt;Node21</title>
-<path fill="none" stroke="midnightblue" d="M1020.35,-250.136C1097.15,-237.367 1226.21,-215.913 1297.6,-204.044"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1019.62,-246.709 1010.33,-251.801 1020.76,-253.614 1019.62,-246.709"/>
+<!-- Node20&#45;&gt;Node21 -->
+<g id="edge31" class="edge"><title>Node20&#45;&gt;Node21</title>
+<path fill="none" stroke="midnightblue" d="M1521.69,-238.157C1514.98,-228.679 1507.37,-217.919 1501.46,-209.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1518.88,-240.255 1527.52,-246.396 1524.6,-236.211 1518.88,-240.255"/>
 </g>
-<!-- Node22&#45;&gt;Node19 -->
-<g id="edge34" class="edge"><title>Node22&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M978.57,-304.283C974.011,-295.022 968.911,-284.663 964.93,-276.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="975.499,-305.97 983.056,-313.396 981.78,-302.878 975.499,-305.97"/>
+<!-- Node22 -->
+<g id="node22" class="node"><title>Node22</title>
+<g id="a_node22"><a xlink:href="interpreter_8h.html" target="_top" xlink:title="An interpreter for Relay. ">
+<polygon fill="white" stroke="black" points="2264,-185 2264,-204 2425,-204 2425,-185 2264,-185"/>
+<text text-anchor="middle" x="2344.5" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relay/interpreter.h</text>
+</a>
 </g>
-<!-- Node23&#45;&gt;Node7 -->
-<g id="edge39" class="edge"><title>Node23&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M613.881,-452.287C738.905,-439.179 965.44,-415.43 1078.3,-403.597"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="613.163,-448.843 603.582,-453.366 613.893,-455.805 613.163,-448.843"/>
 </g>
-<!-- Node24 -->
-<g id="node24" class="node"><title>Node24</title>
-<g id="a_node24"><a xlink:href="env__func_8h.html" target="_top" xlink:title="Serializable global function used in IR. ">
-<polygon fill="white" stroke="red" points="475.5,-380.5 475.5,-410.5 576.5,-410.5 576.5,-380.5 475.5,-380.5"/>
-<text text-anchor="start" x="483.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/env</text>
-<text text-anchor="middle" x="526" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">_func.h</text>
-</a>
+<!-- Node20&#45;&gt;Node22 -->
+<g id="edge32" class="edge"><title>Node20&#45;&gt;Node22</title>
+<path fill="none" stroke="midnightblue" d="M1599.54,-255.503C1744.02,-243.866 2102.83,-214.966 2263.94,-201.989"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1599.2,-252.019 1589.52,-256.31 1599.77,-258.996 1599.2,-252.019"/>
 </g>
+<!-- Node23&#45;&gt;Node20 -->
+<g id="edge35" class="edge"><title>Node23&#45;&gt;Node20</title>
+<path fill="none" stroke="midnightblue" d="M1539.39,-303.403C1538.97,-294.37 1538.51,-284.408 1538.15,-276.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1535.89,-303.568 1539.85,-313.396 1542.88,-303.245 1535.89,-303.568"/>
 </g>
-<!-- Node23&#45;&gt;Node24 -->
-<g id="edge38" class="edge"><title>Node23&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M526,-442.411C526,-432.222 526,-419.901 526,-410.589"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="522.5,-442.734 526,-452.734 529.5,-442.734 522.5,-442.734"/>
+<!-- Node24&#45;&gt;Node7 -->
+<g id="edge40" class="edge"><title>Node24&#45;&gt;Node7</title>
+<path fill="none" stroke="midnightblue" d="M1355.87,-451.272C1432.4,-438.517 1561.86,-416.941 1633.31,-405.032"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1355.18,-447.839 1345.89,-452.936 1356.33,-454.744 1355.18,-447.839"/>
 </g>
-<!-- Node28 -->
-<g id="node28" class="node"><title>Node28</title>
-<g id="a_node28"><a xlink:href="func__registry_8h.html" target="_top" xlink:title="Defines generic string&#45;based function lookup structs. ">
-<polygon fill="white" stroke="black" points="2230.5,-782.5 2230.5,-812.5 2343.5,-812.5 2343.5,-782.5 2230.5,-782.5"/>
-<text text-anchor="start" x="2238.5" y="-800.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="2287" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00">/crt/func_registry.h</text>
+<!-- Node25 -->
+<g id="node25" class="node"><title>Node25</title>
+<g id="a_node25"><a xlink:href="env__func_8h.html" target="_top" xlink:title="Serializable global function used in IR. ">
+<polygon fill="white" stroke="red" points="1244,-380.5 1244,-410.5 1345,-410.5 1345,-380.5 1244,-380.5"/>
+<text text-anchor="start" x="1252" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/env</text>
+<text text-anchor="middle" x="1294.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">_func.h</text>
 </a>
 </g>
 </g>
-<!-- Node27&#45;&gt;Node28 -->
-<g id="edge43" class="edge"><title>Node27&#45;&gt;Node28</title>
-<path fill="none" stroke="midnightblue" d="M2287,-839.108C2287,-830.154 2287,-820.323 2287,-812.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2283.5,-839.396 2287,-849.396 2290.5,-839.396 2283.5,-839.396"/>
+<!-- Node24&#45;&gt;Node25 -->
+<g id="edge39" class="edge"><title>Node24&#45;&gt;Node25</title>
+<path fill="none" stroke="midnightblue" d="M1294.5,-442.411C1294.5,-432.222 1294.5,-419.901 1294.5,-410.589"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1291,-442.734 1294.5,-452.734 1298,-442.734 1291,-442.734"/>
 </g>
 <!-- Node29 -->
 <g id="node29" class="node"><title>Node29</title>
-<g id="a_node29"><a xlink:href="runtime_2crt_2module_8h.html" target="_top" xlink:title="Runtime container of the functions. ">
-<polygon fill="white" stroke="black" points="2249.5,-715.5 2249.5,-745.5 2362.5,-745.5 2362.5,-715.5 2249.5,-715.5"/>
-<text text-anchor="start" x="2257.5" y="-733.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="2306" y="-722.5" font-family="Helvetica,sans-Serif" font-size="10.00">/crt/module.h</text>
+<g id="a_node29"><a xlink:href="func__registry_8h.html" target="_top" xlink:title="Defines generic string&#45;based function lookup structs. ">
+<polygon fill="white" stroke="black" points="81,-782.5 81,-812.5 194,-812.5 194,-782.5 81,-782.5"/>
+<text text-anchor="start" x="89" y="-800.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="137.5" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00">/crt/func_registry.h</text>
 </a>
 </g>
 </g>
-<!-- Node27&#45;&gt;Node29 -->
-<g id="edge47" class="edge"><title>Node27&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M2323.95,-843.719C2335.05,-835.762 2345.89,-825.479 2352,-813 2358.06,-800.625 2356.97,-794.848 2352,-782 2346.43,-767.623 2334.66,-754.825 2324.42,-745.71"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2321.87,-840.896 2315.48,-849.347 2325.75,-846.725 2321.87,-840.896"/>
-</g>
 <!-- Node28&#45;&gt;Node29 -->
 <g id="edge44" class="edge"><title>Node28&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M2293.96,-772.697C2296.62,-763.587 2299.57,-753.493 2301.89,-745.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2290.57,-771.816 2291.12,-782.396 2297.29,-773.78 2290.57,-771.816"/>
+<path fill="none" stroke="midnightblue" d="M162.098,-840.576C156.641,-831.241 150.507,-820.748 145.729,-812.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="159.186,-842.529 167.255,-849.396 165.229,-838.997 159.186,-842.529"/>
+</g>
+<!-- Node30 -->
+<g id="node30" class="node"><title>Node30</title>
+<g id="a_node30"><a xlink:href="runtime_2crt_2module_8h.html" target="_top" xlink:title="Runtime container of the functions. ">
+<polygon fill="white" stroke="black" points="81,-715.5 81,-745.5 194,-745.5 194,-715.5 81,-715.5"/>
+<text text-anchor="start" x="89" y="-733.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="137.5" y="-722.5" font-family="Helvetica,sans-Serif" font-size="10.00">/crt/module.h</text>
+</a>
+</g>
+</g>
+<!-- Node28&#45;&gt;Node30 -->
+<g id="edge48" class="edge"><title>Node28&#45;&gt;Node30</title>
+<path fill="none" stroke="midnightblue" d="M192.202,-840.928C202.401,-824.2 211.843,-801.091 202.5,-782 194.836,-766.341 179.715,-754.138 165.984,-745.653"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="189.137,-839.219 186.572,-849.499 194.988,-843.062 189.137,-839.219"/>
 </g>
 <!-- Node29&#45;&gt;Node30 -->
 <g id="edge45" class="edge"><title>Node29&#45;&gt;Node30</title>
-<path fill="none" stroke="midnightblue" d="M2306,-705.108C2306,-696.154 2306,-686.323 2306,-678.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2302.5,-705.396 2306,-715.396 2309.5,-705.396 2302.5,-705.396"/>
+<path fill="none" stroke="midnightblue" d="M137.5,-772.108C137.5,-763.154 137.5,-753.323 137.5,-745.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="134,-772.396 137.5,-782.396 141,-772.396 134,-772.396"/>
 </g>
 <!-- Node30&#45;&gt;Node31 -->
 <g id="edge46" class="edge"><title>Node30&#45;&gt;Node31</title>
-<path fill="none" stroke="midnightblue" d="M2288.36,-640.447C2280.72,-630.899 2272,-620.004 2265.26,-611.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2285.74,-642.774 2294.72,-648.396 2291.2,-638.401 2285.74,-642.774"/>
-</g>
-<!-- Node32&#45;&gt;Node12 -->
-<g id="edge93" class="edge"><title>Node32&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M271.412,-778.572C252.697,-770.485 232.195,-759.642 216,-746 188.18,-722.567 188.264,-709.854 169,-679 83.6239,-542.26 72,-490.705 72,-329.5 72,-329.5 72,-329.5 72,-193.5 72,-84.2709 914.464,-69.3578 1146.47,-67.3219"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="270.137,-781.833 280.714,-782.436 272.821,-775.368 270.137,-781.833"/>
-</g>
-<!-- Node32&#45;&gt;Node15 -->
-<g id="edge94" class="edge"><title>Node32&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M277.775,-777.514C263.819,-769.637 249.61,-759.199 240,-746 125.088,-588.165 46.0207,-467.018 166,-313 315.578,-120.986 457.084,-220.029 697,-179 791.043,-162.917 1071.22,-141.323 1191.33,-132.504"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="276.384,-780.738 286.859,-782.324 279.66,-774.552 276.384,-780.738"/>
-</g>
-<!-- Node32&#45;&gt;Node17 -->
-<g id="edge51" class="edge"><title>Node32&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M295.388,-775.868C267.34,-752.325 228,-711.013 228,-664.5 228,-664.5 228,-664.5 228,-528.5 228,-458.465 288.352,-464.959 333,-411 367.965,-368.743 359.319,-338.266 408,-313 435.159,-298.904 1372.79,-271.105 1615.9,-264.121"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="293.348,-778.719 303.316,-782.309 297.761,-773.286 293.348,-778.719"/>
+<path fill="none" stroke="midnightblue" d="M124.098,-706.576C118.641,-697.241 112.507,-686.748 107.729,-678.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.186,-708.529 129.255,-715.396 127.229,-704.997 121.186,-708.529"/>
+</g>
+<!-- Node31&#45;&gt;Node32 -->
+<g id="edge47" class="edge"><title>Node31&#45;&gt;Node32</title>
+<path fill="none" stroke="midnightblue" d="M84.8755,-639.867C78.7969,-630.459 71.9308,-619.833 66.5956,-611.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="82.0197,-641.896 90.3866,-648.396 87.8991,-638.097 82.0197,-641.896"/>
+</g>
+<!-- Node33&#45;&gt;Node12 -->
+<g id="edge94" class="edge"><title>Node33&#45;&gt;Node12</title>
+<path fill="none" stroke="midnightblue" d="M1058.53,-790.927C953.01,-781.796 752.934,-762.965 683.5,-746 646.055,-736.851 639.352,-726.302 602.5,-715 535.3,-694.391 512.41,-708.26 448.5,-679 392.526,-653.373 336.5,-659.062 336.5,-597.5 336.5,-597.5 336.5,-597.5 336.5,-461.5 336.5,-366.825 412.5,-357.175 412.5,-262.5 412.5,-262.5 412.5,-262.5 412.5,-193.5 412.5,-132.237 854.931,-86.6491 1016.95,-72.0085"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1058.48,-794.436 1068.74,-791.807 1059.08,-787.462 1058.48,-794.436"/>
+</g>
+<!-- Node33&#45;&gt;Node16 -->
+<g id="edge95" class="edge"><title>Node33&#45;&gt;Node16</title>
+<path fill="none" stroke="midnightblue" d="M1129.72,-772.408C1143.79,-693.964 1190.64,-447.061 1234.5,-380 1302.97,-275.317 1330.25,-252.449 1431.5,-179 1456.61,-160.784 1489.29,-145.917 1510.8,-137.143"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1126.26,-771.865 1127.96,-782.323 1133.16,-773.09 1126.26,-771.865"/>
+</g>
+<!-- Node33&#45;&gt;Node18 -->
+<g id="edge52" class="edge"><title>Node33&#45;&gt;Node18</title>
+<path fill="none" stroke="midnightblue" d="M1192.18,-794.029C1404.75,-785.276 2052.5,-751.468 2052.5,-664.5 2052.5,-664.5 2052.5,-664.5 2052.5,-595.5 2052.5,-483.214 2067.73,-455.942 2076.5,-344 2078.58,-317.431 2080.3,-285.932 2081.07,-271.072"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1191.94,-790.536 1182.09,-794.439 1192.23,-797.53 1191.94,-790.536"/>
+</g>
+<!-- Node33&#45;&gt;Node24 -->
+<g id="edge53" class="edge"><title>Node33&#45;&gt;Node24</title>
+<path fill="none" stroke="midnightblue" d="M1141.09,-773.669C1156.96,-750.195 1182.08,-712.448 1202.5,-679 1220.34,-649.779 1226.16,-643.084 1240.5,-612 1264.29,-560.439 1284.91,-495.169 1291.94,-472.072"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1138,-771.98 1135.29,-782.22 1143.8,-775.91 1138,-771.98"/>
 </g>
-<!-- Node32&#45;&gt;Node23 -->
-<g id="edge52" class="edge"><title>Node32&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M309.027,-773.351C304.687,-765.019 300.412,-755.361 298,-746 279.673,-674.881 263.863,-640.439 307,-581 320.242,-562.754 457.83,-495.984 507.904,-472.082"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="305.963,-775.042 313.859,-782.107 312.092,-771.66 305.963,-775.042"/>
-</g>
-<!-- Node33 -->
-<g id="node33" class="node"><title>Node33</title>
-<g id="a_node33"><a xlink:href="structural__equal_8h.html" target="_top" xlink:title="Structural equality comparison. ">
-<polygon fill="white" stroke="black" points="728,-514.5 728,-544.5 876,-544.5 876,-514.5 728,-514.5"/>
-<text text-anchor="start" x="736" y="-532.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/node/structural</text>
-<text text-anchor="middle" x="802" y="-521.5" font-family="Helvetica,sans-Serif" font-size="10.00">_equal.h</text>
+<!-- Node34 -->
+<g id="node34" class="node"><title>Node34</title>
+<g id="a_node34"><a xlink:href="structural__equal_8h.html" target="_top" xlink:title="Structural equality comparison. ">
+<polygon fill="white" stroke="black" points="1610.5,-514.5 1610.5,-544.5 1758.5,-544.5 1758.5,-514.5 1610.5,-514.5"/>
+<text text-anchor="start" x="1618.5" y="-532.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/node/structural</text>
+<text text-anchor="middle" x="1684.5" y="-521.5" font-family="Helvetica,sans-Serif" font-size="10.00">_equal.h</text>
 </a>
 </g>
 </g>
-<!-- Node32&#45;&gt;Node33 -->
-<g id="edge53" class="edge"><title>Node32&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M327.057,-772.169C333.679,-739.709 349.782,-682.352 385,-648 441.953,-592.446 474.786,-603.833 551,-581 583.414,-571.289 666.052,-555.267 727.709,-543.875"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="323.588,-771.675 325.161,-782.153 330.465,-772.981 323.588,-771.675"/>
+<!-- Node33&#45;&gt;Node34 -->
+<g id="edge54" class="edge"><title>Node33&#45;&gt;Node34</title>
+<path fill="none" stroke="midnightblue" d="M1192.29,-787.007C1297.04,-769.154 1501.78,-721.978 1635.5,-612 1657.69,-593.752 1672.35,-562.659 1679.47,-544.612"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1191.45,-783.598 1182.16,-788.694 1192.6,-790.503 1191.45,-783.598"/>
 </g>
-<!-- Node34 -->
-<g id="node34" class="node"><title>Node34</title>
-<g id="a_node34"><a xlink:href="structural__hash_8h.html" target="_top" xlink:title="include/tvm/node/structural\l_hash.h">
-<polygon fill="white" stroke="black" points="562,-514.5 562,-544.5 710,-544.5 710,-514.5 562,-514.5"/>
-<text text-anchor="start" x="570" y="-532.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/node/structural</text>
-<text text-anchor="middle" x="636" y="-521.5" font-family="Helvetica,sans-Serif" font-size="10.00">_hash.h</text>
+<!-- Node35 -->
+<g id="node35" class="node"><title>Node35</title>
+<g id="a_node35"><a xlink:href="structural__hash_8h.html" target="_top" xlink:title="include/tvm/node/structural\l_hash.h">
+<polygon fill="white" stroke="black" points="1444.5,-514.5 1444.5,-544.5 1592.5,-544.5 1592.5,-514.5 1444.5,-514.5"/>
+<text text-anchor="start" x="1452.5" y="-532.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/node/structural</text>
+<text text-anchor="middle" x="1518.5" y="-521.5" font-family="Helvetica,sans-Serif" font-size="10.00">_hash.h</text>
 </a>
 </g>
 </g>
-<!-- Node32&#45;&gt;Node34 -->
-<g id="edge57" class="edge"><title>Node32&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M314.781,-772.468C301.449,-728.577 281.041,-635.004 328,-581 357.778,-546.755 480.445,-535.704 561.699,-532.155"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="311.529,-773.791 317.893,-782.262 318.2,-771.671 311.529,-773.791"/>
+<!-- Node33&#45;&gt;Node35 -->
+<g id="edge58" class="edge"><title>Node33&#45;&gt;Node35</title>
+<path fill="none" stroke="midnightblue" d="M1154.99,-776.543C1231.02,-725.078 1432.35,-588.81 1497.7,-544.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1152.67,-773.883 1146.35,-782.386 1156.6,-779.68 1152.67,-773.883"/>
 </g>
-<!-- Node32&#45;&gt;Node35 -->
-<g id="edge61" class="edge"><title>Node32&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M389.924,-786.192C472.344,-773.497 610.904,-752.155 688.317,-740.231"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="389.263,-782.752 379.913,-787.734 390.329,-789.671 389.263,-782.752"/>
+<!-- Node33&#45;&gt;Node36 -->
+<g id="edge62" class="edge"><title>Node33&#45;&gt;Node36</title>
+<path fill="none" stroke="midnightblue" d="M1058.94,-784.994C987.06,-772.568 873.769,-752.983 806.044,-741.275"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1058.35,-788.444 1068.8,-786.698 1059.54,-781.546 1058.35,-788.444"/>
 </g>
-<!-- Node32&#45;&gt;Node36 -->
-<g id="edge89" class="edge"><title>Node32&#45;&gt;Node36</title>
-<path fill="none" stroke="midnightblue" d="M389.741,-780.74C500.696,-754.54 721.165,-702.479 825.174,-677.919"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="388.604,-777.412 379.676,-783.117 390.213,-784.225 388.604,-777.412"/>
+<!-- Node33&#45;&gt;Node37 -->
+<g id="edge90" class="edge"><title>Node33&#45;&gt;Node37</title>
+<path fill="none" stroke="midnightblue" d="M1103.6,-775.245C1075.58,-748.044 1027.81,-701.68 1003.95,-678.525"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1101.33,-777.92 1110.95,-782.374 1106.21,-772.897 1101.33,-777.92"/>
 </g>
 <!-- Node45 -->
 <g id="node45" class="node"><title>Node45</title>
 <g id="a_node45"><a xlink:href="bytecode_8h.html" target="_top" xlink:title="The bytecode for Relay virtual machine. ">
-<polygon fill="white" stroke="black" points="722.5,-581.5 722.5,-611.5 835.5,-611.5 835.5,-581.5 722.5,-581.5"/>
-<text text-anchor="start" x="730.5" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="779" y="-588.5" font-family="Helvetica,sans-Serif" font-size="10.00">/vm/bytecode.h</text>
+<polygon fill="white" stroke="black" points="687,-581.5 687,-611.5 800,-611.5 800,-581.5 687,-581.5"/>
+<text text-anchor="start" x="695" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="743.5" y="-588.5" font-family="Helvetica,sans-Serif" font-size="10.00">/vm/bytecode.h</text>
 </a>
 </g>
 </g>
-<!-- Node32&#45;&gt;Node45 -->
-<g id="edge90" class="edge"><title>Node32&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M337.836,-773.875C343.531,-765.17 350.081,-755.132 356,-746 384.162,-702.549 375.148,-675.533 419,-648 474.745,-613 648.117,-623.074 713,-612 716.007,-611.487 719.084,-610.928 722.185,-610.339"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="334.824,-772.086 332.274,-782.369 340.68,-775.92 334.824,-772.086"/>
-</g>
-<!-- Node33&#45;&gt;Node7 -->
-<g id="edge55" class="edge"><title>Node33&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M848.125,-510.801C922.93,-482.096 1067.93,-426.455 1123.54,-405.117"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="846.571,-507.648 838.488,-514.499 849.079,-514.184 846.571,-507.648"/>
-</g>
-<!-- Node33&#45;&gt;Node11 -->
-<g id="edge54" class="edge"><title>Node33&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M785.874,-505.867C731.824,-430.007 558.491,-186.733 523.277,-137.31"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="783.203,-508.151 791.857,-514.264 788.904,-504.089 783.203,-508.151"/>
-</g>
-<!-- Node33&#45;&gt;Node23 -->
-<g id="edge56" class="edge"><title>Node33&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M732.571,-512.149C678.412,-499.394 605.363,-482.191 562.214,-472.029"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="731.916,-515.59 742.452,-514.476 733.521,-508.777 731.916,-515.59"/>
+<!-- Node33&#45;&gt;Node45 -->
+<g id="edge91" class="edge"><title>Node33&#45;&gt;Node45</title>
+<path fill="none" stroke="midnightblue" d="M1089.11,-777.542C1012.85,-737.817 837.807,-646.629 770.528,-611.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1087.85,-780.832 1098.33,-782.348 1091.08,-774.624 1087.85,-780.832"/>
 </g>
 <!-- Node34&#45;&gt;Node7 -->
-<g id="edge59" class="edge"><title>Node34&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M696.906,-511.758C758.208,-495.005 855.521,-468.676 940,-447 999.565,-431.716 1069.08,-414.883 1110.22,-405.025"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="695.733,-508.45 687.011,-514.465 697.58,-515.202 695.733,-508.45"/>
+<g id="edge56" class="edge"><title>Node34&#45;&gt;Node7</title>
+<path fill="none" stroke="midnightblue" d="M1684.5,-504.317C1684.5,-474.376 1684.5,-424.911 1684.5,-405.097"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1681,-504.374 1684.5,-514.374 1688,-504.374 1681,-504.374"/>
 </g>
 <!-- Node34&#45;&gt;Node11 -->
-<g id="edge58" class="edge"><title>Node34&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M629.445,-504.486C618.507,-464.615 595.69,-382.28 575,-313 554.727,-245.116 528.471,-163.797 519.867,-137.306"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="626.126,-505.619 632.143,-514.34 632.878,-503.77 626.126,-505.619"/>
-</g>
-<!-- Node34&#45;&gt;Node23 -->
-<g id="edge60" class="edge"><title>Node34&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M603.52,-509.307C582.566,-496.926 556.342,-481.43 540.396,-472.007"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="601.742,-512.322 612.132,-514.396 605.303,-506.295 601.742,-512.322"/>
-</g>
-<!-- Node35&#45;&gt;Node23 -->
-<g id="edge62" class="edge"><title>Node35&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M678.788,-712.262C627.957,-695.406 560.486,-664.445 524,-612 493.225,-567.764 514.033,-496.779 522.711,-472.205"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="677.805,-715.622 688.396,-715.347 679.945,-708.957 677.805,-715.622"/>
-</g>
-<!-- Node35&#45;&gt;Node36 -->
-<g id="edge63" class="edge"><title>Node35&#45;&gt;Node36</title>
-<path fill="none" stroke="midnightblue" d="M784.009,-710.992C805.724,-700.689 832.327,-688.068 852.331,-678.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="782.261,-707.947 774.727,-715.396 785.262,-714.272 782.261,-707.947"/>
-</g>
-<!-- Node35&#45;&gt;Node43 -->
-<g id="edge85" class="edge"><title>Node35&#45;&gt;Node43</title>
-<path fill="none" stroke="midnightblue" d="M678.594,-714.351C634.104,-703.553 576.493,-689.139 535.677,-678.588"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="677.908,-717.786 688.45,-716.736 679.554,-710.982 677.908,-717.786"/>
-</g>
-<!-- Node35&#45;&gt;Node44 -->
-<g id="edge87" class="edge"><title>Node35&#45;&gt;Node44</title>
-<path fill="none" stroke="midnightblue" d="M811.732,-713.953C858.015,-703.17 919.14,-688.93 963.906,-678.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="810.741,-710.59 801.796,-716.268 812.329,-717.408 810.741,-710.59"/>
-</g>
-<!-- Node36&#45;&gt;Node3 -->
-<g id="edge64" class="edge"><title>Node36&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M815.324,-658.981C716.927,-652.973 538.191,-638.714 480,-612 439.679,-593.49 423.99,-585.556 406,-545 388.339,-505.186 400.301,-490.181 406,-447 410.035,-416.431 406.66,-405.496 424,-380 434.337,-364.801 450.792,-352.404 464.925,-343.697"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="815.269,-662.483 825.46,-659.588 815.687,-655.496 815.269,-662.483"/>
-</g>
-<!-- Node36&#45;&gt;Node11 -->
-<g id="edge66" class="edge"><title>Node36&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M814.893,-659.556C705.516,-654.015 494.07,-639.99 425,-612 250.713,-541.372 110,-517.554 110,-329.5 110,-329.5 110,-329.5 110,-260.5 110,-188.074 346.148,-149.396 458.687,-135.076"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="814.989,-663.065 825.151,-660.066 815.337,-656.074 814.989,-663.065"/>
-</g>
-<!-- Node36&#45;&gt;Node20 -->
-<g id="edge65" class="edge"><title>Node36&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M815.097,-659.697C725.084,-654.817 570.855,-642.22 524,-612 454.676,-567.288 423.296,-527.983 439,-447 445.112,-415.482 442.583,-401.963 466,-380 503.213,-345.099 527.264,-362.003 575,-344 694.218,-299.038 832.604,-237.204 893.069,-209.692"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="815.038,-663.198 825.208,-660.227 815.405,-656.208 815.038,-663.198"/>
-</g>
-<!-- Node36&#45;&gt;Node23 -->
-<g id="edge75" class="edge"><title>Node36&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M815.264,-659.681C730.851,-654.885 591.582,-642.495 551,-612 506.69,-578.704 518.624,-498.715 524.035,-472.202"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="815.1,-663.177 825.276,-660.228 815.482,-656.187 815.1,-663.177"/>
-</g>
-<!-- Node37 -->
-<g id="node37" class="node"><title>Node37</title>
-<g id="a_node37"><a xlink:href="node_2container_8h.html" target="_top" xlink:title="Array/Map container in the DSL graph. ">
-<polygon fill="white" stroke="red" points="1566.5,-587 1566.5,-606 1721.5,-606 1721.5,-587 1566.5,-587"/>
-<text text-anchor="middle" x="1644" y="-594" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/node/container.h</text>
-</a>
-</g>
+<g id="edge55" class="edge"><title>Node34&#45;&gt;Node11</title>
+<path fill="none" stroke="midnightblue" d="M1606.94,-512.185C1565.09,-502.417 1518.43,-489.669 1500.5,-478 1453.38,-447.327 1467.46,-410.918 1420.5,-380 1371.86,-347.974 1344.39,-374.057 1294.5,-344 1242.81,-312.853 1249.97,-280.572 1200.5,-246 1167.88,-223.2 1147.64,-237.116 1118.5,-210 1096.01,-189.074 1083.07,-153.693 1078,-137.311"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1606.37,-515.644 1616.9,-514.475 1607.94,-508.822 1606.37,-515.644"/>
+</g>
+<!-- Node34&#45;&gt;Node24 -->
+<g id="edge57" class="edge"><title>Node34&#45;&gt;Node24</title>
+<path fill="none" stroke="midnightblue" d="M1600.23,-513.793C1505.25,-497.722 1406.31,-481.582 1347.22,-472.009"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1599.85,-517.279 1610.29,-515.499 1601.02,-510.377 1599.85,-517.279"/>
+</g>
+<!-- Node35&#45;&gt;Node7 -->
+<g id="edge60" class="edge"><title>Node35&#45;&gt;Node7</title>
+<path fill="none" stroke="midnightblue" d="M1544.1,-508.14C1581.04,-478.772 1647.68,-425.78 1673.69,-405.097"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1541.91,-505.41 1536.26,-514.374 1546.27,-510.889 1541.91,-505.41"/>
+</g>
+<!-- Node35&#45;&gt;Node11 -->
+<g id="edge59" class="edge"><title>Node35&#45;&gt;Node11</title>
+<path fill="none" stroke="midnightblue" d="M1493.31,-507.726C1483.29,-498.977 1471.92,-488.419 1462.5,-478 1426.24,-437.918 1435.11,-410.509 1390.5,-380 1339.6,-345.19 1308.86,-376.573 1256.5,-344 1207.3,-313.391 1217.81,-279.458 1170.5,-246 1135.33,-221.126 1105.73,-244.918 1080.5,-210 1064.56,-187.94 1069.72,-153.126 1073.29,-137.098"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1491.13,-510.465 1500.99,-514.318 1495.68,-505.151 1491.13,-510.465"/>
+</g>
+<!-- Node35&#45;&gt;Node24 -->
+<g id="edge61" class="edge"><title>Node35&#45;&gt;Node24</title>
+<path fill="none" stroke="midnightblue" d="M1460.5,-511.671C1416.72,-498.967 1358.47,-482.064 1323.89,-472.029"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1459.59,-515.05 1470.17,-514.476 1461.54,-508.328 1459.59,-515.05"/>
+</g>
+<!-- Node36&#45;&gt;Node15 -->
+<g id="edge89" class="edge"><title>Node36&#45;&gt;Node15</title>
+<path fill="none" stroke="midnightblue" d="M751.329,-705.371C751.304,-686.975 747.963,-662.422 732.5,-648 646.224,-567.53 568.899,-675.551 469.5,-612 403.489,-569.795 374.5,-541.85 374.5,-463.5 374.5,-463.5 374.5,-463.5 374.5,-126.5 374.5,-69.4427 549.97,-34.5332 647.301,-19.5582"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="747.831,-705.266 751.027,-715.367 754.827,-705.478 747.831,-705.266"/>
+</g>
+<!-- Node36&#45;&gt;Node24 -->
+<g id="edge63" class="edge"><title>Node36&#45;&gt;Node24</title>
+<path fill="none" stroke="midnightblue" d="M769.526,-707.545C799.901,-675.464 860.755,-615.818 923.5,-581 1031.76,-520.926 1175.13,-486.65 1247.87,-472.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="766.756,-705.383 762.478,-715.076 771.866,-710.167 766.756,-705.383"/>
 </g>
 <!-- Node36&#45;&gt;Node37 -->
-<g id="edge67" class="edge"><title>Node36&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M948.837,-647.865C1178.21,-614.826 1439.29,-603.325 1566.5,-599.395"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="948.02,-644.447 938.629,-649.352 949.029,-651.374 948.02,-644.447"/>
+<g id="edge64" class="edge"><title>Node36&#45;&gt;Node37</title>
+<path fill="none" stroke="midnightblue" d="M810.978,-712.85C850.107,-702.252 900.229,-688.677 937.398,-678.611"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="810.018,-709.483 801.281,-715.476 811.848,-716.24 810.018,-709.483"/>
+</g>
+<!-- Node36&#45;&gt;Node43 -->
+<g id="edge85" class="edge"><title>Node36&#45;&gt;Node43</title>
+<path fill="none" stroke="midnightblue" d="M717.919,-709.451C704.527,-699.452 689.78,-687.6 679.583,-678.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="715.894,-712.307 726.029,-715.396 720.033,-706.661 715.894,-712.307"/>
+</g>
+<!-- Node36&#45;&gt;Node44 -->
+<g id="edge87" class="edge"><title>Node36&#45;&gt;Node44</title>
+<path fill="none" stroke="midnightblue" d="M691.19,-712.58C654.808,-702.022 608.525,-688.592 574.128,-678.611"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="690.592,-716.05 701.171,-715.476 692.543,-709.328 690.592,-716.05"/>
+</g>
+<!-- Node37&#45;&gt;Node3 -->
+<g id="edge65" class="edge"><title>Node37&#45;&gt;Node3</title>
+<path fill="none" stroke="midnightblue" d="M922.391,-657.751C843.199,-651.105 717.253,-636.95 677.5,-612 640.061,-588.503 620.5,-574.702 620.5,-530.5 620.5,-530.5 620.5,-530.5 620.5,-461.5 620.5,-409.938 669.444,-365.626 698.505,-343.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="922.51,-661.273 932.763,-658.602 923.082,-654.296 922.51,-661.273"/>
+</g>
+<!-- Node37&#45;&gt;Node11 -->
+<g id="edge67" class="edge"><title>Node37&#45;&gt;Node11</title>
+<path fill="none" stroke="midnightblue" d="M1025.98,-642.815C1037.16,-634.824 1048.17,-624.494 1054.5,-612 1141.52,-440.269 1046.89,-370.517 1066.5,-179 1068.02,-164.117 1071.42,-147.019 1073.58,-137.023"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1023.86,-640.018 1017.47,-648.467 1027.74,-645.849 1023.86,-640.018"/>
+</g>
+<!-- Node37&#45;&gt;Node21 -->
+<g id="edge66" class="edge"><title>Node37&#45;&gt;Node21</title>
+<path fill="none" stroke="midnightblue" d="M1055.79,-649.347C1080.33,-641.776 1106.91,-630.038 1126.5,-612 1147.42,-592.741 1216.36,-401.895 1234.5,-380 1301.43,-299.219 1411.55,-236.276 1463.15,-209.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1054.77,-645.997 1046.15,-652.146 1056.73,-652.719 1054.77,-645.997"/>
+</g>
+<!-- Node37&#45;&gt;Node24 -->
+<g id="edge76" class="edge"><title>Node37&#45;&gt;Node24</title>
+<path fill="none" stroke="midnightblue" d="M1050.86,-645.289C1075.33,-637.069 1103.16,-625.945 1126.5,-612 1196.68,-570.075 1264.77,-497.006 1286.97,-472.1"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1049.74,-641.975 1041.32,-648.409 1051.91,-648.629 1049.74,-641.975"/>
 </g>
 <!-- Node38 -->
 <g id="node38" class="node"><title>Node38</title>
-<g id="a_node38"><a xlink:href="parser_8h.html" target="_top" xlink:title="A parser for TVM IR. ">
-<polygon fill="white" stroke="black" points="854,-581.5 854,-611.5 960,-611.5 960,-581.5 854,-581.5"/>
-<text text-anchor="start" x="862" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/parser</text>
-<text text-anchor="middle" x="907" y="-588.5" font-family="Helvetica,sans-Serif" font-size="10.00">/parser.h</text>
+<g id="a_node38"><a xlink:href="node_2container_8h.html" target="_top" xlink:title="Array/Map container in the DSL graph. ">
+<polygon fill="white" stroke="red" points="1683,-587 1683,-606 1838,-606 1838,-587 1683,-587"/>
+<text text-anchor="middle" x="1760.5" y="-594" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/node/container.h</text>
 </a>
 </g>
 </g>
-<!-- Node36&#45;&gt;Node38 -->
-<g id="edge76" class="edge"><title>Node36&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M891.042,-638.991C894.575,-629.804 898.508,-619.578 901.586,-611.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="887.748,-637.806 887.425,-648.396 894.281,-640.319 887.748,-637.806"/>
+<!-- Node37&#45;&gt;Node38 -->
+<g id="edge68" class="edge"><title>Node37&#45;&gt;Node38</title>
+<path fill="none" stroke="midnightblue" d="M1056.42,-658.098C1173.79,-650.193 1424.37,-632.49 1635.5,-612 1653.55,-610.248 1673.03,-608.108 1691.13,-606.016"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1055.9,-654.625 1046.16,-658.787 1056.37,-661.609 1055.9,-654.625"/>
 </g>
-<!-- Node36&#45;&gt;Node39 -->
-<g id="edge77" class="edge"><title>Node36&#45;&gt;Node39</title>
-<path fill="none" stroke="midnightblue" d="M948.648,-647.931C1294.04,-602.43 1385.4,-629.643 1730,-612 1798.95,-608.47 1878.29,-603.919 1930.35,-600.866"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="948.068,-644.477 938.616,-649.263 948.99,-651.416 948.068,-644.477"/>
+<!-- Node37&#45;&gt;Node39 -->
+<g id="edge77" class="edge"><title>Node37&#45;&gt;Node39</title>
+<path fill="none" stroke="midnightblue" d="M922.868,-655.155C846.294,-646.38 716.961,-630.538 606.5,-612 601.785,-611.209 596.906,-610.333 592.014,-609.415"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="922.524,-658.638 932.856,-656.294 923.317,-651.683 922.524,-658.638"/>
 </g>
-<!-- Node36&#45;&gt;Node40 -->
-<g id="edge78" class="edge"><title>Node36&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M945.94,-646.284C1011.11,-632.211 1082.23,-617.361 1130.44,-607.771"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="944.989,-642.909 935.955,-648.444 946.469,-649.75 944.989,-642.909"/>
+<!-- Node37&#45;&gt;Node40 -->
+<g id="edge78" class="edge"><title>Node37&#45;&gt;Node40</title>
+<path fill="none" stroke="midnightblue" d="M982.955,-638.403C982.505,-629.37 982.796,-619.408 983.825,-611.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="979.47,-638.736 983.822,-648.396 986.444,-638.131 979.47,-638.736"/>
 </g>
 <!-- Node41 -->
 <g id="node41" class="node"><title>Node41</title>
 <g id="a_node41"><a xlink:href="executable_8h.html" target="_top" xlink:title="The Relay virtual machine executable. ">
-<polygon fill="white" stroke="black" points="1032.5,-514.5 1032.5,-544.5 1145.5,-544.5 1145.5,-514.5 1032.5,-514.5"/>
-<text text-anchor="start" x="1040.5" y="-532.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="1089" y="-521.5" font-family="Helvetica,sans-Serif" font-size="10.00">/vm/executable.h</text>
+<polygon fill="white" stroke="black" points="763,-514.5 763,-544.5 876,-544.5 876,-514.5 763,-514.5"/>
+<text text-anchor="start" x="771" y="-532.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="819.5" y="-521.5" font-family="Helvetica,sans-Serif" font-size="10.00">/vm/executable.h</text>
 </a>
 </g>
 </g>
-<!-- Node36&#45;&gt;Node41 -->
-<g id="edge83" class="edge"><title>Node36&#45;&gt;Node41</title>
-<path fill="none" stroke="midnightblue" d="M948.651,-646.237C984.933,-636.416 1025.34,-623.597 1040,-612 1062.53,-594.174 1077.07,-562.929 1084.07,-544.742"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="947.316,-642.97 938.552,-648.924 949.116,-649.735 947.316,-642.97"/>
+<!-- Node37&#45;&gt;Node41 -->
+<g id="edge83" class="edge"><title>Node37&#45;&gt;Node41</title>
+<path fill="none" stroke="midnightblue" d="M945.035,-644.273C927.166,-635.846 906.947,-624.842 890.5,-612 865.06,-592.136 841.754,-562.174 829.199,-544.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="943.584,-647.458 954.133,-648.442 946.499,-641.094 943.584,-647.458"/>
 </g>
 <!-- Node42 -->
 <g id="node42" class="node"><title>Node42</title>
 <g id="a_node42"><a xlink:href="runtime_2vm_2vm_8h.html" target="_top" xlink:title="The Relay virtual machine runtime. ">
-<polygon fill="white" stroke="black" points="1117.5,-447.5 1117.5,-477.5 1230.5,-477.5 1230.5,-447.5 1117.5,-447.5"/>
-<text text-anchor="start" x="1125.5" y="-465.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="1174" y="-454.5" font-family="Helvetica,sans-Serif" font-size="10.00">/vm/vm.h</text>
+<polygon fill="white" stroke="black" points="848,-447.5 848,-477.5 961,-477.5 961,-447.5 848,-447.5"/>
+<text text-anchor="start" x="856" y="-465.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="904.5" y="-454.5" font-family="Helvetica,sans-Serif" font-size="10.00">/vm/vm.h</text>
 </a>
 </g>
 </g>
-<!-- Node36&#45;&gt;Node42 -->
-<g id="edge84" class="edge"><title>Node36&#45;&gt;Node42</title>
-<path fill="none" stroke="midnightblue" d="M924.744,-643.653C939.983,-635.483 956.461,-624.822 969,-612 1003.77,-576.446 984.803,-545.845 1023,-514 1049.75,-491.697 1086.75,-479.115 1117.43,-472.088"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="922.761,-640.737 915.462,-648.416 925.957,-646.965 922.761,-640.737"/>
+<!-- Node37&#45;&gt;Node42 -->
+<g id="edge84" class="edge"><title>Node37&#45;&gt;Node42</title>
+<path fill="none" stroke="midnightblue" d="M953.455,-642.737C942.069,-634.695 930.614,-624.355 923.5,-612 898.338,-568.303 900.401,-505.554 902.876,-477.723"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="951.802,-645.839 962.074,-648.433 955.661,-639.999 951.802,-645.839"/>
 </g>
-<!-- Node37&#45;&gt;Node7 -->
-<g id="edge71" class="edge"><title>Node37&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M1629.55,-578.92C1595.88,-540.289 1514.96,-447.515 1514,-447 1463.47,-419.784 1305.29,-406 1213.6,-400.128"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1627.12,-581.453 1636.33,-586.692 1632.39,-576.854 1627.12,-581.453"/>
+<!-- Node38&#45;&gt;Node7 -->
+<g id="edge72" class="edge"><title>Node38&#45;&gt;Node7</title>
+<path fill="none" stroke="midnightblue" d="M1777.53,-579.8C1786.21,-570.612 1795.89,-558.235 1800.5,-545 1805.03,-531.988 1805.73,-526.746 1800.5,-514 1779.49,-462.819 1724.23,-422.025 1698.3,-405.047"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1774.92,-577.458 1770.31,-586.995 1779.86,-582.417 1774.92,-577.458"/>
 </g>
-<!-- Node37&#45;&gt;Node9 -->
-<g id="edge68" class="edge"><title>Node37&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M1666.84,-581.245C1698,-559.83 1750,-516.198 1750,-463.5 1750,-463.5 1750,-463.5 1750,-394.5 1750,-328.319 1758.11,-309.363 1739,-246 1725.63,-201.646 1693.46,-155.613 1679.57,-137.031"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1664.69,-578.475 1658.3,-586.924 1668.56,-584.305 1664.69,-578.475"/>
+<!-- Node38&#45;&gt;Node9 -->
+<g id="edge69" class="edge"><title>Node38&#45;&gt;Node9</title>
+<path fill="none" stroke="midnightblue" d="M1788.83,-582.327C1805.08,-573.612 1824.9,-560.871 1838.5,-545 1953.5,-410.826 1989.09,-184.35 1995.4,-137.241"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1787.05,-579.308 1779.74,-586.986 1790.24,-585.537 1787.05,-579.308"/>
 </g>
-<!-- Node37&#45;&gt;Node10 -->
-<g id="edge69" class="edge"><title>Node37&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M1634.4,-577.872C1607.98,-529.084 1535.23,-392.672 1521,-344 1505.93,-292.442 1504.11,-227.17 1503.97,-204.072"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1631.45,-579.772 1639.29,-586.89 1637.6,-576.431 1631.45,-579.772"/>
+<!-- Node38&#45;&gt;Node10 -->
+<g id="edge70" class="edge"><title>Node38&#45;&gt;Node10</title>
+<path fill="none" stroke="midnightblue" d="M1783.11,-581.017C1795.05,-572.119 1808.79,-559.63 1816.5,-545 1864.92,-453.177 1869.77,-413.427 1843.5,-313 1831.83,-268.409 1799.04,-222.865 1784.54,-204.241"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1781,-578.219 1774.85,-586.841 1785.04,-583.941 1781,-578.219"/>
 </g>
-<!-- Node37&#45;&gt;Node12 -->
-<g id="edge74" class="edge"><title>Node37&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M1689.22,-584.093C1743.13,-567.462 1826,-530.928 1826,-463.5 1826,-463.5 1826,-463.5 1826,-394.5 1826,-332.291 1782.04,-148.405 1736,-112 1699.62,-83.237 1394.51,-71.9252 1263.92,-68.3724"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1688.12,-580.771 1679.52,-586.97 1690.11,-587.482 1688.12,-580.771"/>
+<!-- Node38&#45;&gt;Node12 -->
+<g id="edge75" class="edge"><title>Node38&#45;&gt;Node12</title>
+<path fill="none" stroke="midnightblue" d="M1768.22,-577.093C1774.31,-559.421 1779.91,-532.722 1767.5,-514 1682.98,-386.513 1593.68,-433.807 1450.5,-380 1402.74,-362.053 1385.69,-369.5 1341.5,-344 1284.79,-311.274 1286.52,-281.498 1231.5,-246 1198.4,-224.642 1173.29,-242.131 1150.5,-210 1125.21,-174.357 1164.61,-149.696 1142.5,-112 1132.43,-94.8367 1112.92,-82.8684 1097.54,-75.6127"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1764.82,-576.187 1764.52,-586.778 1771.36,-578.685 1764.82,-576.187"/>
 </g>
-<!-- Node37&#45;&gt;Node17 -->
-<g id="edge70" class="edge"><title>Node37&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M1647.4,-576.825C1654.79,-535.205 1672.11,-431.599 1678,-344 1679.79,-317.409 1676.25,-285.92 1674.25,-271.068"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1643.92,-576.394 1645.6,-586.855 1650.81,-577.632 1643.92,-576.394"/>
+<!-- Node38&#45;&gt;Node18 -->
+<g id="edge71" class="edge"><title>Node38&#45;&gt;Node18</title>
+<path fill="none" stroke="midnightblue" d="M1846.79,-585.579C1902.89,-577.473 1969.38,-564.194 1990.5,-545 2033.78,-505.667 2071.86,-313.967 2079.93,-271.04"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1846.23,-582.124 1836.81,-586.983 1847.2,-589.056 1846.23,-582.124"/>
 </g>
-<!-- Node37&#45;&gt;Node33 -->
-<g id="edge72" class="edge"><title>Node37&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M1556.1,-588.714C1389.68,-575.867 1031.39,-548.208 876.191,-536.227"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1556.06,-592.221 1566.3,-589.501 1556.59,-585.242 1556.06,-592.221"/>
+<!-- Node38&#45;&gt;Node34 -->
+<g id="edge73" class="edge"><title>Node38&#45;&gt;Node34</title>
+<path fill="none" stroke="midnightblue" d="M1742.29,-579.928C1729.72,-569.179 1713.15,-555.002 1700.97,-544.589"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1740.38,-582.894 1750.25,-586.734 1744.93,-577.574 1740.38,-582.894"/>
 </g>
-<!-- Node37&#45;&gt;Node34 -->
-<g id="edge73" class="edge"><title>Node37&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M1556.15,-592.035C1357.68,-583.99 879.495,-563.335 719,-545 716.093,-544.668 713.134,-544.299 710.149,-543.902"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1556.11,-595.536 1566.24,-592.443 1556.39,-588.542 1556.11,-595.536"/>
+<!-- Node38&#45;&gt;Node35 -->
+<g id="edge74" class="edge"><title>Node38&#45;&gt;Node35</title>
+<path fill="none" stroke="midnightblue" d="M1718.94,-584.338C1677.97,-573.332 1615.2,-556.474 1570.84,-544.559"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1718.05,-587.722 1728.61,-586.936 1719.86,-580.961 1718.05,-587.722"/>
 </g>
-<!-- Node40&#45;&gt;Node36 -->
-<g id="edge79" class="edge"><title>Node40&#45;&gt;Node36</title>
-<path fill="none" stroke="midnightblue" d="M1120.33,-612.914C1074.17,-622.798 1011.44,-635.984 956,-648 950.463,-649.2 944.664,-650.472 938.844,-651.744"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1121.17,-616.313 1130.21,-610.793 1119.7,-609.469 1121.17,-616.313"/>
+<!-- Node40&#45;&gt;Node37 -->
+<g id="edge79" class="edge"><title>Node40&#45;&gt;Node37</title>
+<path fill="none" stroke="midnightblue" d="M996.044,-621.565C996.495,-630.596 996.206,-640.56 995.178,-648.396"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="999.528,-621.236 995.175,-611.577 992.555,-621.842 999.528,-621.236"/>
 </g>
 <!-- Node40&#45;&gt;Node41 -->
 <g id="edge80" class="edge"><title>Node40&#45;&gt;Node41</title>
-<path fill="none" stroke="midnightblue" d="M1157.2,-575.734C1142.03,-565.676 1123.96,-553.685 1110.22,-544.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1155.47,-578.785 1165.74,-581.396 1159.34,-572.952 1155.47,-578.785"/>
+<path fill="none" stroke="midnightblue" d="M943.256,-577.819C915.931,-567.371 881.807,-554.323 856.315,-544.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="942.022,-581.094 952.613,-581.396 944.522,-574.555 942.022,-581.094"/>
 </g>
 <!-- Node40&#45;&gt;Node42 -->
 <g id="edge82" class="edge"><title>Node40&#45;&gt;Node42</title>
-<path fill="none" stroke="midnightblue" d="M1189.17,-571.023C1190.15,-554.778 1190.59,-533.025 1188,-514 1186.31,-501.559 1182.37,-487.857 1179.1,-477.867"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1185.66,-571.063 1188.43,-581.288 1192.64,-571.564 1185.66,-571.063"/>
+<path fill="none" stroke="midnightblue" d="M974.904,-572.834C957.281,-545.466 928.187,-500.284 913.531,-477.525"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="972.047,-574.861 980.404,-581.374 977.932,-571.071 972.047,-574.861"/>
 </g>
 <!-- Node41&#45;&gt;Node42 -->
 <g id="edge81" class="edge"><title>Node41&#45;&gt;Node42</title>
-<path fill="none" stroke="midnightblue" d="M1115.59,-508.168C1128.59,-498.228 1143.9,-486.514 1155.59,-477.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1113.26,-505.541 1107.44,-514.396 1117.51,-511.102 1113.26,-505.541"/>
+<path fill="none" stroke="midnightblue" d="M846.088,-508.168C859.086,-498.228 874.404,-486.514 886.092,-477.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="843.761,-505.541 837.944,-514.396 848.013,-511.102 843.761,-505.541"/>
 </g>
-<!-- Node43&#45;&gt;Node35 -->
-<g id="edge86" class="edge"><title>Node43&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M551.513,-679.675C596.079,-690.493 653.774,-704.928 694.572,-715.476"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="552.183,-676.236 541.64,-677.286 550.537,-683.04 552.183,-676.236"/>
+<!-- Node43&#45;&gt;Node36 -->
+<g id="edge86" class="edge"><title>Node43&#45;&gt;Node36</title>
+<path fill="none" stroke="midnightblue" d="M699.04,-684.518C712.429,-694.514 727.18,-706.367 737.386,-715.396"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="701.068,-681.665 690.933,-678.577 696.93,-687.311 701.068,-681.665"/>
 </g>
 <!-- Node44&#45;&gt;Node42 -->
 <g id="edge88" class="edge"><title>Node44&#45;&gt;Node42</title>
-<path fill="none" stroke="midnightblue" d="M1048.58,-641.659C1084.25,-611.209 1146.91,-556.879 1154,-545 1166.7,-523.734 1171.35,-494.772 1173.04,-477.713"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1045.9,-639.339 1040.56,-648.488 1050.44,-644.668 1045.9,-639.339"/>
+<path fill="none" stroke="midnightblue" d="M495.892,-642.1C475.273,-625.362 454.02,-601.216 469.5,-581 515.513,-520.909 740.493,-484.528 847.604,-470.346"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="493.928,-645.006 503.982,-648.347 498.206,-639.465 493.928,-645.006"/>
 </g>
 <!-- Node45&#45;&gt;Node41 -->
-<g id="edge91" class="edge"><title>Node45&#45;&gt;Node41</title>
-<path fill="none" stroke="midnightblue" d="M845.43,-580.923C915.667,-565.974 985.005,-551.697 1032.26,-542.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="844.566,-577.528 835.516,-583.036 846.026,-584.374 844.566,-577.528"/>
+<g id="edge92" class="edge"><title>Node45&#45;&gt;Node41</title>
+<path fill="none" stroke="midnightblue" d="M767.606,-574.883C779.155,-565.005 792.69,-553.429 803.041,-544.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="765.316,-572.236 759.991,-581.396 769.865,-577.556 765.316,-572.236"/>
 </g>
 <!-- Node45&#45;&gt;Node42 -->
-<g id="edge92" class="edge"><title>Node45&#45;&gt;Node42</title>
-<path fill="none" stroke="midnightblue" d="M829.149,-578.073C855.7,-568.648 888.772,-556.59 918,-545 950.387,-532.157 957.122,-525.527 990,-514 1032.04,-499.259 1080.7,-486.068 1117.41,-476.867"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="827.943,-574.787 819.682,-581.421 830.277,-581.387 827.943,-574.787"/>
+<g id="edge93" class="edge"><title>Node45&#45;&gt;Node42</title>
+<path fill="none" stroke="midnightblue" d="M740.092,-571.206C738.987,-553.454 740.578,-529.815 753.5,-514 776.325,-486.066 815.118,-473.488 847.668,-467.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="736.628,-571.749 741.051,-581.376 743.597,-571.092 736.628,-571.749"/>
 </g>
 <!-- Node46&#45;&gt;Node7 -->
-<g id="edge108" class="edge"><title>Node46&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M1404.96,-840.38C1400.94,-832.021 1397.03,-822.338 1395,-813 1392.08,-799.536 1393.93,-795.736 1395,-782 1401.46,-699.245 1424,-680.507 1424,-597.5 1424,-597.5 1424,-597.5 1424,-528.5 1424,-435.668 1295.94,-408.043 1213.65,-399.874"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1401.96,-842.189 1409.64,-849.484 1408.18,-838.99 1401.96,-842.189"/>
+<g id="edge109" class="edge"><title>Node46&#45;&gt;Node7</title>
+<path fill="none" stroke="midnightblue" d="M1505.32,-863.967C1671.57,-863.338 2090.5,-849.996 2090.5,-731.5 2090.5,-731.5 2090.5,-731.5 2090.5,-595.5 2090.5,-446.747 1868.03,-409.177 1752.46,-399.695"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1505.21,-860.468 1495.22,-863.991 1505.23,-867.468 1505.21,-860.468"/>
 </g>
 <!-- Node46&#45;&gt;Node9 -->
-<g id="edge99" class="edge"><title>Node46&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M1484.93,-848.298C1579.92,-836.905 1795.24,-860.256 1863,-813 1895.94,-790.03 1902,-771.656 1902,-731.5 1902,-731.5 1902,-731.5 1902,-662.5 1902,-572.457 1940,-553.543 1940,-463.5 1940,-463.5 1940,-463.5 1940,-260.5 1940,-166.647 1805.79,-139.524 1727.68,-131.685"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1484.18,-844.868 1474.77,-849.731 1485.16,-851.8 1484.18,-844.868"/>
+<g id="edge100" class="edge"><title>Node46&#45;&gt;Node9</title>
+<path fill="none" stroke="midnightblue" d="M1505.37,-862.139C1694.7,-857.928 2225.34,-843.514 2297.5,-813 2346.9,-792.11 2386.5,-785.135 2386.5,-731.5 2386.5,-731.5 2386.5,-731.5 2386.5,-595.5 2386.5,-502.177 2453.5,-489.823 2453.5,-396.5 2453.5,-396.5 2453.5,-396.5 2453.5,-260.5 2453.5,-223.306 2462.26,-203.755 2434.5,-179 2406.36,-153.908 2162.16,-137.529 2051.09,-131.312"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1505.2,-858.642 1495.28,-862.361 1505.35,-865.641 1505.2,-858.642"/>
 </g>
 <!-- Node46&#45;&gt;Node10 -->
-<g id="edge100" class="edge"><title>Node46&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M1484.83,-848.025C1662.32,-818.355 1864,-907.083 1864,-731.5 1864,-731.5 1864,-731.5 1864,-662.5 1864,-572.457 1902,-553.543 1902,-463.5 1902,-463.5 1902,-463.5 1902,-394.5 1902,-243.663 1670.48,-207.152 1560.6,-198.318"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1484.01,-844.616 1474.79,-849.837 1485.25,-851.505 1484.01,-844.616"/>
+<g id="edge101" class="edge"><title>Node46&#45;&gt;Node10</title>
+<path fill="none" stroke="midnightblue" d="M1505.44,-861.208C1660.49,-855.484 2034.88,-839.114 2085.5,-813 2119.99,-795.208 2127.99,-782.382 2141.5,-746 2180.18,-641.831 2220.57,-329.717 2147.5,-246 2107.53,-200.208 1927.63,-194.404 1834.21,-194.576"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1504.98,-857.723 1495.11,-861.586 1505.23,-864.718 1504.98,-857.723"/>
 </g>
 <!-- Node46&#45;&gt;Node14 -->
-<g id="edge130" class="edge"><title>Node46&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M1484.72,-848.304C1585.77,-835.714 1813.53,-855.131 1892,-813 2023.17,-742.578 2072,-679.376 2072,-530.5 2072,-530.5 2072,-530.5 2072,-126.5 2072,-66.009 1884.54,-32.5836 1780.92,-18.7285"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1484.18,-844.846 1474.77,-849.718 1485.16,-851.777 1484.18,-844.846"/>
-</g>
-<!-- Node46&#45;&gt;Node16 -->
-<g id="edge101" class="edge"><title>Node46&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M1484.49,-847.26C1517.08,-838.504 1556.62,-826.685 1591,-813 1664.78,-783.631 1750,-810.909 1750,-731.5 1750,-731.5 1750,-731.5 1750,-662.5 1750,-519.775 1628.17,-374.168 1595.81,-338.009"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1483.38,-843.932 1474.61,-849.877 1485.18,-850.699 1483.38,-843.932"/>
+<g id="edge131" class="edge"><title>Node46&#45;&gt;Node14</title>
+<path fill="none" stroke="midnightblue" d="M1371.7,-862.566C1247.14,-859.951 984.635,-850.079 902.5,-813 884.159,-804.72 887.656,-790.678 869.5,-782 764.247,-731.692 723.816,-769.259 609.5,-746 459.404,-715.461 298.5,-750.671 298.5,-597.5 298.5,-597.5 298.5,-597.5 298.5,-126.5 298.5,-70.3457 367.126,-34.819 404.656,-19.5888"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1371.8,-866.069 1381.87,-862.77 1371.94,-859.07 1371.8,-866.069"/>
 </g>
 <!-- Node46&#45;&gt;Node17 -->
 <g id="edge102" class="edge"><title>Node46&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M1484.97,-847.839C1566.14,-832.147 1594.31,-845.859 1671,-813 1717.83,-792.936 1737.23,-789.34 1764,-746 1799.14,-689.121 1788,-664.356 1788,-597.5 1788,-597.5 1788,-597.5 1788,-394.5 1788,-334.928 1720.59,-289.2 1688.99,-271.037"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1483.91,-844.483 1474.8,-849.903 1485.3,-851.343 1483.91,-844.483"/>
+<path fill="none" stroke="midnightblue" d="M1505.27,-863.32C1683.76,-862.266 2162.26,-855.467 2218.5,-813 2249.18,-789.831 2247.5,-769.947 2247.5,-731.5 2247.5,-731.5 2247.5,-731.5 2247.5,-461.5 2247.5,-414.946 2250.64,-359.222 2251.95,-338.144"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1505.2,-859.821 1495.22,-863.375 1505.24,-866.82 1505.2,-859.821"/>
 </g>
-<!-- Node46&#45;&gt;Node21 -->
-<g id="edge111" class="edge"><title>Node46&#45;&gt;Node21</title>
-<path fill="none" stroke="midnightblue" d="M1484.97,-847.839C1566.14,-832.147 1594.31,-845.859 1671,-813 1717.83,-792.936 1733.44,-786.759 1764,-746 1803.95,-692.718 1864,-530.095 1864,-463.5 1864,-463.5 1864,-463.5 1864,-394.5 1864,-351.365 1776.96,-266.493 1739,-246 1620.45,-181.99 1571.41,-228.837 1438,-210 1425.29,-208.205 1411.59,-206.073 1398.84,-204.003"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1483.91,-844.483 1474.8,-849.903 1485.3,-851.343 1483.91,-844.483"/>
+<!-- Node46&#45;&gt;Node18 -->
+<g id="edge103" class="edge"><title>Node46&#45;&gt;Node18</title>
+<path fill="none" stroke="midnightblue" d="M1505.78,-863.268C1641.96,-861.922 1945.31,-854.231 2039.5,-813 2088.63,-791.491 2128.5,-785.135 2128.5,-731.5 2128.5,-731.5 2128.5,-731.5 2128.5,-394.5 2128.5,-345.361 2099.24,-291.584 2086.89,-271.083"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1505.45,-859.77 1495.48,-863.36 1505.51,-866.77 1505.45,-859.77"/>
 </g>
-<!-- Node46&#45;&gt;Node23 -->
-<g id="edge109" class="edge"><title>Node46&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M1351.06,-861.901C1303.98,-857.718 1241.67,-845.708 1197,-813 1128.36,-762.746 1161.89,-706.36 1100,-648 1052.42,-603.135 1031.86,-599.044 969,-581 879.812,-555.398 625.811,-602.52 553,-545 530.192,-526.982 526.465,-489.126 525.984,-472.108"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1350.92,-865.401 1361.16,-862.701 1351.47,-858.423 1350.92,-865.401"/>
+<!-- Node46&#45;&gt;Node22 -->
+<g id="edge112" class="edge"><title>Node46&#45;&gt;Node22</title>
+<path fill="none" stroke="midnightblue" d="M1505.47,-861.581C1686.46,-856.076 2176.33,-838.942 2244.5,-813 2299.38,-792.113 2348.5,-790.224 2348.5,-731.5 2348.5,-731.5 2348.5,-731.5 2348.5,-595.5 2348.5,-453.919 2353.17,-418.574 2354.5,-277 2354.63,-263.223 2355.84,-259.712 2354.5,-246 2353.03,-231.057 2349.19,-213.978 2346.71,-204.002"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1505.18,-858.089 1495.29,-861.889 1505.39,-865.085 1505.18,-858.089"/>
 </g>
-<!-- Node46&#45;&gt;Node25 -->
-<g id="edge110" class="edge"><title>Node46&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M1484.94,-858.338C1586.52,-850.248 1785.57,-833.38 1954,-813 1968.26,-811.275 1983.64,-809.132 1997.9,-807.029"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1484.52,-854.861 1474.83,-859.141 1485.08,-861.839 1484.52,-854.861"/>
+<!-- Node46&#45;&gt;Node24 -->
+<g id="edge110" class="edge"><title>Node46&#45;&gt;Node24</title>
+<path fill="none" stroke="midnightblue" d="M1430.82,-839.528C1412.43,-782.575 1363.85,-634.867 1316.5,-514 1310.71,-499.219 1303.18,-482.373 1298.6,-472.355"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1427.6,-840.932 1433.99,-849.378 1434.26,-838.786 1427.6,-840.932"/>
 </g>
-<!-- Node46&#45;&gt;Node35 -->
-<g id="edge125" class="edge"><title>Node46&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M1351.08,-860.24C1264.84,-855.02 1110.71,-842.223 982,-813 907.534,-796.093 823.784,-764.064 778.476,-745.593"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1351.06,-863.745 1361.25,-860.84 1351.47,-856.758 1351.06,-863.745"/>
+<!-- Node46&#45;&gt;Node26 -->
+<g id="edge111" class="edge"><title>Node46&#45;&gt;Node26</title>
+<path fill="none" stroke="midnightblue" d="M1371.75,-858.774C1266.06,-851.01 1053.77,-834.27 874.5,-813 860.153,-811.298 844.67,-809.151 830.342,-807.036"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1371.72,-862.282 1381.95,-859.52 1372.23,-855.3 1371.72,-862.282"/>
 </g>
 <!-- Node46&#45;&gt;Node36 -->
 <g id="edge126" class="edge"><title>Node46&#45;&gt;Node36</title>
-<path fill="none" stroke="midnightblue" d="M1351.13,-863.78C1279.36,-861.83 1163.37,-852.08 1072,-813 1052.22,-804.542 941.765,-713.972 898.955,-678.569"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1351.31,-867.285 1361.39,-864.014 1351.47,-860.287 1351.31,-867.285"/>
+<path fill="none" stroke="midnightblue" d="M1371.83,-859.773C1264.25,-853.131 1057.45,-837.593 988.5,-813 964.58,-804.469 963.73,-792.262 940.5,-782 897.203,-762.874 845.083,-749.694 806.234,-741.606"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1371.73,-863.273 1381.92,-860.388 1372.15,-856.286 1371.73,-863.273"/>
 </g>
 <!-- Node46&#45;&gt;Node37 -->
-<g id="edge103" class="edge"><title>Node46&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M1480.48,-846.273C1529.77,-829.232 1595.89,-798.013 1631,-746 1661.26,-701.17 1650.78,-630.561 1645.91,-606.145"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1479.23,-843 1470.86,-849.494 1481.45,-849.638 1479.23,-843"/>
+<g id="edge127" class="edge"><title>Node46&#45;&gt;Node37</title>
+<path fill="none" stroke="midnightblue" d="M1371.55,-862.137C1276.3,-858.954 1107.84,-848.347 1059.5,-813 1013.95,-779.689 996.984,-709.072 991.636,-678.784"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1371.56,-865.639 1381.66,-862.456 1371.78,-858.642 1371.56,-865.639"/>
+</g>
+<!-- Node46&#45;&gt;Node38 -->
+<g id="edge104" class="edge"><title>Node46&#45;&gt;Node38</title>
+<path fill="none" stroke="midnightblue" d="M1454.69,-841.253C1486.6,-798.726 1561.67,-705.06 1643.5,-648 1671.27,-628.639 1707.63,-614.382 1732.4,-606.044"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1451.87,-839.171 1448.72,-849.286 1457.49,-843.347 1451.87,-839.171"/>
 </g>
 <!-- Node46&#45;&gt;Node40 -->
-<g id="edge124" class="edge"><title>Node46&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M1351.56,-854.524C1301.16,-846.311 1237.65,-832.464 1220,-813 1167.25,-754.818 1178.33,-649.374 1184.42,-611.509"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1351.02,-857.983 1361.44,-856.092 1352.12,-851.069 1351.02,-857.983"/>
+<g id="edge125" class="edge"><title>Node46&#45;&gt;Node40</title>
+<path fill="none" stroke="midnightblue" d="M1371.73,-848.984C1340.57,-840.772 1303.59,-828.914 1272.5,-813 1257.73,-805.438 1068.16,-658.578 1007.81,-611.73"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1371.07,-852.428 1381.63,-851.522 1372.81,-845.647 1371.07,-852.428"/>
 </g>
 <!-- Node46&#45;&gt;Node41 -->
-<g id="edge127" class="edge"><title>Node46&#45;&gt;Node41</title>
-<path fill="none" stroke="midnightblue" d="M1351.54,-852.601C1327.43,-845.323 1302.18,-833.196 1286,-813 1220.84,-731.67 1319.77,-660.171 1252,-581 1225.8,-550.391 1181.43,-538.051 1145.6,-533.209"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1350.84,-856.038 1361.41,-855.341 1352.71,-849.294 1350.84,-856.038"/>
+<g id="edge128" class="edge"><title>Node46&#45;&gt;Node41</title>
+<path fill="none" stroke="midnightblue" d="M1371.81,-864.187C1288.76,-863.06 1143.67,-854.507 1027.5,-813 1003.23,-804.329 1000.28,-795.773 978.5,-782 884.29,-722.425 865.676,-698.881 766.5,-648 728.536,-628.523 701.353,-647.379 677.5,-612 652.235,-574.526 713.131,-552.163 762.907,-540.595"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1371.83,-867.688 1381.87,-864.292 1371.91,-860.688 1371.83,-867.688"/>
 </g>
 <!-- Node46&#45;&gt;Node42 -->
-<g id="edge129" class="edge"><title>Node46&#45;&gt;Node42</title>
-<path fill="none" stroke="midnightblue" d="M1390.35,-843.187C1380.35,-834.746 1369.65,-824.285 1362,-813 1300.27,-721.992 1332.06,-675.605 1276,-581 1251.35,-539.401 1211.3,-498.529 1189.44,-477.706"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1388.17,-845.925 1398.14,-849.499 1392.57,-840.486 1388.17,-845.925"/>
+<g id="edge130" class="edge"><title>Node46&#45;&gt;Node42</title>
+<path fill="none" stroke="midnightblue" d="M1411.64,-843.383C1317.47,-772.838 1003.58,-537.716 923.317,-477.595"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1409.71,-846.304 1419.81,-849.498 1413.9,-840.702 1409.71,-846.304"/>
 </g>
 <!-- Node46&#45;&gt;Node44 -->
-<g id="edge128" class="edge"><title>Node46&#45;&gt;Node44</title>
-<path fill="none" stroke="midnightblue" d="M1350.77,-859.459C1271.14,-853.514 1144.43,-840.054 1106,-813 1058.32,-779.434 1035.34,-708.957 1027.38,-678.745"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1350.97,-862.983 1361.2,-860.215 1351.48,-856.001 1350.97,-862.983"/>
+<g id="edge129" class="edge"><title>Node46&#45;&gt;Node44</title>
+<path fill="none" stroke="midnightblue" d="M1371.5,-861.461C1254.19,-857.109 1016.78,-844.594 940.5,-813 920.363,-804.66 922.369,-790.959 902.5,-782 812.579,-741.454 777.145,-776.989 683.5,-746 632.075,-728.982 576.902,-696.995 547.289,-678.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1371.67,-864.97 1381.79,-861.833 1371.92,-857.974 1371.67,-864.97"/>
 </g>
 <!-- Node47 -->
 <g id="node47" class="node"><title>Node47</title>
 <g id="a_node47"><a xlink:href="functor_8h.html" target="_top" xlink:title="Defines the Functor data structures. ">
-<polygon fill="white" stroke="red" points="560,-587 560,-606 704,-606 704,-587 560,-587"/>
-<text text-anchor="middle" x="632" y="-594" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/node/functor.h</text>
+<polygon fill="white" stroke="red" points="1482.5,-587 1482.5,-606 1626.5,-606 1626.5,-587 1482.5,-587"/>
+<text text-anchor="middle" x="1554.5" y="-594" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/node/functor.h</text>
 </a>
 </g>
 </g>
 <!-- Node46&#45;&gt;Node47 -->
-<g id="edge104" class="edge"><title>Node46&#45;&gt;Node47</title>
-<path fill="none" stroke="midnightblue" d="M1350.88,-862.326C1271.66,-859.247 1136.81,-848.653 1027,-813 863.911,-760.049 690.101,-639.471 643.853,-606.164"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1351.09,-865.836 1361.21,-862.697 1351.34,-858.84 1351.09,-865.836"/>
+<g id="edge105" class="edge"><title>Node46&#45;&gt;Node47</title>
+<path fill="none" stroke="midnightblue" d="M1441.19,-839.296C1446.73,-797.548 1462.24,-710.476 1500.5,-648 1511.23,-630.486 1529.64,-615.138 1541.94,-606.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1437.7,-838.997 1439.94,-849.353 1444.65,-839.863 1437.7,-838.997"/>
 </g>
 <!-- Node48 -->
 <g id="node48" class="node"><title>Node48</title>
 <g id="a_node48"><a xlink:href="runtime_2container_8h.html" target="_top" xlink:title="Common POD(plain old data) container types. ">
-<polygon fill="white" stroke="red" points="1485.5,-715.5 1485.5,-745.5 1598.5,-745.5 1598.5,-715.5 1485.5,-715.5"/>
-<text text-anchor="start" x="1493.5" y="-733.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="1542" y="-722.5" font-family="Helvetica,sans-Serif" font-size="10.00">/container.h</text>
+<polygon fill="white" stroke="red" points="1628,-715.5 1628,-745.5 1741,-745.5 1741,-715.5 1628,-715.5"/>
+<text text-anchor="start" x="1636" y="-733.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="1684.5" y="-722.5" font-family="Helvetica,sans-Serif" font-size="10.00">/container.h</text>
 </a>
 </g>
 </g>
 <!-- Node46&#45;&gt;Node48 -->
-<g id="edge112" class="edge"><title>Node46&#45;&gt;Node48</title>
-<path fill="none" stroke="midnightblue" d="M1481.42,-845.598C1498.14,-838.041 1514.65,-827.514 1526,-813 1541.28,-793.462 1543.25,-763.388 1542.9,-745.755"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1480.01,-842.395 1472.14,-849.497 1482.72,-848.848 1480.01,-842.395"/>
+<g id="edge113" class="edge"><title>Node46&#45;&gt;Node48</title>
+<path fill="none" stroke="midnightblue" d="M1505.41,-856.363C1563.66,-848.791 1642.18,-834.86 1664.5,-813 1682.61,-795.262 1685.34,-763.986 1685.23,-745.769"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1504.64,-852.933 1495.15,-857.658 1505.51,-859.877 1504.64,-852.933"/>
 </g>
 <!-- Node49 -->
 <g id="node49" class="node"><title>Node49</title>
 <g id="a_node49"><a xlink:href="runtime_2memory_8h.html" target="_top" xlink:title="Runtime memory management. ">
-<polygon fill="white" stroke="black" points="1404.5,-782.5 1404.5,-812.5 1517.5,-812.5 1517.5,-782.5 1404.5,-782.5"/>
-<text text-anchor="start" x="1412.5" y="-800.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="1461" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00">/memory.h</text>
+<polygon fill="white" stroke="black" points="1543,-782.5 1543,-812.5 1656,-812.5 1656,-782.5 1543,-782.5"/>
+<text text-anchor="start" x="1551" y="-800.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="1599.5" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00">/memory.h</text>
 </a>
 </g>
 </g>
 <!-- Node46&#45;&gt;Node49 -->
-<g id="edge118" class="edge"><title>Node46&#45;&gt;Node49</title>
-<path fill="none" stroke="midnightblue" d="M1432.97,-840.867C1439.2,-831.459 1446.23,-820.833 1451.69,-812.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1429.93,-839.125 1427.33,-849.396 1435.77,-842.987 1429.93,-839.125"/>
+<g id="edge119" class="edge"><title>Node46&#45;&gt;Node49</title>
+<path fill="none" stroke="midnightblue" d="M1482.98,-845.544C1508.74,-835.143 1540.7,-822.238 1564.63,-812.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1481.4,-842.407 1473.43,-849.396 1484.02,-848.898 1481.4,-842.407"/>
 </g>
 <!-- Node47&#45;&gt;Node12 -->
-<g id="edge107" class="edge"><title>Node47&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M688.602,-585.119C762.213,-571.487 881.859,-548.83 885,-545 1000.97,-403.6 599.518,-333.723 697,-179 744.721,-103.258 1023.19,-77.6588 1146.39,-69.9638"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="687.734,-581.72 678.537,-586.979 689.007,-588.603 687.734,-581.72"/>
-</g>
-<!-- Node47&#45;&gt;Node33 -->
-<g id="edge105" class="edge"><title>Node47&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M664.163,-583.202C692.97,-572.188 735.197,-556.042 765.311,-544.528"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="662.665,-580.028 654.575,-586.869 665.165,-586.566 662.665,-580.028"/>
+<g id="edge108" class="edge"><title>Node47&#45;&gt;Node12</title>
+<path fill="none" stroke="midnightblue" d="M1507.56,-584.022C1483.67,-576.245 1455.53,-563.866 1435.5,-545 1375.89,-488.854 1416.82,-431.934 1353.5,-380 1306.15,-341.163 1274.53,-372.831 1220.5,-344 1105.95,-282.871 1053.85,-264.664 1008.5,-143 1003.69,-130.09 1002.02,-124.159 1008.5,-112 1017.79,-94.5648 1037.17,-82.6843 1052.71,-75.5289"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1506.57,-587.38 1517.16,-586.98 1508.63,-580.69 1506.57,-587.38"/>
 </g>
 <!-- Node47&#45;&gt;Node34 -->
 <g id="edge106" class="edge"><title>Node47&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M633.155,-576.739C633.785,-566.487 634.554,-554.001 635.133,-544.589"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="629.66,-576.538 632.539,-586.734 636.647,-576.968 629.66,-576.538"/>
+<path fill="none" stroke="midnightblue" d="M1580.82,-582.342C1602.7,-571.4 1633.78,-555.86 1656.2,-544.652"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1579.14,-579.266 1571.76,-586.869 1582.27,-585.527 1579.14,-579.266"/>
 </g>
-<!-- Node48&#45;&gt;Node7 -->
-<g id="edge114" class="edge"><title>Node48&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M1529.84,-706.329C1517.43,-680.509 1500,-637.164 1500,-597.5 1500,-597.5 1500,-597.5 1500,-528.5 1500,-490.74 1504.43,-471.845 1476,-447 1437.97,-413.774 1298.82,-402.383 1213.83,-398.496"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1526.72,-707.919 1534.3,-715.322 1532.99,-704.809 1526.72,-707.919"/>
+<!-- Node47&#45;&gt;Node35 -->
+<g id="edge107" class="edge"><title>Node47&#45;&gt;Node35</title>
+<path fill="none" stroke="midnightblue" d="M1544.65,-577.713C1538.87,-567.287 1531.68,-554.301 1526.3,-544.589"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1541.74,-579.682 1549.64,-586.734 1547.86,-576.29 1541.74,-579.682"/>
 </g>
-<!-- Node48&#45;&gt;Node21 -->
-<g id="edge115" class="edge"><title>Node48&#45;&gt;Node21</title>
-<path fill="none" stroke="midnightblue" d="M1540.81,-704.996C1539.63,-678.499 1538,-635.015 1538,-597.5 1538,-597.5 1538,-597.5 1538,-528.5 1538,-381.59 1397.15,-240.16 1358.63,-204.233"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1537.33,-705.416 1541.28,-715.245 1544.32,-705.095 1537.33,-705.416"/>
+<!-- Node48&#45;&gt;Node7 -->
+<g id="edge115" class="edge"><title>Node48&#45;&gt;Node7</title>
+<path fill="none" stroke="midnightblue" d="M1751.23,-717.795C1814.68,-702.378 1900.5,-668.418 1900.5,-597.5 1900.5,-597.5 1900.5,-597.5 1900.5,-528.5 1900.5,-452.25 1801.29,-418.724 1737.34,-405.034"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1750.2,-714.44 1741.25,-720.113 1751.78,-721.259 1750.2,-714.44"/>
 </g>
-<!-- Node48&#45;&gt;Node36 -->
-<g id="edge116" class="edge"><title>Node48&#45;&gt;Node36</title>
-<path fill="none" stroke="midnightblue" d="M1475.09,-726.765C1364.6,-721.591 1137.3,-708.165 947,-679 944.257,-678.58 941.457,-678.111 938.635,-677.606"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1474.94,-730.262 1485.09,-727.226 1475.26,-723.269 1474.94,-730.262"/>
+<!-- Node48&#45;&gt;Node22 -->
+<g id="edge116" class="edge"><title>Node48&#45;&gt;Node22</title>
+<path fill="none" stroke="midnightblue" d="M1751.19,-716.44C1790.15,-707.842 1839.88,-695.18 1882.5,-679 2004.04,-632.864 2039.99,-624.945 2142.5,-545 2236.36,-471.799 2268.33,-451.472 2319.5,-344 2342.88,-294.902 2344.77,-227.555 2344.66,-204.026"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1750.05,-713.107 1741.02,-718.647 1751.53,-719.947 1750.05,-713.107"/>
 </g>
 <!-- Node48&#45;&gt;Node37 -->
-<g id="edge113" class="edge"><title>Node48&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M1559.19,-707.258C1582.14,-677.559 1621.71,-626.345 1637.36,-606.097"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1556.26,-705.321 1552.92,-715.374 1561.8,-709.601 1556.26,-705.321"/>
+<g id="edge117" class="edge"><title>Node48&#45;&gt;Node37</title>
+<path fill="none" stroke="midnightblue" d="M1617.62,-723.245C1481.32,-710.498 1173.54,-681.712 1046.25,-669.807"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1617.64,-726.762 1627.92,-724.208 1618.29,-719.792 1617.64,-726.762"/>
+</g>
+<!-- Node48&#45;&gt;Node38 -->
+<g id="edge114" class="edge"><title>Node48&#45;&gt;Node38</title>
+<path fill="none" stroke="midnightblue" d="M1697.75,-706.489C1714.91,-676.683 1743.99,-626.172 1755.55,-606.097"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1694.59,-704.961 1692.63,-715.374 1700.66,-708.454 1694.59,-704.961"/>
 </g>
 <!-- Node48&#45;&gt;Node42 -->
-<g id="edge117" class="edge"><title>Node48&#45;&gt;Node42</title>
-<path fill="none" stroke="midnightblue" d="M1516.87,-708.674C1506.85,-699.917 1495.48,-689.368 1486,-679 1424.1,-611.303 1438,-565.37 1362,-514 1322.8,-487.504 1270.25,-474.885 1230.67,-468.889"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1514.68,-711.409 1524.54,-715.275 1519.24,-706.101 1514.68,-711.409"/>
+<g id="edge118" class="edge"><title>Node48&#45;&gt;Node42</title>
+<path fill="none" stroke="midnightblue" d="M1633.87,-712.234C1489.53,-663.011 1077.91,-522.636 945.83,-477.595"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1632.79,-715.565 1643.39,-715.48 1635.05,-708.94 1632.79,-715.565"/>
 </g>
 <!-- Node49&#45;&gt;Node7 -->
-<g id="edge120" class="edge"><title>Node49&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M1461.2,-772.011C1461.49,-734.459 1462,-660.39 1462,-597.5 1462,-597.5 1462,-597.5 1462,-528.5 1462,-490.74 1466.19,-472.12 1438,-447 1405.64,-418.165 1289.37,-405.411 1213.68,-400.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1457.7,-771.99 1461.12,-782.018 1464.7,-772.046 1457.7,-771.99"/>
+<g id="edge121" class="edge"><title>Node49&#45;&gt;Node7</title>
+<path fill="none" stroke="midnightblue" d="M1666.14,-784.585C1764.88,-765.007 1938.5,-722.356 1938.5,-664.5 1938.5,-664.5 1938.5,-664.5 1938.5,-528.5 1938.5,-444.389 1827.48,-413.798 1752.23,-402.724"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1665.38,-781.167 1656.24,-786.52 1666.73,-788.036 1665.38,-781.167"/>
 </g>
-<!-- Node49&#45;&gt;Node23 -->
-<g id="edge121" class="edge"><title>Node49&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M1447.05,-773.677C1409.11,-714.353 1297.24,-556.936 1154,-514 1053.02,-483.732 748.089,-470.415 603.571,-465.682"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1444.21,-775.728 1452.5,-782.323 1450.13,-771.996 1444.21,-775.728"/>
+<!-- Node49&#45;&gt;Node24 -->
+<g id="edge122" class="edge"><title>Node49&#45;&gt;Node24</title>
+<path fill="none" stroke="midnightblue" d="M1582.19,-774.243C1543.57,-725.142 1446.55,-604.696 1354.5,-514 1338.59,-498.328 1318.44,-482.011 1306.01,-472.306"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1579.57,-776.582 1588.5,-782.294 1585.08,-772.264 1579.57,-776.582"/>
 </g>
-<!-- Node49&#45;&gt;Node37 -->
-<g id="edge119" class="edge"><title>Node49&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M1527.51,-787.793C1555.61,-780.856 1586.51,-768.392 1607,-746 1644.66,-704.834 1645.43,-631.278 1644.49,-606.174"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1526.68,-784.392 1517.7,-790.023 1528.23,-791.217 1526.68,-784.392"/>
+<!-- Node49&#45;&gt;Node38 -->
+<g id="edge120" class="edge"><title>Node49&#45;&gt;Node38</title>
+<path fill="none" stroke="midnightblue" d="M1601.06,-772.217C1603.1,-755.137 1607.77,-732.329 1618.5,-715 1650.84,-662.762 1714.54,-622.787 1744.38,-606.065"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1597.55,-772.208 1600.07,-782.498 1604.51,-772.881 1597.55,-772.208"/>
 </g>
 <!-- Node49&#45;&gt;Node40 -->
-<g id="edge123" class="edge"><title>Node49&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M1432.97,-776.143C1377.36,-735.754 1254.33,-646.399 1206.53,-611.682"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1431.15,-779.144 1441.29,-782.188 1435.26,-773.48 1431.15,-779.144"/>
+<g id="edge124" class="edge"><title>Node49&#45;&gt;Node40</title>
+<path fill="none" stroke="midnightblue" d="M1538.66,-779.719C1504.91,-770.215 1462.25,-757.882 1424.5,-746 1277.4,-699.697 1104.5,-638.678 1028.58,-611.547"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1537.81,-783.115 1548.38,-782.448 1539.7,-776.375 1537.81,-783.115"/>
 </g>
 <!-- Node49&#45;&gt;Node48 -->
-<g id="edge122" class="edge"><title>Node49&#45;&gt;Node48</title>
-<path fill="none" stroke="midnightblue" d="M1486.69,-775.883C1499,-766.005 1513.43,-754.429 1524.46,-745.577"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1484.18,-773.407 1478.58,-782.396 1488.57,-778.867 1484.18,-773.407"/>
+<g id="edge123" class="edge"><title>Node49&#45;&gt;Node48</title>
+<path fill="none" stroke="midnightblue" d="M1626.09,-776.168C1639.09,-766.228 1654.4,-754.514 1666.09,-745.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1623.76,-773.541 1617.94,-782.396 1628.01,-779.102 1623.76,-773.541"/>
 </g>
 </g>
 </svg>
diff --git a/docs/api/doxygen/c__runtime__api_8h_source.html b/docs/api/doxygen/c__runtime__api_8h_source.html
index 0d082c8..11e941c 100644
--- a/docs/api/doxygen/c__runtime__api_8h_source.html
+++ b/docs/api/doxygen/c__runtime__api_8h_source.html
@@ -146,7 +146,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="ttc" id="c__runtime__api_8h_html_ae690840d1af9c7b0fe5b9b457456f60d"><div class="ttname"><a href="c__runtime__api_8h.html#ae690840d1af9c7b0fe5b9b457456f60d">TVMArrayToDLPack</a></div><div class="ttdeci">int TVMArrayToDLPack(TVMArrayHandle from, DLManagedTensor **out)</div><div class="ttdoc">Produce a DLMangedTensor from the array that shares data memory with the array. </div></div>
 <div class="ttc" id="c__runtime__api_8h_html_a6cd1076476117e74454f67931c2da1d4"><div class="ttname"><a href="c__runtime__api_8h.html#a6cd1076476117e74454f67931c2da1d4">TVMRetValueHandle</a></div><div class="ttdeci">void * TVMRetValueHandle</div><div class="ttdoc">Handle to hold return value. </div><div class="ttdef"><b>Definition:</b> c_runtime_api.h:167</div></div>
 <div class="ttc" id="c__runtime__api_8h_html_acf57d257a6e0841d84ebbd2a339d183e"><div class="ttname"><a href="c__runtime__api_8h.html#acf57d257a6e0841d84ebbd2a339d183e">TVMFunctionHandle</a></div><div class="ttdeci">void * TVMFunctionHandle</div><div class="ttdoc">Handle to packed function handle. </div><div class="ttdef"><b>Definition:</b> c_runtime_api.h:165</div></div>
-<div class="ttc" id="namespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor. </div><div class="ttdef"><b>Definition:</b> transform.h:1411</div></div>
+<div class="ttc" id="namespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor. </div><div class="ttdef"><b>Definition:</b> transform.h:1479</div></div>
 <div class="ttc" id="c__runtime__api_8h_html_ace8007daffd9f2c6d954c24d870bfcc4"><div class="ttname"><a href="c__runtime__api_8h.html#ace8007daffd9f2c6d954c24d870bfcc4">tvm_index_t</a></div><div class="ttdeci">int64_t tvm_index_t</div><div class="ttdoc">type of array index. </div><div class="ttdef"><b>Definition:</b> c_runtime_api.h:76</div></div>
 <div class="ttc" id="c__runtime__api_8h_html_a190e81769e805cca153514137a66e793a9387f774bc8453afe4aa4cd17789a405"><div class="ttname"><a href="c__runtime__api_8h.html#a190e81769e805cca153514137a66e793a9387f774bc8453afe4aa4cd17789a405">kTVMOpaqueHandle</a></div><div class="ttdef"><b>Definition:</b> c_runtime_api.h:108</div></div>
 <div class="ttc" id="c__runtime__api_8h_html_ae899a6a211b7913e92420a01b804db64"><div class="ttname"><a href="c__runtime__api_8h.html#ae899a6a211b7913e92420a01b804db64">TVMObjectRetain</a></div><div class="ttdeci">int TVMObjectRetain(TVMObjectHandle obj)</div><div class="ttdoc">Increase the reference count of an object. </div></div>
diff --git a/docs/api/doxygen/classes.html b/docs/api/doxygen/classes.html
index 05e29f4..faff824 100644
--- a/docs/api/doxygen/classes.html
+++ b/docs/api/doxygen/classes.html
@@ -90,186 +90,187 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|& [...]
 <table class="classindex">
 <tr><td rowspan="2" valign="bottom"><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;A&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CostModel.html">CostModel</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IRModule.html">IRModule</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1PlaceholderOpNode.html">PlaceholderOpNode</a> (<a class="el" href="namespacetvm_ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CostModelNode.html">CostModelNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IRModuleNode.html">IRModuleNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1PointerType.html">PointerType</a> (<a class="el" href="namespacetvm.htm [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzer.html">AccessAnalyzer</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CropAndResizeAttrs.html">CropAndResizeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1IterAdapter.html">It [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CostModel.html">CostModel</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IRModuleNode.html">IRModuleNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1PlaceholderOpNode.html">PlaceholderOpNode</a> (<a class="el" href="names [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CostModelNode.html">CostModelNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1IterAdapter.html">IterAdapter</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1PointerType.html">PointerType</a> (<a clas [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzer.html">AccessAnalyzer</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CropAndResizeAttrs.html">CropAndResizeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1Iterator.htm [...]
 <tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzerNode.html">AccessAnalyzerNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;D&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1Iterator.html">Iterator</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1PragmaStep.html">PragmaStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1StageNode.h [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool2DAttrs.html">AdaptivePool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1IteratorNode.html">IteratorNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1PragmaStepNode [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool3DAttrs.html">AdaptivePool3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataProducer.html">DataProducer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1auto__scheduler_1_1AttachMapNode_1_1IterKeyHash.html">AttachMapNode [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Add.html">Add</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataProducerNode.html">DataProducerNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapExpr.html">IterMapExpr</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::ar [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AddNode.html">AddNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DataType.html">DataType</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapExprNode.html">IterMapExprNode</a> (<a class="el" href="namespacetvm_1_1arith.h [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ADT.html">ADT</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DataTypePattern.html">DataTypePattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMark.html">IterMark</a> (<a class="el" href="namespacetvm_1_1arith.htm [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ADTObj.html">ADTObj</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DataTypePatternNode.html">DataTypePatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMarkNode.html">IterMarkNode</a> (<a class="el" href="nam [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AffineGridAttrs.html">AffineGridAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DebugAttrs.html">DebugAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSplitExpr.html">IterSplitExpr</a> (<a class="el" href="names [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Allocate.html">Allocate</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DeformableConv2DAttrs.html">DeformableConv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSplitExprNode.html">IterSplitExprNode</a> (<a class="el" hr [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AllocateNode.html">AllocateNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DenseAttrs.html">DenseAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSumExpr.html">IterSumExpr</a> (<a class="el" href="namespacetvm_1_1arith. [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Allocator.html">Allocator</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DenseMapNode.html">DenseMapNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSumExprNode.html">IterSumExprNode</a> (<a class="el" href="namespacetvm_1 [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllocStorageAttrs.html">AllocStorageAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1qnn_1_1DequantizeAttrs.html">DequantizeAttrs</a> (<a class="el" href="namespacetvm_1_1relay_1_1qnn.html">tvm::relay::qnn</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IterVar.html">IterVar</a> (<a cla [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllocTensorAttrs.html">AllocTensorAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html">DeviceAPI</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarAttr.html">IterVarAttr</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>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DeviceCopyAttrs.html">DeviceCopyAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarAttrNode.html">IterVarAttrNode</a> (<a class="el" href="names [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AltPatternNode.html">AltPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPattern.html">DFPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IterVarNode.html">IterVarNode</a> (<a class="el" href="namespacetvm_1_1t [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternCallback.html">DFPatternCallback</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarRelation.html">IterVarRelation</a> (<a class="el" href="namesp [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1And.html">And</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternCallbackNode.html">DFPatternCallbackNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarRelationNode.html">IterVarRelationNode</a> (<a class="el" href="namesp [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AndNode.html">AndNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor.html">DFPatternFunctor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160 [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ProducerStore.html">ProducerStore</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Store.html">Store</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AnnotationStep.html">AnnotationStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html">DFPatternFunctor&lt; R(const DFPattern &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160; [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AnnotationStepNode.html">AnnotationStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternNode.html">DFPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1L2NormalizeAttrs.html">L [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Any.html">Any</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternVisitor.html">DFPatternVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LayerNormAttrs.html">LayerNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay. [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AnyNode.html">AnyNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Diagnostic.html">Diagnostic</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Layout.html">Layout</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td vali [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArangeAttrs.html">ArangeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticBuilder.html">DiagnosticBuilder</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LayoutAxis.html">LayoutAxis</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::ti [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArgsortAttrs.html">ArgsortAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticContext.html">DiagnosticContext</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LayoutNode.html">LayoutNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm:: [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticContextNode.html">DiagnosticContextNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LayoutTransformAttrs.html">LayoutTransformAttrs</a> (<a class="el" href="namespace [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1ArrayHandler.html">SimpleObjAllocator::ArrayHandler</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticNode.html">DiagnosticNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LE.html">LE</a> (<a class="el" href="namesp [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ArrayNode.html">ArrayNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticRenderer.html">DiagnosticRenderer</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LeakyReluAttrs.html">LeakyReluAttrs</a> (<a class="el" href="namespacetvm_1_1rel [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AssertStmt.html">AssertStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticRendererNode.html">DiagnosticRendererNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1tir_1_1LENode.html">LENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>) [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AssertStmtNode.html">AssertStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DictAttrs.html">DictAttrs</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Let.html">Let</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><t [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1IteratorNode.html">IteratorNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1PragmaStep.html">PragmaStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1Sta [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool2DAttrs.html">AdaptivePool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1auto__scheduler_1_1AttachMapNode_1_1IterKeyHash.html">AttachMapNode::IterKeyHash</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1au [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool3DAttrs.html">AdaptivePool3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataProducer.html">DataProducer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapExpr.html">IterMapExpr</a> (<a class="el" href="name [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Add.html">Add</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataProducerNode.html">DataProducerNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapExprNode.html">IterMapExprNode</a> (<a class="el" href="namespacetvm_1_1arith.html" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AddNode.html">AddNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DataType.html">DataType</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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_1runtime_1_1ADT.html">ADT</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DataTypePattern.html">DataTypePattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMarkNode.html">IterMarkNode</a> (<a class="el" href="namespacetvm_1_1a [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ADTObj.html">ADTObj</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DataTypePatternNode.html">DataTypePatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSplitExpr.html">IterSplitExpr</a> (<a class="el" href="n [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AffineGridAttrs.html">AffineGridAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DebugAttrs.html">DebugAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSplitExprNode.html">IterSplitExprNode</a> (<a class="el" hre [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Allocate.html">Allocate</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DeformableConv2DAttrs.html">DeformableConv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSumExpr.html">IterSumExpr</a> (<a class="el" href="namespac [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AllocateNode.html">AllocateNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DenseAttrs.html">DenseAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSumExprNode.html">IterSumExprNode</a> (<a class="el" href="namespacetvm_1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Allocator.html">Allocator</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DenseMapNode.html">DenseMapNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IterVar.html">IterVar</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::t [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllocStorageAttrs.html">AllocStorageAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1qnn_1_1DequantizeAttrs.html">DequantizeAttrs</a> (<a class="el" href="namespacetvm_1_1relay_1_1qnn.html">tvm::relay::qnn</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarAttr.html">IterVarAttr</a>  [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllocTensorAttrs.html">AllocTensorAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html">DeviceAPI</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarAttrNode.html">IterVarAttrNode</a> (<a class="el" href= [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AltPattern.html">AltPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DeviceCopyAttrs.html">DeviceCopyAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IterVarNode.html">IterVarNode</a> (<a class="el" href="namespacetvm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AltPatternNode.html">AltPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPattern.html">DFPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarRelation.html">IterVarRelation</a> (<a class="el" href="namespacet [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternCallback.html">DFPatternCallback</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarRelationNode.html">IterVarRelationNode</a> (<a class="el" href [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1And.html">And</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternCallbackNode.html">DFPatternCallbackNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#1 [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ProducerRealizeNode.html">ProducerRealizeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1StorageObj.html">StorageObj</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AndNode.html">AndNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor.html">DFPatternFunctor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ProducerStore.html">ProducerStore</a> (<a class="el" href="namespacetvm_1_1tir [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AnnotationStep.html">AnnotationStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html">DFPatternFunctor&lt; R(const DFPattern &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160; [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AnnotationStepNode.html">AnnotationStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternNode.html">DFPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LayerNormAttrs.html">Lay [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Any.html">Any</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternVisitor.html">DFPatternVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Layout.html">Layout</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&# [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AnyNode.html">AnyNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Diagnostic.html">Diagnostic</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LayoutAxis.html">LayoutAxis</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td> [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArangeAttrs.html">ArangeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticBuilder.html">DiagnosticBuilder</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LayoutNode.html">LayoutNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::ti [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArgsortAttrs.html">ArgsortAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticContext.html">DiagnosticContext</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LayoutTransformAttrs.html">LayoutTransformAttrs</a> (<a class="el" href="namespac [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticContextNode.html">DiagnosticContextNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LE.html">LE</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1ArrayHandler.html">SimpleObjAllocator::ArrayHandler</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticNode.html">DiagnosticNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</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_1runtime_1_1ArrayNode.html">ArrayNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticRenderer.html">DiagnosticRenderer</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1tir_1_1LENode.html">LENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AssertStmt.html">AssertStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticRendererNode.html">DiagnosticRendererNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Let.html">Let</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;& [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AssertStmtNode.html">AssertStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DictAttrs.html">DictAttrs</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Let.html">Let</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;< [...]
 </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1SubPixelAttrs.html">SubPixelAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AttachMap.html">AttachMap</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DictAttrsNode.html">DictAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Let.html">Let</a> (<a class="el" href="namespacetvm_1_1relay.html">t [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AttachMap.html">AttachMap</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DictAttrsNode.html">DictAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetNode.html">LetNode</a> (<a class="el" href="namespacetvm_1_1tir.htm [...]
 </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AttachMapNode.html">AttachMapNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DilateAttrs.html">DilateAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetNode.html">LetNode</a> (<a class="el" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrDocEntry.html">AttrDocEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Dilation2DAttrs.html">Dilation2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetNode.html">LetNode</a> (<a class="el" href="namespacetv [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AttachMapNode.html">AttachMapNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DilateAttrs.html">DilateAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetNode.html">LetNode</a> (<a class="e [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrDocEntry.html">AttrDocEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Dilation2DAttrs.html">Dilation2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmt.html">LetStmt</a> (<a class="el" href="namespacetvm_ [...]
 </td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1TakeAttrs.html">TakeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrDocVisitor.html">AttrDocVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Div.html">Div</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmt.html">LetStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)& [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1AttrError.html">AttrError</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DivNode.html">DivNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmtNode.html">LetStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrExistVisitor.html">AttrExistVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPattern.html">DominatorPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Load.html">Load</a> (<a class="el" href="namespacet [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrFieldInfo.html">AttrFieldInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPatternNode.html">DominatorPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LoadNode.html">LoadNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tv [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrFieldInfoNode.html">AttrFieldInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html">DropoutAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalBuilder.html">LocalBuilder</a> (<a class="el" href="namespacetvm_1_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrDocVisitor.html">AttrDocVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Div.html">Div</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmtNode.html">LetStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::t [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1AttrError.html">AttrError</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DivNode.html">DivNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LinkedParam.html">LinkedParam</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrExistVisitor.html">AttrExistVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPattern.html">DominatorPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">LinkedParamNode</a> (<a class [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrFieldInfo.html">AttrFieldInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPatternNode.html">DominatorPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Load.html">Load</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrFieldInfoNode.html">AttrFieldInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html">DropoutAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LoadNode.html">LoadNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir< [...]
 <tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrInitEntry.html">AttrInitEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;E&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalBuilderNode.html">LocalBuilderNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Range.html">Range</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TargetNode.html">TargetNode</a> (<a class="el" href="namespacetvm.html">tvm</a [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrInitVisitor.html">AttrInitVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalRunner.html">LocalRunner</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1RangeNode.html">RangeNode</a> (<a class=" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrNonDefaultVisitor.html">AttrNonDefaultVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1EnvFunc.html">EnvFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalRunnerNode.html">LocalRunnerNode</a> (<a class="el" href="namespace [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrNopEntry.html">AttrNopEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1EnvFuncNode.html">EnvFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="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_1detail_1_1AttrNormalVisitor.html">AttrNormalVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EQ.html">EQ</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LT.html">LT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;& [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AttrPattern.html">AttrPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EQNode.html">EQNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LTNode.html">LTNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160; [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AttrPatternNode.html">AttrPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Error.html">Error</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1RecordReader.html">RecordReader</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Tensor.html">Tensor</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistryMap.html">AttrRegistryMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1ErrorBuilder.html">ErrorBuilder</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1RecordReaderNode.html">RecordReaderNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistryMapContainerMap.html">AttrRegistryMapContainerMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1ErrorReporter.html">ErrorReporter</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Map.html">Map</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td va [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1Attrs.html">Attrs</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Evaluate.html">Evaluate</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MapNode.html">MapNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" hr [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrsNode.html">AttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EvaluateNode.html">EvaluateNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Match.html">Match</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;< [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSEqualVisitor.html">AttrsSEqualVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Executable.html">Executable</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MatchNode.html">MatchNode</a> (<a c [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSHashVisitor.html">AttrsSHashVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ExpandDimsAttrs.html">ExpandDimsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MatrixSetDiagAttrs.html">MatrixSetDiagAttrs</a> [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AttrStmt.html">AttrStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1tir_1_1ExprDeepEqual.html">ExprDeepEqual</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Max.html">Max</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#1 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AttrStmtNode.html">AttrStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprFunctor.html">ExprFunctor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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="structtvm_1_1detail_1_1AttrTriggerNonDefaultEntry.html">AttrTriggerNonDefaultEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html">ExprFunctor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool1DAttrs.html">MaxPool1DAttrs</ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrVisitor.html">AttrVisitor</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html">ExprFunctor&lt; R(const Expr &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool2DA [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool1DAttrs.html">AvgPool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprFunctor_3_01R_07const_01PrimExpr_01_6n_00_01Args_8_8_8_08_4.html">ExprFunctor&lt; R(const PrimExpr &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool2DAttrs.html">AvgPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprMutator.html">ExprMutator</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureCallback.html">MeasureCallback</a> (<a class="el [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool3DAttrs.html">AvgPool3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprMutator.html">ExprMutator</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureCallbackNode.html">MeasureCallbackNode</a> (<a class=" [...]
+</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.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Range.html">Range</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TargetNode.html">TargetNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160; [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrInitVisitor.html">AttrInitVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalBuilderNode.html">LocalBuilderNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1RangeNode.html">RangeNode</a> ( [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrNonDefaultVisitor.html">AttrNonDefaultVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1EnvFunc.html">EnvFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalRunner.html">LocalRunner</a> (<a class="el" href="namespacetvm_1_1a [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrNopEntry.html">AttrNopEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1EnvFuncNode.html">EnvFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalRunnerNode.html">LocalRunnerNode</a> (<a class="el" href="namespacetvm_1_1au [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrNormalVisitor.html">AttrNormalVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EQ.html">EQ</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LRNAttrs.html">LRNAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AttrPattern.html">AttrPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EQNode.html">EQNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LT.html">LT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&# [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AttrPatternNode.html">AttrPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Error.html">Error</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LTNode.html">LTNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;< [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistryMap.html">AttrRegistryMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1ErrorBuilder.html">ErrorBuilder</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1RecordReaderNode.html">RecordReaderNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1TensorComputeOp.html">TensorComputeOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistryMapContainerMap.html">AttrRegistryMapContainerMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1ErrorReporter.html">ErrorReporter</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1RecordToFile.html">RecordToFile</a> (<a class="el" href="namespacetvm_1_1aut [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1Attrs.html">Attrs</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Evaluate.html">Evaluate</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Map.html">Map</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="clas [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrsNode.html">AttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EvaluateNode.html">EvaluateNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MapNode.html">MapNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSEqualVisitor.html">AttrsSEqualVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Executable.html">Executable</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Match.html">Match</a> (<a class="el [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSHashVisitor.html">AttrsSHashVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ExpandDimsAttrs.html">ExpandDimsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MatchNode.html">MatchNode</a> (<a class="el" hre [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AttrStmt.html">AttrStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1tir_1_1ExprDeepEqual.html">ExprDeepEqual</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MatrixSetDiagAttrs.html">MatrixSetDiagAttrs</a> (<a class="el" href="namespacetvm_1_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AttrStmtNode.html">AttrStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprFunctor.html">ExprFunctor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Max.html">Max</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160; [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrTriggerNonDefaultEntry.html">AttrTriggerNonDefaultEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html">ExprFunctor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MaxNode.html">MaxNode</a> (<a class="el" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrVisitor.html">AttrVisitor</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html">ExprFunctor&lt; R(const Expr &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool1DA [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AutoSchedulerLayoutTransformAttrs.html">AutoSchedulerLayoutTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprFunctor_3_01R_07const_01PrimExpr_01_6n_00_01Args_8_8_8_08_4.html">ExprFunctor&lt; R(const PrimExpr &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</ [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool1DAttrs.html">AvgPool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprMutator.html">ExprMutator</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool3DAttrs.html">MaxPool3DAttrs</a> (<a class="el" href="namespace [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool2DAttrs.html">AvgPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprMutator.html">ExprMutator</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureCallback.html">MeasureCallback</a> (<a class="el [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool3DAttrs.html">AvgPool3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprPattern.html">ExprPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureCallbackNode.html">MeasureCallbackNode</a> (<a c [...]
 <tr><td rowspan="2" valign="bottom"><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;B&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprPattern.html">ExprPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureInput.html">MeasureInput</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1RefValueObj.html">RefValueObj</a> (<a c [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprPatternNode.html">ExprPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureInputNode.html">MeasureInputNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1RefWrite.html">RefWrite</ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseAttrsNode.html">BaseAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprRewriter.html">ExprRewriter</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureResult.html">MeasureResult</a> (<a class="el" href="namespacetvm_1_1auto__ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1BaseComputeOpNode.html">BaseComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprVisitor.html">ExprVisitor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureResultNode.html">MeasureResultNode</a> (<a class="el" href [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html">ExprVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MemoryInfo.html">MemoryInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valig [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseExprNode.html">BaseExprNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ExternOp.html">ExternOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MemoryInfoNode.html">MemoryInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td vali [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseFunc.html">BaseFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ExternOpNode.html">ExternOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1MemoryManager.html">MemoryManager</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::ru [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseFuncNode.html">BaseFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MeshgridAttrs.html">MeshgridAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1RelayNode.html">RelayNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1TupleGetItemPatternNode.html">TupleGetItemPatternNode</a> (<a class="e [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseTensorType.html">BaseTensorType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Min.html">Min</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1RelayRefType.html">RelayRefType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseTensorTypeNode.html">BaseTensorTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FeatureSet.html">FeatureSet</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MinNode.html">MinNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)& [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseValueEqual.html">BaseValueEqual</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1FIFOBufferAttrs.html">FIFOBufferAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html">MirrorPadAttrs</a> (<a class="el" href="namespacetvm_1_1rela [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseValueHash.html">BaseValueHash</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyAttrs.html">FixedPointMultiplyAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MixedModeMutator.html">MixedModeMutator</a> (<a class="el" href="nam [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchNormAttrs.html">BatchNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1SeqStmt_1_1Flattener.html">SeqStmt::Flattener</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MixedModeVisitor.html">MixedModeVisitor</a> (<a class=" [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchToSpaceNDAttrs.html">BatchToSpaceNDAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FloatImm.html">FloatImm</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Mod.html">Mod</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#16 [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BiasAddAttrs.html">BiasAddAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FloatImmNode.html">FloatImmNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ModNode.html">ModNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&# [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BijectiveLayout.html">BijectiveLayout</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorDiv.html">FloorDiv</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSet.html">ModularSet</a> (<a class="el" href="namespacetvm_1_1arith.html">t [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BijectiveLayoutNode.html">BijectiveLayoutNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorDivNode.html">FloorDivNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">ModularSetAnalyzer</a> (<a class="el" hre [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BinaryConv2DAttrs.html">BinaryConv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorMod.html">FloorMod</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSetNode.html">ModularSetNode</a> (<a class="el" href="namespacet [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BinaryDenseAttrs.html">BinaryDenseAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorModNode.html">FloorModNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Module.html">Module</a> (<a class="el" href="namespacetvm_1_1ru [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BinaryOpNode.html">BinaryOpNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStep.html">FollowFusedSplitStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ModuleNode.html">ModuleNode [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BitPackAttrs.html">BitPackAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStepNode.html">FollowFusedSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Mul.html">Mul</a [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1Bool.html">Bool</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowSplitStep.html">FollowSplitStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MulNode.html">MulNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Broadcast.html">Broadcast</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowSplitStepNode.html">FollowSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html">MultiBoxPri [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BroadcastNode.html">BroadcastNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1For.html">For</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html">MultiBoxTransformLocAttrs</a> (<a class="el" href="namespacetvm [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Buffer.html">Buffer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ForNode.html">ForNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&# [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1RfactorStep.html">RfactorStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structTVMPackedFunc.html">TVMPackedFunc</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">Buffer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1FrameBuffer.html">FrameBuffer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runtime::micro_rpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1RfactorStepNode.html">RfactorStep [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferLoad.html">BufferLoad</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1Framer.html">Framer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runtime::micro_rpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray.html">NDArray</a> (<a class="el" hr [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferLoadNode.html">BufferLoadNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html">StringObj::FromStd</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html">NdarraySizeAttrs</a> (<a c [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferNode.html">BufferNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Function.html">Function</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NE.html">NE</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160; [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRealize.html">BufferRealize</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FunctionNode.html">FunctionNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NENode.html">NENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRealizeNode.html">BufferRealizeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FuncType.html">FuncType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1NodeFunctor.html">NodeFunctor</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td>< [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprPatternNode.html">ExprPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureInput.html">MeasureInput</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1RefWrite.html">RefWrite</a> (<a  [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprRewriter.html">ExprRewriter</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureInputNode.html">MeasureInputNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1RefWriteNode.html">RefWriteNode [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseAttrsNode.html">BaseAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprVisitor.html">ExprVisitor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureResult.html">MeasureResult</a> (<a class="el" href="namespacetvm_1_1auto__schedule [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1BaseComputeOpNode.html">BaseComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html">ExprVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureResultNode.html">MeasureResultNode</a> (<a class="el [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ExternOp.html">ExternOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MemoryInfo.html">MemoryInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a clas [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseExprNode.html">BaseExprNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ExternOpNode.html">ExternOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MemoryInfoNode.html">MemoryInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseFunc.html">BaseFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1MemoryManager.html">MemoryManager</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1RelayNode.html">RelayNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1TupleGetItemPatternNode.html">TupleGetItemPattern [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseFuncNode.html">BaseFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MeshgridAttrs.html">MeshgridAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1RelayRefType.html">RelayRefType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseTensorType.html">BaseTensorType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FeatureSet.html">FeatureSet</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Min.html">Min</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseTensorTypeNode.html">BaseTensorTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1FIFOBufferAttrs.html">FIFOBufferAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MinNode.html">MinNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseValueEqual.html">BaseValueEqual</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyAttrs.html">FixedPointMultiplyAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html">MirrorPadAttrs</a> (<a class="el" href="name [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseValueHash.html">BaseValueHash</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1SeqStmt_1_1Flattener.html">SeqStmt::Flattener</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MixedModeMutator.html">MixedModeMutator</a> (<a class="el" href="namespacetvm_1_1re [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchNormAttrs.html">BatchNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FloatImm.html">FloatImm</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MixedModeVisitor.html">MixedModeVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchToSpaceNDAttrs.html">BatchToSpaceNDAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FloatImmNode.html">FloatImmNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Mod.html">Mod</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&# [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BiasAddAttrs.html">BiasAddAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorDiv.html">FloorDiv</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ModNode.html">ModNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BijectiveLayout.html">BijectiveLayout</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorDivNode.html">FloorDivNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSet.html">ModularSet</a> (<a class="el" href="namespacetvm_1_1arith [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BijectiveLayoutNode.html">BijectiveLayoutNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorMod.html">FloorMod</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">ModularSetAnalyzer</a> (<a class="el" href="names [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BinaryConv2DAttrs.html">BinaryConv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorModNode.html">FloorModNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSetNode.html">ModularSetNode</a> (<a class="el" href="na [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BinaryDenseAttrs.html">BinaryDenseAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStep.html">FollowFusedSplitStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Module.html" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BinaryOpNode.html">BinaryOpNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStepNode.html">FollowFusedSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ModuleNode.html">Mo [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BitPackAttrs.html">BitPackAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowSplitStep.html">FollowSplitStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Mul.html">Mul</a> (<a class="el" h [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1Bool.html">Bool</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowSplitStepNode.html">FollowSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MulNode.html">MulNode</a> (<a class="el" href="namespacetvm_1_1tir.h [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Broadcast.html">Broadcast</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1For.html">For</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html">MultiBoxPriorAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::r [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BroadcastNode.html">BroadcastNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ForNode.html">ForNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html">MultiBoxTransformLocAttrs</a> (<a class="el" href="name [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Buffer.html">Buffer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1FrameBuffer.html">FrameBuffer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runtime::micro_rpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_N"></a><table border="0" [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1RfactorStepNode.html">RfactorStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structTVMParallelGroupEnv.html">TVMParallelGroupEnv</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">Buffer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1Framer.html">Framer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runtime::micro_rpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ROIAlignAttrs.html">ROIAlignAttrs</a> (<a class="el" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferLoad.html">BufferLoad</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html">StringObj::FromStd</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray.html">NDArray</a> (<a class="el" href="namespace [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferLoadNode.html">BufferLoadNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Function.html">Function</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html">NdarraySizeAttrs</a> (<a class="el" href="namespacetvm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferNode.html">BufferNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FunctionNode.html">FunctionNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NE.html">NE</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#16 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRealize.html">BufferRealize</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FuncType.html">FuncType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NENode.html">NENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td> [...]
 </td><td valign="top"><a class="el" href="classtvm_1_1TypeCall.html">TypeCall</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferStore.html">BufferStore</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FuncTypeNode.html">FuncTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1NodeFunctor_3_01R_07const_01ObjectRef_01_6n_00_01Args_8_8_8_08_4.html">NodeFunctor&lt; R(const ObjectRef &amp; [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferStoreNode.html">BufferStoreNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Fuse.html">Fuse</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html">NonMaximumSuppressionAttrs</a> (<a class="el" href="namespa [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1BuildResult.html">BuildResult</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1FuseNode.html">FuseNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Not.html">Not</a> (<a class="el" href="namespacetvm_1_1tir.h [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1BuildResultNode.html">BuildResultNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStep.html">FuseStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NotNode.html"> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRealizeNode.html">BufferRealizeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FuncTypeNode.html">FuncTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1NodeFunctor.html">NodeFunctor</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#16 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferStore.html">BufferStore</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Fuse.html">Fuse</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1NodeFunctor_3_01R_07const_01ObjectRef_01_6n_00_01Args_8_8_8_08_4.html">NodeFunctor&lt; R(const ObjectRef &amp; [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferStoreNode.html">BufferStoreNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1FuseNode.html">FuseNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html">NonMaximumSuppressionAttrs</a> (<a class="el" href= [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1BuildResult.html">BuildResult</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStep.html">FuseStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Not.html">Not</a> (<a  [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1BuildResultNode.html">BuildResultNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStepNode.html">FuseStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NotNod [...]
 <tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;C&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStepNode.html">FuseStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1NullOptType.html">NullOptType</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ScatterAttrs.html">ScatterAttrs< [...]
-<tr><td rowspan="2" valign="bottom"><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;G&#160;&#160;</div></td></tr></table>
-</td><td rowspan="2" valign="bottom"><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;O&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Schedule.html">Schedule</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TypedEnvFunc.html">TypedEnvFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheReadStep.html">CacheReadStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ScheduleNode.html">ScheduleNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html">TypedEnvFunc [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheReadStepNode.html">CacheReadStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GatherAttrs.html">GatherAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjAllocatorBase.html">ObjAl [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheWriteStep.html">CacheWriteStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GE.html">GE</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Object.html">Object</a> (<a class="el" href="namespacetvm_1 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheWriteStepNode.html">CacheWriteStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GenericFunc.html">GenericFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectEqual.html">ObjectEqual</a> (<a class="el" hr [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GenericFuncNode.html">GenericFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectHash.html">ObjectHash</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160; [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GENode.html">GENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html">ObjectPtr</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&# [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CallNode.html">CallNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GetValidCountsAttrs.html">GetValidCountsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrEqual.html">ObjectPtrEqual</a> (<a class="el" href="nam [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallNode.html">CallNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GlobalPool2DAttrs.html">GlobalPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrHash.html">ObjectPtrHash</a> (<a class="el" href="nam [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallPattern.html">CallPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GlobalTypeVar.html">GlobalTypeVar</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runti [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallPatternNode.html">CallPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GlobalTypeVarNode.html">GlobalTypeVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker.html">ObjectTypeChecker</a> (<a class="el" href="namespa [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GlobalVar.html">GlobalVar</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Array_3_01T_01_4_01_4.html">ObjectTypeChecker&lt; Array&lt;  [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Cast.html">Cast</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GlobalVarNode.html">GlobalVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Map_3_01K_00_01V_01_4_01_4.html">ObjectTypeChecker&lt; Map&lt; K, V &gt; &gt;</a> (<a cl [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CastAttrs.html">CastAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GridSampleAttrs.html">GridSampleAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1OnDeviceAttrs.html">OnDeviceAttrs</a> (<a class="el" href="namesp [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CastHintAttrs.html">CastHintAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GroupNormAttrs.html">GroupNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1OneHotAttrs.html">OneHotAttrs</a> (<a class="el" href="name [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CastNode.html">CastNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GT.html">GT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Op.html">Op</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Clause.html">Clause</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GTNode.html">GTNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1OpAttrMap.html">OpAttrMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td va [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ClauseNode.html">ClauseNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;H&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Operation.html">Operation</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1SeqStmt.html">SeqStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1TypePattern.html">TypePattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>) [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ClipAttrs.html">ClipAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1OperationNode.html">OperationNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1SeqStmtNode.html">SeqStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">t [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Closure.html">Closure</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1Handler.html">SimpleObjAllocator::Handler</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpImplementation.html">OpImplement [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ClosureObj.html">ClosureObj</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1SEqualReducer_1_1Handler.html">SEqualReducer::Handler</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpImplementationNode.html">OpImplementationNode</a> (<a class="el" hr [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CmpOpNode.html">CmpOpNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1SHashReducer_1_1Handler.html">SHashReducer::Handler</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1OpNode.html">OpNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CommReducer.html">CommReducer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdmlc_1_1serializer_1_1Handler_3_01DLContext_01_4.html">Handler&lt; DLContext &gt;</a> (<a class="el" href="namespacedmlc_1_1serializer.html">dmlc::serializer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1OpRegEntry.html">OpRegEntry</a> (<a cl [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CommReducerNode.html">CommReducerNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdmlc_1_1serializer_1_1Handler_3_01DLDataType_01_4.html">Handler&lt; DLDataType &gt;</a> (<a class="el" href="namespacedmlc_1_1serializer.html">dmlc::serializer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpSpecialization.ht [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CompilerAttrs.html">CompilerAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1HardwareParams.html">HardwareParams</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpSpecializationNode.html">OpSpe [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeAtStep.html">ComputeAtStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1HardwareParamsNode.html">HardwareParamsNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeAtStepNode.html">ComputeAtStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1HybridOp.html">HybridOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpStrategyNode.html">OpStrategyNode</a> (<a cl [...]
+</td><td rowspan="2" valign="bottom"><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;G&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1NullOptType.html">NullOptType</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ScatterNDAttrs.html">ScatterNDAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TypedEnvFunc.html">TypedEnvFunc</a> (<a class="el" href="namespace [...]
+<tr><td rowspan="2" valign="bottom"><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;O&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Schedule.html">Schedule</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html">TypedEnvFunc&lt; R(Args...)&gt;</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheReadStep.html">CacheReadStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GatherAttrs.html">GatherAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ScheduleNode.html">ScheduleNode</a> (<a c [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheReadStepNode.html">CacheReadStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GE.html">GE</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjAllocatorBase.html">ObjAllocatorBase</a> (<a class [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheWriteStep.html">CacheWriteStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GenericFunc.html">GenericFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Object.html">Object</a> (<a class="el" href="namespacetvm_1_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheWriteStepNode.html">CacheWriteStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GenericFuncNode.html">GenericFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectEqual.html">ObjectEqual</a> (<a class [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GENode.html">GENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectHash.html">ObjectHash</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GetValidCountsAttrs.html">GetValidCountsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html">ObjectPtr</a> (<a class="el" href="namespacetvm_1_1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CallNode.html">CallNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GlobalPool2DAttrs.html">GlobalPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrEqual.html">ObjectPtrEqual</a> (<a class="el" href="namespa [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallNode.html">CallNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GlobalTypeVar.html">GlobalTypeVar</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrHash.html">ObjectPtrHash</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::ru [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallPattern.html">CallPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GlobalTypeVarNode.html">GlobalTypeVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a> (<a class="el" href="namespacetvm_1_1runtime.html">tv [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallPatternNode.html">CallPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GlobalVar.html">GlobalVar</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker.html">ObjectTypeChecker</a> (<a class="el" href="namespacetvm_1_1runtime [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GlobalVarNode.html">GlobalVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Array_3_01T_01_4_01_4.html">ObjectTypeChecker&lt; Ar [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Cast.html">Cast</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GridSampleAttrs.html">GridSampleAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Map_3_01K_00_01V_01_4_01_4.html">ObjectTypeChecker&lt; Map [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CastAttrs.html">CastAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GroupNormAttrs.html">GroupNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1OnDeviceAttrs.html">OnDeviceAttrs</a> (<a class="el" href="namespac [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CastHintAttrs.html">CastHintAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GT.html">GT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1OneHotAttrs.html">OneHotAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::re [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CastNode.html">CastNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GTNode.html">GTNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Op.html">Op</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a cl [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Clause.html">Clause</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;H&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classtvm_1_1OpAttrMap.html">OpAttrMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1SelectVisitAttrs_3_01T_00_01TraitName_00_01false_01_4.html">SelectVisitAttrs&lt; T, TraitName, false &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1TypePattern.html">Ty [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ClauseNode.html">ClauseNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Operation.html">Operation</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1SeqStmt.html">SeqStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#1 [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ClipAttrs.html">ClipAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1Handler.html">SimpleObjAllocator::Handler</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1OperationNode.html">OperationNode</a>  [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Closure.html">Closure</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1SEqualReducer_1_1Handler.html">SEqualReducer::Handler</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpImplementation.html">OpImplementation</a> (<a class="el" href="namespacet [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ClosureObj.html">ClosureObj</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1SHashReducer_1_1Handler.html">SHashReducer::Handler</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpImplementationNode.html">OpImplementationNode</a> (<a class="el" href [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CmpOpNode.html">CmpOpNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdmlc_1_1serializer_1_1Handler_3_01DLContext_01_4.html">Handler&lt; DLContext &gt;</a> (<a class="el" href="namespacedmlc_1_1serializer.html">dmlc::serializer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1OpNode.html">OpNode</a> (<a class="el" hre [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CommReducer.html">CommReducer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdmlc_1_1serializer_1_1Handler_3_01DLDataType_01_4.html">Handler&lt; DLDataType &gt;</a> (<a class="el" href="namespacedmlc_1_1serializer.html">dmlc::serializer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1OpRegEntry.html">OpRegEntry</a> (<a  [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CommReducerNode.html">CommReducerNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1HardwareParams.html">HardwareParams</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpSpecialization.html">OpSpecializa [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CompilerAttrs.html">CompilerAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1HardwareParamsNode.html">HardwareParamsNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpSpecializationNode.htm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeAtStep.html">ComputeAtStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1HybridOp.html">HybridOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpStrategy.html">OpStrategy</a> (<a class="el" href="n [...]
 </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAG.html">ComputeDAG</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1HybridOpNode.html">HybridOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a> (<a class="el" href="n [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAGNode.html">ComputeDAGNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;I&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Or.html">Or</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1SHashReducer.html">SHashReducer</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1Unframer.html">Unframer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runt [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStep.html">ComputeInlineStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1OrNode.html">OrNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Shuffle.html">Shuffle</a> (<a class="el" href="na [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStepNode.html">ComputeInlineStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Id.html">Id</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpaddin [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ShuffleNode.html">ShuffleNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1UpSamplingAttrs.html">UpSamplingAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1ComputeOp.html">ComputeOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IdNode.html">IdNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator.html">SimpleObjAllocator</a> (<a class="el" href="namespacetvm_1_1runtime. [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeAtStepNode.html">ComputeAtStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1HybridOpNode.html">HybridOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpStrategyNode.html">OpStrategyNode</a [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAG.html">ComputeDAG</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;I&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ShapePatternNode.html">ShapePatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1Unframer.html">Unframer</a> (<a class="el" hr [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAGNode.html">ComputeDAGNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Or.html">Or</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1SHashReducer.html">SHashReducer</a> (<a class="el" href="namespacetvm. [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStep.html">ComputeInlineStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Id.html">Id</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1OrNode.html">OrNode</a> (<a class="el" href="namesp [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStepNode.html">ComputeInlineStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IdNode.html">IdNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" ce [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ShuffleNode.html">ShuffleNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_V"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;V&#160;&#160;</div></td></tr></table>
 </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1ComputeOpNode.html">ComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1If.html">If</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html">PackedFunc</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runti [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStep.html">ComputeRootStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IfNode.html">IfNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter.html">PackedFuncV [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStepNode.html">ComputeRootStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IfThenElse.html">IfThenElse</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01Opt [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConcatenateAttrs.html">ConcatenateAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IfThenElseNode.html">IfThenElseNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01PrimExpr_01_4.html">PackedFun [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Constant.html">Constant</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce.html">ImplSEqualReduce</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Bool_01_4.html">PackedFun [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantNode.html">ConstantNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce_3_01T_00_01true_01_4.html">ImplSEqualReduce&lt; T, true &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValue [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantPattern.html">ConstantPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce.html">ImplSHashReduce</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_1_1tvm_1_1runtime_1_1S [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantPatternNode.html">ConstantPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce_3_01T_00_01true_01_4.html">ImplSHashReduce&lt; T, true &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micr [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBound.html">ConstIntBound</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs.html">ImplVisitAttrs</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1PadAttrs.html">PadAttrs</a> (<a class="el" href="namespac [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">ConstIntBoundAnalyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs_3_01T_00_01true_01_4.html">ImplVisitAttrs&lt; T, true &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundNode.html">ConstIntBoundNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IncompleteType.html">IncompleteType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">PassContext</a> (<a class="el" href="namespacetvm_1_1tran [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IncompleteTypeNode.html">IncompleteTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassContextNode.html">PassContextNode</a> (<a class="el" href="name [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1Constructor.html">Constructor</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1InitOpAttrs.html">InitOpAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassInfo.html">PassInfo</a> (<a class="el" href="namespacetvm_1_1transform.html">tvm::transf [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1ConstructorNode.html">ConstructorNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1InplaceArrayBase.html">InplaceArrayBase</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassInfoNode.html">PassInfoNode</a> (<a class="el" href="namespacetvm [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstructorValue.html">ConstructorValue</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1InstanceNormAttrs.html">InstanceNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassNode.html">PassNode</a> (<a class="el" hr [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConstructorValueObj.html">ConstructorValueObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html">Instruction</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Pattern.html">Pattern</a> (<a cl [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1ComputeOp.html">ComputeOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1If.html">If</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator.html">SimpleObjAllocator</a> (<a class="el" href="namespacetvm_1_1runtime.html">tv [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1ComputeOpNode.html">ComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IfNode.html">IfNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html">PackedFunc</a> (<a class="el" href="namespacetvm_1_1runtime.html">tv [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStep.html">ComputeRootStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IfThenElse.html">IfThenElse</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter.html">PackedFun [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStepNode.html">ComputeRootStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IfThenElseNode.html">IfThenElseNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConcatenateAttrs.html">ConcatenateAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce.html">ImplSEqualReduce</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01PrimExpr_01_4.h [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Constant.html">Constant</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce_3_01T_00_01true_01_4.html">ImplSEqualReduce&lt; T, true &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverte [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantNode.html">ConstantNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce.html">ImplSHashReduce</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Integer_01_4.html"> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantPattern.html">ConstantPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce_3_01T_00_01true_01_4.html">ImplSHashReduce&lt; T, true &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncV [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantPatternNode.html">ConstantPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs.html">ImplVisitAttrs</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1PacketFieldSizeBytes.html">Pac [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBound.html">ConstIntBound</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs_3_01T_00_01true_01_4.html">ImplVisitAttrs&lt; T, true &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1PadAttrs.html">PadA [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">ConstIntBoundAnalyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IncompleteType.html">IncompleteType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1Pass.html">Pass</a> (<a class="el" href="namespacetvm_1_1transform. [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundNode.html">ConstIntBoundNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IncompleteTypeNode.html">IncompleteTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">PassContext</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>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1InitOpAttrs.html">InitOpAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassContextNode.html">PassContextNode</a> (<a class="el [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1Constructor.html">Constructor</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1InplaceArrayBase.html">InplaceArrayBase</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassInfo.html">PassInfo</a> (<a class="el" href="namespacetvm_1_1transform.ht [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1ConstructorNode.html">ConstructorNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1InstanceNormAttrs.html">InstanceNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassInfoNode.html">PassInfoNode</a> (<a class="el" href="namespacetvm_1_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstructorValue.html">ConstructorValue</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html">Instruction</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassNode.html">PassNode</a> (<a cla [...]
 </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1Container.html">NDArray::Container</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraints.html">IntConstraints</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternConstructor.html">PatternConstructor< [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1ContainerBase.html">NDArray::ContainerBase</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsNode.html">IntConstraintsNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternConstructorNode.html" [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv1DAttrs.html">Conv1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransform.html">IntConstraintsTransform</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternFunctor.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>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html">IntConstraintsTransformNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_ [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DAttrs.html">Conv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Integer.html">Integer</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternMutator.html">PatternMutator</a> (<a class="el" href="namespacetvm_1_1relay.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>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1InterpreterClosure.html">InterpreterClosure</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternNode.html">PatternNode</a> (<a c [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConstructorValueObj.html">ConstructorValueObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraints.html">IntConstraints</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Pattern.html">Pattern</a> (<a class="el" href="na [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1Container.html">NDArray::Container</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsNode.html">IntConstraintsNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternConstructor.html">PatternCons [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1ContainerBase.html">NDArray::ContainerBase</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransform.html">IntConstraintsTransform</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternConstructor [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv1DAttrs.html">Conv1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html">IntConstraintsTransformNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternFunctor.html">PatternFunctor</a> [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv1DTransposeAttrs.html">Conv1DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Integer.html">Integer</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html">PatternFunctor [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DAttrs.html">Conv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1InterpreterClosure.html">InterpreterClosure</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternMutator.html">PatternMutator</a> (<a class="el" hr [...]
 </td></tr>
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradAttrs.html">Conv2DWinogradAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1InterpreterClosureObj.html">InterpreterClosureObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternTuple.html">PatternTuple</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>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntGroupBounds.html">IntGroupBounds</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_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>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntGroupBoundsNode.html">IntGroupBoundsNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> (<a class="el" href="name [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DTransposeAttrs.html">Conv2DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1InterpreterClosureObj.html">InterpreterClosureObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternNode.html">PatternNode</a> [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradAttrs.html">Conv2DWinogradAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntGroupBounds.html">IntGroupBounds</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternTuple.html">PatternTuple</a> (<a class="el [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradNNPACKWeightTransformAttrs.html">Conv2DWinogradNNPACKWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntGroupBoundsNode.html">IntGroupBoundsNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_ [...]
 </td></tr>
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DTransposeAttrs.html">Conv3DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IntImm.html">IntImm</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVarNode.html">PatternVarNode</a> (<a class="el" href="namespacetvm_1_1relay.html" [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DWinogradAttrs.html">Conv3DWinogradAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IntImmNode.html">IntImmNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVisitor.html">PatternVisitor</a> (<a class="el" href="namespacetvm_1_1relay [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConvGemmWeightTransformAttrs.html">ConvGemmWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntSet.html">IntSet</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html">PatternWildcard</a> (<a c [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConvWinogradWeightTransformAttrs.html">ConvWinogradWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntSetAnalyzer.html">IntSetAnalyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternWildcardNode.htm [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CorrelationAttrs.html">CorrelationAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntSetNode.html">IntSetNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1PlaceholderOp.html">PlaceholderOp</a> (<a class="el" href="namespa [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DAttrs.html">Conv3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IntImm.html">IntImm</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#16 [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DTransposeAttrs.html">Conv3DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IntImmNode.html">IntImmNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVarNode.html">PatternVarNode</a> (<a class="el" href="namespacetvm_1_1rel [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DWinogradAttrs.html">Conv3DWinogradAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntSet.html">IntSet</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVisitor.html">PatternVisitor</a> (<a class="el" href="name [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConvGemmWeightTransformAttrs.html">ConvGemmWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntSetAnalyzer.html">IntSetAnalyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html">PatternWi [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConvWinogradWeightTransformAttrs.html">ConvWinogradWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntSetNode.html">IntSetNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternWildcardNode.html">Patte [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CorrelationAttrs.html">CorrelationAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IRModule.html">IRModule</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1PlaceholderOp.html">PlaceholderOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a> [...]
 <tr><td></td><td></td><td></td><td></td><td></td></tr>
 </table>
 <div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|& [...]
diff --git a/docs/api/doxygen/classtvm_1_1BaseAttrsNode.html b/docs/api/doxygen/classtvm_1_1BaseAttrsNode.html
index 8732de8..2af0b84 100644
--- a/docs/api/doxygen/classtvm_1_1BaseAttrsNode.html
+++ b/docs/api/doxygen/classtvm_1_1BaseAttrsNode.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <p>Inherits Object.</p>
 
-<p>Inherited by <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AdaptivePool2DAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AdaptivePool3DAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AffineGridAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AllocStorageAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AllocTensorAttrs &gt;</a>,  [...]
+<p>Inherited by <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AdaptivePool2DAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AdaptivePool3DAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AffineGridAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AllocStorageAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AllocTensorAttrs &gt;</a>,  [...]
 <div class="dynheader">
 Collaboration diagram for tvm::BaseAttrsNode:</div>
 <div class="dyncontent">
@@ -252,7 +252,7 @@ Static Public Attributes</h2></td></tr>
 </dl>
 <dl class="section note"><dt>Note</dt><dd>This function throws when the required field is not present. </dd></dl>
 
-<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532 [...]
+<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532 [...]
 
 </div>
 </div>
@@ -314,7 +314,7 @@ template&lt;typename... Args&gt; </div>
 <p>Get the field information. </p>
 <dl class="section return"><dt>Returns</dt><dd>The fields in the <a class="el" href="classtvm_1_1Attrs.html" title="Managed reference to BaseAttrsNode. ">Attrs</a>. </dd></dl>
 
-<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6 [...]
+<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6 [...]
 
 </div>
 </div>
@@ -398,7 +398,7 @@ template&lt;typename... Args&gt; </div>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented in <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a3 [...]
+<p>Reimplemented in <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a3 [...]
 
 </div>
 </div>
@@ -433,7 +433,7 @@ template&lt;typename... Args&gt; </div>
   </dd>
 </dl>
 
-<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da88 [...]
+<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da88 [...]
 
 </div>
 </div>
diff --git a/docs/api/doxygen/classtvm_1_1te_1_1Schedule-members.html b/docs/api/doxygen/classtvm_1_1te_1_1Schedule-members.html
index 15032f6..7e7d468 100644
--- a/docs/api/doxygen/classtvm_1_1te_1_1Schedule-members.html
+++ b/docs/api/doxygen/classtvm_1_1te_1_1Schedule-members.html
@@ -101,14 +101,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a4991e4eaf1992f45708966c335b92307">copy</a>() const </td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a638e7b946df3b5d2e2cde3acc0201da0">create_group</a>(const Array&lt; Tensor &gt; &amp;outputs, const Array&lt; Tensor &gt; &amp;inputs, bool include_inputs=false)</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a3fcdec89d8dec36d7b2586b9b0414dfe">normalize</a>()</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a81883ca270f853eaf92d5f364888b9f4">operator-&gt;</a>() const </td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#aa30087792fd6d3b7372d56e7f3947c3f">operator-&gt;</a>()</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a3f63b27dcbddd06c550cc1a5a6562717">operator[]</a>(const Operation &amp;op)</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a2040189df3b89304a12acce3efff04a6">operator[]</a>(const Tensor &amp;tensor)</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a34ae85add41bbed0140726d024d08862">rfactor</a>(const Tensor &amp;tensor, const IterVar &amp;axis, int factor_axis=0)</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a1eb19ccb06835a11edc39ed1410f01af">Schedule</a>()</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a5f6a71ca3b51eb6cc0b65ee029ff9c96">Schedule</a>(ObjectPtr&lt; Object &gt; n)</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a90fb6686f85d6a0be14fe52de8f48402">Schedule</a>(Array&lt; Operation &gt; ops)</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a15b572232c5cf46bbeaaae4d83458202">normalize_for_feature_extraction</a>()</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a81883ca270f853eaf92d5f364888b9f4">operator-&gt;</a>() const </td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#aa30087792fd6d3b7372d56e7f3947c3f">operator-&gt;</a>()</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a3f63b27dcbddd06c550cc1a5a6562717">operator[]</a>(const Operation &amp;op)</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a2040189df3b89304a12acce3efff04a6">operator[]</a>(const Tensor &amp;tensor)</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a34ae85add41bbed0140726d024d08862">rfactor</a>(const Tensor &amp;tensor, const IterVar &amp;axis, int factor_axis=0)</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a1eb19ccb06835a11edc39ed1410f01af">Schedule</a>()</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a5f6a71ca3b51eb6cc0b65ee029ff9c96">Schedule</a>(ObjectPtr&lt; Object &gt; n)</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a90fb6686f85d6a0be14fe52de8f48402">Schedule</a>(Array&lt; Operation &gt; ops)</td><td class="entry"><a class="el" href="classtvm_1_1te_1_1Schedule.html">tvm::te::Schedule</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
diff --git a/docs/api/doxygen/classtvm_1_1te_1_1Schedule.html b/docs/api/doxygen/classtvm_1_1te_1_1Schedule.html
index ae28dad..4101905 100644
--- a/docs/api/doxygen/classtvm_1_1te_1_1Schedule.html
+++ b/docs/api/doxygen/classtvm_1_1te_1_1Schedule.html
@@ -103,13 +103,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="dynheader">
 Inheritance diagram for tvm::te::Schedule:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1te_1_1Schedule__inherit__graph.svg" width="146" height="404"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1te_1_1Schedule__inherit__graph.svg" width="188" height="434"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <div class="dynheader">
 Collaboration diagram for tvm::te::Schedule:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1te_1_1Schedule__coll__graph.svg" width="146" height="404"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1te_1_1Schedule__coll__graph.svg" width="188" height="434"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <table class="memberdecls">
@@ -154,6 +154,9 @@ Public Member Functions</h2></td></tr>
 <tr class="memitem:a3fcdec89d8dec36d7b2586b9b0414dfe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1te_1_1Schedule.html">Schedule</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a3fcdec89d8dec36d7b2586b9b0414dfe">normalize</a> ()</td></tr>
 <tr class="memdesc:a3fcdec89d8dec36d7b2586b9b0414dfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalize the schedule. This is needed before bound inference. Insert necessary <a class="el" href="classtvm_1_1te_1_1RebaseNode.html" title="Rebase the iteration to make min to be 0. This is useful to normalize the Schedule to make every leaf...">RebaseNode</a> to make sure all leaf_iter_vars are in form [0, extent)  <a href="#a3fcdec89d8dec36d7b2586b9b0414dfe">More...</a><br /> [...]
 <tr class="separator:a3fcdec89d8dec36d7b2586b9b0414dfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15b572232c5cf46bbeaaae4d83458202"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1te_1_1Schedule.html">Schedule</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a15b572232c5cf46bbeaaae4d83458202">normalize_for_feature_extraction</a> ()</td></tr>
+<tr class="memdesc:a15b572232c5cf46bbeaaae4d83458202"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalize the schedule for feature extraction in auto-scheduler. This is similar to <code><a class="el" href="classtvm_1_1te_1_1Schedule.html#a3fcdec89d8dec36d7b2586b9b0414dfe" title="Normalize the schedule. This is needed before bound inference. Insert necessary RebaseNode to make su...">Schedule::normalize</a></code>, but we do aggressive simplification to the TE compute with c [...]
+<tr class="separator:a15b572232c5cf46bbeaaae4d83458202"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a81883ca270f853eaf92d5f364888b9f4"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classtvm_1_1te_1_1ScheduleNode.html">ScheduleNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1te_1_1Schedule.html#a81883ca270f853eaf92d5f364888b9f4">operator-&gt;</a> () const </td></tr>
 <tr class="memdesc:a81883ca270f853eaf92d5f364888b9f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">access the internal node container  <a href="#a81883ca270f853eaf92d5f364888b9f4">More...</a><br /></td></tr>
 <tr class="separator:a81883ca270f853eaf92d5f364888b9f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -454,6 +457,24 @@ Public Member Functions</h2></td></tr>
 
 </div>
 </div>
+<a class="anchor" id="a15b572232c5cf46bbeaaae4d83458202"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classtvm_1_1te_1_1Schedule.html">Schedule</a> tvm::te::Schedule::normalize_for_feature_extraction </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Normalize the schedule for feature extraction in auto-scheduler. This is similar to <code><a class="el" href="classtvm_1_1te_1_1Schedule.html#a3fcdec89d8dec36d7b2586b9b0414dfe" title="Normalize the schedule. This is needed before bound inference. Insert necessary RebaseNode to make su...">Schedule::normalize</a></code>, but we do aggressive simplification to the TE compute with const_matrix=True for faster compilation and feature extraction. The resulted schedule may be wrong, but it  [...]
+<dl class="section return"><dt>Returns</dt><dd>A normalized schedule, can be same as current one. </dd></dl>
+
+</div>
+</div>
 <a class="anchor" id="a81883ca270f853eaf92d5f364888b9f4"></a>
 <div class="memitem">
 <div class="memproto">
diff --git a/docs/api/doxygen/classtvm_1_1te_1_1Schedule__coll__graph.svg b/docs/api/doxygen/classtvm_1_1te_1_1Schedule__coll__graph.svg
index 7b6860c..683ea5d 100644
--- a/docs/api/doxygen/classtvm_1_1te_1_1Schedule__coll__graph.svg
+++ b/docs/api/doxygen/classtvm_1_1te_1_1Schedule__coll__graph.svg
@@ -4,46 +4,48 @@
 <!-- Generated by graphviz version 2.38.0 (20140413.2041)
  -->
 <!-- Title: tvm::te::Schedule Pages: 1 -->
-<svg width="109pt" height="303pt"
- viewBox="0.00 0.00 109.00 303.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 299)">
+<svg width="141pt" height="325pt"
+ viewBox="0.00 0.00 141.00 325.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 321)">
 <title>tvm::te::Schedule</title>
-<polygon fill="white" stroke="none" points="-4,4 -4,-299 105,-299 105,4 -4,4"/>
+<polygon fill="white" stroke="none" points="-4,4 -4,-321 137,-321 137,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node"><title>Node1</title>
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-200.5 101,-200.5 101,-0.5 0,-0.5"/>
-<text text-anchor="middle" x="50.5" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::te::Schedule</text>
-<polyline fill="none" stroke="black" points="0,-181.5 101,-181.5 "/>
-<text text-anchor="middle" x="50.5" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-162.5 101,-162.5 "/>
+<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-222.5 133,-222.5 133,-0.5 0,-0.5"/>
+<text text-anchor="middle" x="66.5" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::te::Schedule</text>
+<polyline fill="none" stroke="black" points="0,-203.5 133,-203.5 "/>
+<text text-anchor="middle" x="66.5" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="0,-184.5 133,-184.5 "/>
+<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Schedule()</text>
+<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Schedule()</text>
 <text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Schedule()</text>
-<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Schedule()</text>
-<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Schedule()</text>
-<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy()</text>
-<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
-<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
-<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ create_group()</text>
-<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cache_read()</text>
-<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cache_write()</text>
-<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cache_write()</text>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ rfactor()</text>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ normalize()</text>
+<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy()</text>
+<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
+<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
+<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ create_group()</text>
+<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cache_read()</text>
+<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cache_write()</text>
+<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cache_write()</text>
+<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ rfactor()</text>
+<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ normalize()</text>
+<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ normalize_for_feature</text>
+<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">_extraction()</text>
 <text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
 <text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
 </g>
 <!-- Node2 -->
 <g id="node2" class="node"><title>Node2</title>
-<polygon fill="white" stroke="#bfbfbf" points="19.5,-237.5 19.5,-294.5 81.5,-294.5 81.5,-237.5 19.5,-237.5"/>
-<text text-anchor="middle" x="50.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="19.5,-275.5 81.5,-275.5 "/>
-<text text-anchor="middle" x="50.5" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="19.5,-256.5 81.5,-256.5 "/>
-<text text-anchor="middle" x="50.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="#bfbfbf" points="35.5,-259.5 35.5,-316.5 97.5,-316.5 97.5,-259.5 35.5,-259.5"/>
+<text text-anchor="middle" x="66.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
+<polyline fill="none" stroke="#bfbfbf" points="35.5,-297.5 97.5,-297.5 "/>
+<text text-anchor="middle" x="66.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="35.5,-278.5 97.5,-278.5 "/>
+<text text-anchor="middle" x="66.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 </g>
 <!-- Node2&#45;&gt;Node1 -->
 <g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M50.5,-227.04C50.5,-218.867 50.5,-209.865 50.5,-200.549"/>
-<polygon fill="none" stroke="midnightblue" points="47.0001,-227.264 50.5,-237.264 54.0001,-227.264 47.0001,-227.264"/>
+<path fill="none" stroke="midnightblue" d="M66.5,-249.203C66.5,-241.081 66.5,-232.104 66.5,-222.748"/>
+<polygon fill="none" stroke="midnightblue" points="63.0001,-249.35 66.5,-259.35 70.0001,-249.35 63.0001,-249.35"/>
 </g>
 </g>
 </svg>
diff --git a/docs/api/doxygen/classtvm_1_1te_1_1Schedule__inherit__graph.svg b/docs/api/doxygen/classtvm_1_1te_1_1Schedule__inherit__graph.svg
index 7b6860c..683ea5d 100644
--- a/docs/api/doxygen/classtvm_1_1te_1_1Schedule__inherit__graph.svg
+++ b/docs/api/doxygen/classtvm_1_1te_1_1Schedule__inherit__graph.svg
@@ -4,46 +4,48 @@
 <!-- Generated by graphviz version 2.38.0 (20140413.2041)
  -->
 <!-- Title: tvm::te::Schedule Pages: 1 -->
-<svg width="109pt" height="303pt"
- viewBox="0.00 0.00 109.00 303.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 299)">
+<svg width="141pt" height="325pt"
+ viewBox="0.00 0.00 141.00 325.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 321)">
 <title>tvm::te::Schedule</title>
-<polygon fill="white" stroke="none" points="-4,4 -4,-299 105,-299 105,4 -4,4"/>
+<polygon fill="white" stroke="none" points="-4,4 -4,-321 137,-321 137,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node"><title>Node1</title>
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-200.5 101,-200.5 101,-0.5 0,-0.5"/>
-<text text-anchor="middle" x="50.5" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::te::Schedule</text>
-<polyline fill="none" stroke="black" points="0,-181.5 101,-181.5 "/>
-<text text-anchor="middle" x="50.5" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-162.5 101,-162.5 "/>
+<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-222.5 133,-222.5 133,-0.5 0,-0.5"/>
+<text text-anchor="middle" x="66.5" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::te::Schedule</text>
+<polyline fill="none" stroke="black" points="0,-203.5 133,-203.5 "/>
+<text text-anchor="middle" x="66.5" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="0,-184.5 133,-184.5 "/>
+<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Schedule()</text>
+<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Schedule()</text>
 <text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Schedule()</text>
-<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Schedule()</text>
-<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Schedule()</text>
-<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy()</text>
-<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
-<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
-<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ create_group()</text>
-<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cache_read()</text>
-<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cache_write()</text>
-<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cache_write()</text>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ rfactor()</text>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ normalize()</text>
+<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy()</text>
+<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
+<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
+<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ create_group()</text>
+<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cache_read()</text>
+<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cache_write()</text>
+<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ cache_write()</text>
+<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ rfactor()</text>
+<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ normalize()</text>
+<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ normalize_for_feature</text>
+<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">_extraction()</text>
 <text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
 <text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
 </g>
 <!-- Node2 -->
 <g id="node2" class="node"><title>Node2</title>
-<polygon fill="white" stroke="#bfbfbf" points="19.5,-237.5 19.5,-294.5 81.5,-294.5 81.5,-237.5 19.5,-237.5"/>
-<text text-anchor="middle" x="50.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="19.5,-275.5 81.5,-275.5 "/>
-<text text-anchor="middle" x="50.5" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="19.5,-256.5 81.5,-256.5 "/>
-<text text-anchor="middle" x="50.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="#bfbfbf" points="35.5,-259.5 35.5,-316.5 97.5,-316.5 97.5,-259.5 35.5,-259.5"/>
+<text text-anchor="middle" x="66.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
+<polyline fill="none" stroke="#bfbfbf" points="35.5,-297.5 97.5,-297.5 "/>
+<text text-anchor="middle" x="66.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="35.5,-278.5 97.5,-278.5 "/>
+<text text-anchor="middle" x="66.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 </g>
 <!-- Node2&#45;&gt;Node1 -->
 <g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M50.5,-227.04C50.5,-218.867 50.5,-209.865 50.5,-200.549"/>
-<polygon fill="none" stroke="midnightblue" points="47.0001,-227.264 50.5,-237.264 54.0001,-227.264 47.0001,-227.264"/>
+<path fill="none" stroke="midnightblue" d="M66.5,-249.203C66.5,-241.081 66.5,-232.104 66.5,-222.748"/>
+<polygon fill="none" stroke="midnightblue" points="63.0001,-249.35 66.5,-259.35 70.0001,-249.35 63.0001,-249.35"/>
 </g>
 </g>
 </svg>
diff --git a/docs/api/doxygen/dir_000008_000009.html b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParam-members.html
similarity index 61%
copy from docs/api/doxygen/dir_000008_000009.html
copy to docs/api/doxygen/classtvm_1_1tir_1_1LinkedParam-members.html
index a746333..38d66f0 100644
--- a/docs/api/doxygen/dir_000008_000009.html
+++ b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParam-members.html
@@ -4,7 +4,7 @@
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <meta name="generator" content="Doxygen 1.8.11"/>
-<title>tvm: include/tvm/tir -&gt; runtime Relation</title>
+<title>tvm: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <script type="text/javascript" src="dynsections.js"></script>
@@ -39,7 +39,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
     <ul class="tablist">
       <li><a href="index.html"><span>Main&#160;Page</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
       <li><a href="files.html"><span>Files</span></a></li>
       <li>
         <div id="MSearchBox" class="MSearchBoxInactive">
@@ -59,6 +59,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
       </li>
     </ul>
   </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
@@ -75,11 +83,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_b4c7d8e826c599ba55146c099a14beb5.html">tvm</a></li><li class="navelem"><a class="el" href="dir_72c2f11201cd7636dc7624de0754daa5.html">tir</a></li>  </ul>
+<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1tir.html">tir</a></li><li class="navelem"><a class="el" href="classtvm_1_1tir_1_1LinkedParam.html">LinkedParam</a></li>  </ul>
 </div>
 </div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tvm::tir::LinkedParam Member List</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h3>tir &rarr; runtime Relation</h3><table class="dirtab"><tr class="dirtab"><th class="dirtab">File in include/tvm/tir</th><th class="dirtab">Includes file in include/tvm/runtime</th></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="tir_2expr_8h.html">expr.h</a></td><td class="dirtab"><a class="el" href="c__runtime__api_8h.html">c_runtime_api.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="tir_2expr_8h.html">expr.h</a></td><td class="dirtab"><a clas [...]
+
+<p>This is the complete list of members for <a class="el" href="classtvm_1_1tir_1_1LinkedParam.html">tvm::tir::LinkedParam</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParam.html#afcf8d4a88447334ea270ca899edc4fb6">LinkedParam</a>(int64_t id,::tvm::runtime::NDArray param)</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParam.html">tvm::tir::LinkedParam</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParam.html#ad42caab91b39fad58a25c8b8a027a202">TVM_DEFINE_OBJECT_REF_COW_METHOD</a>(LinkedParamNode)</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParam.html">tvm::tir::LinkedParam</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParam.html#a7456d8b4a5d674deea337f3033c58bf6">TVM_DEFINE_OBJECT_REF_METHODS</a>(LinkedParam, ObjectRef, LinkedParamNode)</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParam.html">tvm::tir::LinkedParam</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
diff --git a/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParam.html b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParam.html
new file mode 100644
index 0000000..747414d
--- /dev/null
+++ b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParam.html
@@ -0,0 +1,213 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>tvm: tvm::tir::LinkedParam Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">tvm
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1tir.html">tir</a></li><li class="navelem"><a class="el" href="classtvm_1_1tir_1_1LinkedParam.html">LinkedParam</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classtvm_1_1tir_1_1LinkedParam-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tvm::tir::LinkedParam Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Managed reference to <a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html" title="Describes one parameter that should be linked into the generated module. ">LinkedParamNode</a>.  
+ <a href="classtvm_1_1tir_1_1LinkedParam.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tir_2function_8h_source.html">function.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for tvm::tir::LinkedParam:</div>
+<div class="dyncontent">
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1tir_1_1LinkedParam__inherit__graph.svg" width="211" height="272"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+</div>
+</div>
+<div class="dynheader">
+Collaboration diagram for tvm::tir::LinkedParam:</div>
+<div class="dyncontent">
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1tir_1_1LinkedParam__coll__graph.svg" width="211" height="272"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+</div>
+</div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:afcf8d4a88447334ea270ca899edc4fb6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tir_1_1LinkedParam.html#afcf8d4a88447334ea270ca899edc4fb6">LinkedParam</a> (int64_t id,::<a class="el" href="classtvm_1_1runtime_1_1NDArray.html">tvm::runtime::NDArray</a> param)</td></tr>
+<tr class="separator:afcf8d4a88447334ea270ca899edc4fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7456d8b4a5d674deea337f3033c58bf6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tir_1_1LinkedParam.html#a7456d8b4a5d674deea337f3033c58bf6">TVM_DEFINE_OBJECT_REF_METHODS</a> (<a class="el" href="classtvm_1_1tir_1_1LinkedParam.html">LinkedParam</a>, ObjectRef, <a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">LinkedParamNode</a>)</td></tr>
+<tr class="separator:a7456d8b4a5d674deea337f3033c58bf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad42caab91b39fad58a25c8b8a027a202"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tir_1_1LinkedParam.html#ad42caab91b39fad58a25c8b8a027a202">TVM_DEFINE_OBJECT_REF_COW_METHOD</a> (<a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">LinkedParamNode</a>)</td></tr>
+<tr class="separator:ad42caab91b39fad58a25c8b8a027a202"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Managed reference to <a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html" title="Describes one parameter that should be linked into the generated module. ">LinkedParamNode</a>. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="afcf8d4a88447334ea270ca899edc4fb6"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">tvm::tir::LinkedParam::LinkedParam </td>
+          <td>(</td>
+          <td class="paramtype">int64_t&#160;</td>
+          <td class="paramname"><em>id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">::<a class="el" href="classtvm_1_1runtime_1_1NDArray.html">tvm::runtime::NDArray</a>&#160;</td>
+          <td class="paramname"><em>param</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ad42caab91b39fad58a25c8b8a027a202"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">tvm::tir::LinkedParam::TVM_DEFINE_OBJECT_REF_COW_METHOD </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">LinkedParamNode</a>&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7456d8b4a5d674deea337f3033c58bf6"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">tvm::tir::LinkedParam::TVM_DEFINE_OBJECT_REF_METHODS </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1tir_1_1LinkedParam.html">LinkedParam</a>&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">ObjectRef&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">LinkedParamNode</a>&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/tvm/tir/<a class="el" href="tir_2function_8h_source.html">function.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/docs/api/doxygen/dir_000008_000009.html b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParamNode-members.html
similarity index 54%
copy from docs/api/doxygen/dir_000008_000009.html
copy to docs/api/doxygen/classtvm_1_1tir_1_1LinkedParamNode-members.html
index a746333..fdfaf57 100644
--- a/docs/api/doxygen/dir_000008_000009.html
+++ b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParamNode-members.html
@@ -4,7 +4,7 @@
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <meta name="generator" content="Doxygen 1.8.11"/>
-<title>tvm: include/tvm/tir -&gt; runtime Relation</title>
+<title>tvm: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <script type="text/javascript" src="dynsections.js"></script>
@@ -39,7 +39,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
     <ul class="tablist">
       <li><a href="index.html"><span>Main&#160;Page</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
       <li><a href="files.html"><span>Files</span></a></li>
       <li>
         <div id="MSearchBox" class="MSearchBoxInactive">
@@ -59,6 +59,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
       </li>
     </ul>
   </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
      onmouseover="return searchBox.OnSearchSelectShow()"
@@ -75,11 +83,23 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_b4c7d8e826c599ba55146c099a14beb5.html">tvm</a></li><li class="navelem"><a class="el" href="dir_72c2f11201cd7636dc7624de0754daa5.html">tir</a></li>  </ul>
+<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1tir.html">tir</a></li><li class="navelem"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">LinkedParamNode</a></li>  </ul>
 </div>
 </div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tvm::tir::LinkedParamNode Member List</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h3>tir &rarr; runtime Relation</h3><table class="dirtab"><tr class="dirtab"><th class="dirtab">File in include/tvm/tir</th><th class="dirtab">Includes file in include/tvm/runtime</th></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="tir_2expr_8h.html">expr.h</a></td><td class="dirtab"><a class="el" href="c__runtime__api_8h.html">c_runtime_api.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="tir_2expr_8h.html">expr.h</a></td><td class="dirtab"><a clas [...]
+
+<p>This is the complete list of members for <a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">tvm::tir::LinkedParamNode</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html#a29dd7785e3afcee515aec95a17b8196a">_type_key</a></td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">tvm::tir::LinkedParamNode</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html#a50a451c7791bff35dd56ec5679750a04">id</a></td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">tvm::tir::LinkedParamNode</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html#a30942ab7814a005b0db62fdd6a629d81">param</a></td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">tvm::tir::LinkedParamNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html#a75b0ffa1ae912ba523a6e64ed5b8d40b">TVM_DECLARE_FINAL_OBJECT_INFO</a>(LinkedParamNode, Object)</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">tvm::tir::LinkedParamNode</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html#a950d5caea05f47ef9479727bb9ac7ffe">VisitAttrs</a>(tvm::AttrVisitor *v)</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">tvm::tir::LinkedParamNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
diff --git a/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParamNode.html b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParamNode.html
new file mode 100644
index 0000000..6034333
--- /dev/null
+++ b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParamNode.html
@@ -0,0 +1,252 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>tvm: tvm::tir::LinkedParamNode Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">tvm
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1tir.html">tir</a></li><li class="navelem"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">LinkedParamNode</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
+<a href="classtvm_1_1tir_1_1LinkedParamNode-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tvm::tir::LinkedParamNode Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Describes one parameter that should be linked into the generated module.  
+ <a href="classtvm_1_1tir_1_1LinkedParamNode.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="tir_2function_8h_source.html">function.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for tvm::tir::LinkedParamNode:</div>
+<div class="dyncontent">
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1tir_1_1LinkedParamNode__inherit__graph.svg" width="284" height="258"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+</div>
+</div>
+<div class="dynheader">
+Collaboration diagram for tvm::tir::LinkedParamNode:</div>
+<div class="dyncontent">
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1tir_1_1LinkedParamNode__coll__graph.svg" width="336" height="1155"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+</div>
+</div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a950d5caea05f47ef9479727bb9ac7ffe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html#a950d5caea05f47ef9479727bb9ac7ffe">VisitAttrs</a> (<a class="el" href="classtvm_1_1AttrVisitor.html">tvm::AttrVisitor</a> *v)</td></tr>
+<tr class="separator:a950d5caea05f47ef9479727bb9ac7ffe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75b0ffa1ae912ba523a6e64ed5b8d40b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html#a75b0ffa1ae912ba523a6e64ed5b8d40b">TVM_DECLARE_FINAL_OBJECT_INFO</a> (<a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">LinkedParamNode</a>, Object)</td></tr>
+<tr class="separator:a75b0ffa1ae912ba523a6e64ed5b8d40b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a50a451c7791bff35dd56ec5679750a04"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html#a50a451c7791bff35dd56ec5679750a04">id</a></td></tr>
+<tr class="memdesc:a50a451c7791bff35dd56ec5679750a04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unique numeric identifier used by runtimes to lookup this parameter.  <a href="#a50a451c7791bff35dd56ec5679750a04">More...</a><br /></td></tr>
+<tr class="separator:a50a451c7791bff35dd56ec5679750a04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30942ab7814a005b0db62fdd6a629d81"><td class="memItemLeft" align="right" valign="top">::<a class="el" href="classtvm_1_1runtime_1_1NDArray.html">tvm::runtime::NDArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html#a30942ab7814a005b0db62fdd6a629d81">param</a></td></tr>
+<tr class="memdesc:a30942ab7814a005b0db62fdd6a629d81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameter data which should get linked into the final module.  <a href="#a30942ab7814a005b0db62fdd6a629d81">More...</a><br /></td></tr>
+<tr class="separator:a30942ab7814a005b0db62fdd6a629d81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a29dd7785e3afcee515aec95a17b8196a"><td class="memItemLeft" align="right" valign="top">static constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html#a29dd7785e3afcee515aec95a17b8196a">_type_key</a> = &quot;tir.LinkedParam&quot;</td></tr>
+<tr class="separator:a29dd7785e3afcee515aec95a17b8196a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Describes one parameter that should be linked into the generated module. </p>
+<p>When parameters are to be linked in with generated code (i.e. on target_host-compatible backends), Relay attaches instances of this object to a global TIR function. Code-generators use the information contained in this node to include the parameter data in the generated module. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a75b0ffa1ae912ba523a6e64ed5b8d40b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">tvm::tir::LinkedParamNode::TVM_DECLARE_FINAL_OBJECT_INFO </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1tir_1_1LinkedParamNode.html">LinkedParamNode</a>&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Object&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a950d5caea05f47ef9479727bb9ac7ffe"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tvm::tir::LinkedParamNode::VisitAttrs </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1AttrVisitor.html">tvm::AttrVisitor</a> *&#160;</td>
+          <td class="paramname"><em>v</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a29dd7785e3afcee515aec95a17b8196a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">constexpr const char* tvm::tir::LinkedParamNode::_type_key = &quot;tir.LinkedParam&quot;</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a50a451c7791bff35dd56ec5679750a04"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int64_t tvm::tir::LinkedParamNode::id</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Unique numeric identifier used by runtimes to lookup this parameter. </p>
+
+</div>
+</div>
+<a class="anchor" id="a30942ab7814a005b0db62fdd6a629d81"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">::<a class="el" href="classtvm_1_1runtime_1_1NDArray.html">tvm::runtime::NDArray</a> tvm::tir::LinkedParamNode::param</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parameter data which should get linked into the final module. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/tvm/tir/<a class="el" href="tir_2function_8h_source.html">function.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParamNode__coll__graph.svg b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParamNode__coll__graph.svg
new file mode 100644
index 0000000..4a7f909
--- /dev/null
+++ b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParamNode__coll__graph.svg
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.38.0 (20140413.2041)
+ -->
+<!-- Title: tvm::tir::LinkedParamNode Pages: 1 -->
+<svg width="252pt" height="866pt"
+ viewBox="0.00 0.00 251.50 866.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 862)">
+<title>tvm::tir::LinkedParamNode</title>
+<polygon fill="white" stroke="none" points="-4,4 -4,-862 247.5,-862 247.5,4 -4,4"/>
+<!-- Node1 -->
+<g id="node1" class="node"><title>Node1</title>
+<polygon fill="#bfbfbf" stroke="black" points="-1.42109e-14,-0.5 -1.42109e-14,-79.5 205,-79.5 205,-0.5 -1.42109e-14,-0.5"/>
+<text text-anchor="middle" x="102.5" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tir::LinkedParamNode</text>
+<polyline fill="none" stroke="black" points="-1.42109e-14,-60.5 205,-60.5 "/>
+<text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ id</text>
+<text text-anchor="start" x="8" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="-1.42109e-14,-30.5 205,-30.5 "/>
+<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT_INFO()</text>
+</g>
+<!-- Node2 -->
+<g id="node2" class="node"><title>Node2</title>
+<polygon fill="white" stroke="#bfbfbf" points="45,-221 45,-278 92,-278 92,-221 45,-221"/>
+<text text-anchor="middle" x="68.5" y="-266" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
+<polyline fill="none" stroke="#bfbfbf" points="45,-259 92,-259 "/>
+<text text-anchor="middle" x="68.5" y="-247" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="45,-240 92,-240 "/>
+<text text-anchor="middle" x="68.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+</g>
+<!-- Node2&#45;&gt;Node1 -->
+<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
+<path fill="none" stroke="midnightblue" d="M74.6424,-211.013C80.7315,-173.852 90.0164,-117.187 96.1701,-79.631"/>
+<polygon fill="none" stroke="midnightblue" points="71.1781,-210.511 73.0149,-220.946 78.086,-211.643 71.1781,-210.511"/>
+</g>
+<!-- Node3 -->
+<g id="node3" class="node"><title>Node3</title>
+<g id="a_node3"><a xlink:href="classtvm_1_1runtime_1_1NDArray.html" target="_top" xlink:title="Managed NDArray. The array is backed by reference counted blocks. ">
+<polygon fill="white" stroke="black" points="110,-127.5 110,-371.5 239,-371.5 239,-127.5 110,-127.5"/>
+<text text-anchor="middle" x="174.5" y="-359.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::NDArray</text>
+<polyline fill="none" stroke="black" points="110,-352.5 239,-352.5 "/>
+<text text-anchor="middle" x="174.5" y="-340.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="110,-333.5 239,-333.5 "/>
+<text text-anchor="start" x="118" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NDArray()</text>
+<text text-anchor="start" x="118" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NDArray()</text>
+<text text-anchor="start" x="118" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ reset()</text>
+<text text-anchor="start" x="118" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ use_count()</text>
+<text text-anchor="start" x="118" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="118" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsContiguous()</text>
+<text text-anchor="start" x="118" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CopyFrom()</text>
+<text text-anchor="start" x="118" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CopyFrom()</text>
+<text text-anchor="start" x="118" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CopyFromBytes()</text>
+<text text-anchor="start" x="118" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CopyTo()</text>
+<text text-anchor="start" x="118" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 9 more...</text>
+<text text-anchor="start" x="118" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Empty()</text>
+<text text-anchor="start" x="118" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FromDLPack()</text>
+<text text-anchor="start" x="118" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CopyFromTo()</text>
+<text text-anchor="start" x="118" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00"># get_mutable()</text>
+<text text-anchor="start" x="118" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00"># FFIDataFromHandle()</text>
+<text text-anchor="start" x="118" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00"># FFIDecRef()</text>
+<text text-anchor="start" x="118" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00"># FFIGetHandle()</text>
+</a>
+</g>
+</g>
+<!-- Node3&#45;&gt;Node1 -->
+<g id="edge2" class="edge"><title>Node3&#45;&gt;Node1</title>
+<path fill="none" stroke="#404040" d="M132.513,-127.496C128.117,-114.827 123.844,-102.512 119.965,-91.3338"/>
+<polygon fill="none" stroke="#404040" points="119.858,-91.0249 114.112,-86.6677 115.924,-79.688 121.67,-84.0451 119.858,-91.0249"/>
+<text text-anchor="middle" x="147" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00"> +param</text>
+</g>
+<!-- Node4 -->
+<g id="node4" class="node"><title>Node4</title>
+<g id="a_node4"><a xlink:href="classtvm_1_1runtime_1_1ObjectRef.html" target="_top" xlink:title="Base class of all object reference. ">
+<polygon fill="white" stroke="black" points="109.5,-409.5 109.5,-631.5 239.5,-631.5 239.5,-409.5 109.5,-409.5"/>
+<text text-anchor="middle" x="174.5" y="-619.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::ObjectRef</text>
+<polyline fill="none" stroke="black" points="109.5,-612.5 239.5,-612.5 "/>
+<text text-anchor="start" x="117.5" y="-600.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_is_nullable</text>
+<polyline fill="none" stroke="black" points="109.5,-593.5 239.5,-593.5 "/>
+<text text-anchor="start" x="117.5" y="-581.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ObjectRef()</text>
+<text text-anchor="start" x="117.5" y="-570.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ObjectRef()</text>
+<text text-anchor="start" x="117.5" y="-559.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ same_as()</text>
+<text text-anchor="start" x="117.5" y="-548.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator==()</text>
+<text text-anchor="start" x="117.5" y="-537.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!=()</text>
+<text text-anchor="start" x="117.5" y="-526.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&lt;()</text>
+<text text-anchor="start" x="117.5" y="-515.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ defined()</text>
+<text text-anchor="start" x="117.5" y="-504.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ get()</text>
+<text text-anchor="start" x="117.5" y="-493.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="117.5" y="-482.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ unique()</text>
+<text text-anchor="start" x="117.5" y="-471.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ use_count()</text>
+<text text-anchor="start" x="117.5" y="-460.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ as()</text>
+<text text-anchor="start" x="117.5" y="-449.5" font-family="Helvetica,sans-Serif" font-size="10.00"># get_mutable()</text>
+<text text-anchor="start" x="117.5" y="-438.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DowncastNoCheck()</text>
+<text text-anchor="start" x="117.5" y="-427.5" font-family="Helvetica,sans-Serif" font-size="10.00"># FFIClearAfterMove()</text>
+<text text-anchor="start" x="117.5" y="-416.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetDataPtr()</text>
+</a>
+</g>
+</g>
+<!-- Node4&#45;&gt;Node3 -->
+<g id="edge3" class="edge"><title>Node4&#45;&gt;Node3</title>
+<path fill="none" stroke="midnightblue" d="M174.5,-399.14C174.5,-390.091 174.5,-380.955 174.5,-371.9"/>
+<polygon fill="none" stroke="midnightblue" points="171,-399.311 174.5,-409.311 178,-399.311 171,-399.311"/>
+</g>
+<!-- Node5 -->
+<g id="node5" class="node"><title>Node5</title>
+<g id="a_node5"><a xlink:href="classtvm_1_1runtime_1_1ObjectPtr.html" target="_top" xlink:title="{tvm::runtime::ObjectPtr\l\&lt; tvm::runtime::Object \&gt;\n||+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ~ObjectPtr()\l+ swap()\l+ get()\l+ operator&#45;\&gt;()\land 10 more...\l}">
+<polygon fill="white" stroke="black" points="105.5,-679.5 105.5,-857.5 243.5,-857.5 243.5,-679.5 105.5,-679.5"/>
+<text text-anchor="start" x="113.5" y="-845.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::ObjectPtr</text>
+<text text-anchor="middle" x="174.5" y="-834.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; tvm::runtime::Object &gt;</text>
+<polyline fill="none" stroke="black" points="105.5,-827.5 243.5,-827.5 "/>
+<text text-anchor="middle" x="174.5" y="-815.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="105.5,-808.5 243.5,-808.5 "/>
+<text text-anchor="start" x="113.5" y="-796.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ObjectPtr()</text>
+<text text-anchor="start" x="113.5" y="-785.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ObjectPtr()</text>
+<text text-anchor="start" x="113.5" y="-774.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ObjectPtr()</text>
+<text text-anchor="start" x="113.5" y="-763.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ObjectPtr()</text>
+<text text-anchor="start" x="113.5" y="-752.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ObjectPtr()</text>
+<text text-anchor="start" x="113.5" y="-741.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ObjectPtr()</text>
+<text text-anchor="start" x="113.5" y="-730.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~ObjectPtr()</text>
+<text text-anchor="start" x="113.5" y="-719.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ swap()</text>
+<text text-anchor="start" x="113.5" y="-708.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ get()</text>
+<text text-anchor="start" x="113.5" y="-697.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="113.5" y="-686.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 10 more...</text>
+</a>
+</g>
+</g>
+<!-- Node5&#45;&gt;Node4 -->
+<g id="edge4" class="edge"><title>Node5&#45;&gt;Node4</title>
+<path fill="none" stroke="#404040" d="M174.5,-679.383C174.5,-667.802 174.5,-655.772 174.5,-643.751"/>
+<polygon fill="none" stroke="#404040" points="174.5,-643.75 170.5,-637.75 174.5,-631.75 178.5,-637.75 174.5,-643.75"/>
+<text text-anchor="middle" x="194" y="-653" font-family="Helvetica,sans-Serif" font-size="10.00"> #data_</text>
+</g>
+</g>
+</svg>
diff --git a/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParamNode__inherit__graph.svg b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParamNode__inherit__graph.svg
new file mode 100644
index 0000000..70e1eaa
--- /dev/null
+++ b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParamNode__inherit__graph.svg
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.38.0 (20140413.2041)
+ -->
+<!-- Title: tvm::tir::LinkedParamNode Pages: 1 -->
+<svg width="213pt" height="193pt"
+ viewBox="0.00 0.00 213.00 193.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 189)">
+<title>tvm::tir::LinkedParamNode</title>
+<polygon fill="white" stroke="none" points="-4,4 -4,-189 209,-189 209,4 -4,4"/>
+<!-- Node1 -->
+<g id="node1" class="node"><title>Node1</title>
+<polygon fill="#bfbfbf" stroke="black" points="-1.42109e-14,-0.5 -1.42109e-14,-90.5 205,-90.5 205,-0.5 -1.42109e-14,-0.5"/>
+<text text-anchor="middle" x="102.5" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tir::LinkedParamNode</text>
+<polyline fill="none" stroke="black" points="-1.42109e-14,-71.5 205,-71.5 "/>
+<text text-anchor="start" x="8" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ id</text>
+<text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ param</text>
+<text text-anchor="start" x="8" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="-1.42109e-14,-30.5 205,-30.5 "/>
+<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT_INFO()</text>
+</g>
+<!-- Node2 -->
+<g id="node2" class="node"><title>Node2</title>
+<polygon fill="white" stroke="#bfbfbf" points="79,-127.5 79,-184.5 126,-184.5 126,-127.5 79,-127.5"/>
+<text text-anchor="middle" x="102.5" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
+<polyline fill="none" stroke="#bfbfbf" points="79,-165.5 126,-165.5 "/>
+<text text-anchor="middle" x="102.5" y="-153.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="79,-146.5 126,-146.5 "/>
+<text text-anchor="middle" x="102.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+</g>
+<!-- Node2&#45;&gt;Node1 -->
+<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
+<path fill="none" stroke="midnightblue" d="M102.5,-117.214C102.5,-108.609 102.5,-99.3943 102.5,-90.5541"/>
+<polygon fill="none" stroke="midnightblue" points="99.0001,-117.34 102.5,-127.34 106,-117.34 99.0001,-117.34"/>
+</g>
+</g>
+</svg>
diff --git a/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParam__coll__graph.svg b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParam__coll__graph.svg
new file mode 100644
index 0000000..401a39b
--- /dev/null
+++ b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParam__coll__graph.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.38.0 (20140413.2041)
+ -->
+<!-- Title: tvm::tir::LinkedParam Pages: 1 -->
+<svg width="158pt" height="204pt"
+ viewBox="0.00 0.00 158.00 204.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 200)">
+<title>tvm::tir::LinkedParam</title>
+<polygon fill="white" stroke="none" points="-4,4 -4,-200 154,-200 154,4 -4,4"/>
+<!-- Node1 -->
+<g id="node1" class="node"><title>Node1</title>
+<polygon fill="#bfbfbf" stroke="black" points="-1.42109e-14,-0.5 -1.42109e-14,-101.5 150,-101.5 150,-0.5 -1.42109e-14,-0.5"/>
+<text text-anchor="middle" x="75" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tir::LinkedParam</text>
+<polyline fill="none" stroke="black" points="-1.42109e-14,-82.5 150,-82.5 "/>
+<text text-anchor="middle" x="75" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="-1.42109e-14,-63.5 150,-63.5 "/>
+<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LinkedParam()</text>
+<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">_METHODS()</text>
+<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+</g>
+<!-- Node2 -->
+<g id="node2" class="node"><title>Node2</title>
+<polygon fill="white" stroke="#bfbfbf" points="44,-138.5 44,-195.5 106,-195.5 106,-138.5 44,-138.5"/>
+<text text-anchor="middle" x="75" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
+<polyline fill="none" stroke="#bfbfbf" points="44,-176.5 106,-176.5 "/>
+<text text-anchor="middle" x="75" y="-164.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="44,-157.5 106,-157.5 "/>
+<text text-anchor="middle" x="75" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+</g>
+<!-- Node2&#45;&gt;Node1 -->
+<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
+<path fill="none" stroke="midnightblue" d="M75,-128.354C75,-119.796 75,-110.578 75,-101.608"/>
+<polygon fill="none" stroke="midnightblue" points="71.5001,-128.404 75,-138.404 78.5001,-128.404 71.5001,-128.404"/>
+</g>
+</g>
+</svg>
diff --git a/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParam__inherit__graph.svg b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParam__inherit__graph.svg
new file mode 100644
index 0000000..401a39b
--- /dev/null
+++ b/docs/api/doxygen/classtvm_1_1tir_1_1LinkedParam__inherit__graph.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.38.0 (20140413.2041)
+ -->
+<!-- Title: tvm::tir::LinkedParam Pages: 1 -->
+<svg width="158pt" height="204pt"
+ viewBox="0.00 0.00 158.00 204.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 200)">
+<title>tvm::tir::LinkedParam</title>
+<polygon fill="white" stroke="none" points="-4,4 -4,-200 154,-200 154,4 -4,4"/>
+<!-- Node1 -->
+<g id="node1" class="node"><title>Node1</title>
+<polygon fill="#bfbfbf" stroke="black" points="-1.42109e-14,-0.5 -1.42109e-14,-101.5 150,-101.5 150,-0.5 -1.42109e-14,-0.5"/>
+<text text-anchor="middle" x="75" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tir::LinkedParam</text>
+<polyline fill="none" stroke="black" points="-1.42109e-14,-82.5 150,-82.5 "/>
+<text text-anchor="middle" x="75" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="-1.42109e-14,-63.5 150,-63.5 "/>
+<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LinkedParam()</text>
+<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">_METHODS()</text>
+<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+</g>
+<!-- Node2 -->
+<g id="node2" class="node"><title>Node2</title>
+<polygon fill="white" stroke="#bfbfbf" points="44,-138.5 44,-195.5 106,-195.5 106,-138.5 44,-138.5"/>
+<text text-anchor="middle" x="75" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
+<polyline fill="none" stroke="#bfbfbf" points="44,-176.5 106,-176.5 "/>
+<text text-anchor="middle" x="75" y="-164.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="44,-157.5 106,-157.5 "/>
+<text text-anchor="middle" x="75" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+</g>
+<!-- Node2&#45;&gt;Node1 -->
+<g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
+<path fill="none" stroke="midnightblue" d="M75,-128.354C75,-119.796 75,-110.578 75,-101.608"/>
+<polygon fill="none" stroke="midnightblue" points="71.5001,-128.404 75,-138.404 78.5001,-128.404 71.5001,-128.404"/>
+</g>
+</g>
+</svg>
diff --git a/docs/api/doxygen/classtvm_1_1transform_1_1PassContext-members.html b/docs/api/doxygen/classtvm_1_1transform_1_1PassContext-members.html
index a8a8ec7..afed3c8 100644
--- a/docs/api/doxygen/classtvm_1_1transform_1_1PassContext-members.html
+++ b/docs/api/doxygen/classtvm_1_1transform_1_1PassContext-members.html
@@ -102,9 +102,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
   <tr><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html#ab10baf6f7bcbd6e0e4b295399bc9f3a9">operator-&gt;</a>()</td><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">tvm::transform::PassContext</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html#a906dadb55586afece28d71d3436fdf1d">PassContext</a>()</td><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">tvm::transform::PassContext</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html#a8f5f511c2e29991eceff7b1f4883313e">PassContext</a>(ObjectPtr&lt; Object &gt; n)</td><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">tvm::transform::PassContext</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html#a6f1d1040cc97320414b4690203f87919">RegisterConfigOption</a>(const char *key)</td><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">tvm::transform::PassContext</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html#a4cddf63528edf5b0554a13a1faa96f3f">Trace</a>(const IRModule &amp;module, const PassInfo &amp;info, bool is_before) const </td><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">tvm::transform::PassContext</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html#a5f399608a6da56a5c91ea6ead8489f69">With&lt; PassContext &gt;</a> class</td><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">tvm::transform::PassContext</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html#aff7c0f5f1a1fc6d97fc7769f28bbe92b">PassEnabled</a>(const PassInfo &amp;info) const </td><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">tvm::transform::PassContext</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html#a6f1d1040cc97320414b4690203f87919">RegisterConfigOption</a>(const char *key)</td><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">tvm::transform::PassContext</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html#a4cddf63528edf5b0554a13a1faa96f3f">Trace</a>(const IRModule &amp;module, const PassInfo &amp;info, bool is_before) const </td><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">tvm::transform::PassContext</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html#a5f399608a6da56a5c91ea6ead8489f69">With&lt; PassContext &gt;</a> class</td><td class="entry"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">tvm::transform::PassContext</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
diff --git a/docs/api/doxygen/classtvm_1_1transform_1_1PassContext.html b/docs/api/doxygen/classtvm_1_1transform_1_1PassContext.html
index c495192..c052768 100644
--- a/docs/api/doxygen/classtvm_1_1transform_1_1PassContext.html
+++ b/docs/api/doxygen/classtvm_1_1transform_1_1PassContext.html
@@ -105,13 +105,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="dynheader">
 Inheritance diagram for tvm::transform::PassContext:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1transform_1_1PassContext__inherit__graph.svg" width="216" height="316"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1transform_1_1PassContext__inherit__graph.svg" width="216" height="331"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <div class="dynheader">
 Collaboration diagram for tvm::transform::PassContext:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1transform_1_1PassContext__coll__graph.svg" width="216" height="316"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1transform_1_1PassContext__coll__graph.svg" width="216" height="331"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <table class="memberdecls">
@@ -135,6 +135,9 @@ Public Member Functions</h2></td></tr>
 <tr class="memitem:a4cddf63528edf5b0554a13a1faa96f3f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1transform_1_1PassContext.html#a4cddf63528edf5b0554a13a1faa96f3f">Trace</a> (const <a class="el" href="classtvm_1_1IRModule.html">IRModule</a> &amp;module, const <a class="el" href="classtvm_1_1transform_1_1PassInfo.html">PassInfo</a> &amp;info, bool is_before) const </td></tr>
 <tr class="memdesc:a4cddf63528edf5b0554a13a1faa96f3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply the tracing functions of the context to the module, with the info.  <a href="#a4cddf63528edf5b0554a13a1faa96f3f">More...</a><br /></td></tr>
 <tr class="separator:a4cddf63528edf5b0554a13a1faa96f3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff7c0f5f1a1fc6d97fc7769f28bbe92b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1transform_1_1PassContext.html#aff7c0f5f1a1fc6d97fc7769f28bbe92b">PassEnabled</a> (const <a class="el" href="classtvm_1_1transform_1_1PassInfo.html">PassInfo</a> &amp;info) const </td></tr>
+<tr class="memdesc:aff7c0f5f1a1fc6d97fc7769f28bbe92b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether a pass is enabled.  <a href="#aff7c0f5f1a1fc6d97fc7769f28bbe92b">More...</a><br /></td></tr>
+<tr class="separator:aff7c0f5f1a1fc6d97fc7769f28bbe92b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
 Static Public Member Functions</h2></td></tr>
@@ -325,6 +328,31 @@ Friends</h2></td></tr>
 
 </div>
 </div>
+<a class="anchor" id="aff7c0f5f1a1fc6d97fc7769f28bbe92b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool tvm::transform::PassContext::PassEnabled </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1transform_1_1PassInfo.html">PassInfo</a> &amp;&#160;</td>
+          <td class="paramname"><em>info</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Check whether a pass is enabled. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">info</td><td>The pass information. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>true if the pass is enabled. Otherwise, false. </dd></dl>
+
+</div>
+</div>
 <a class="anchor" id="a6f1d1040cc97320414b4690203f87919"></a>
 <div class="memitem">
 <div class="memproto">
diff --git a/docs/api/doxygen/classtvm_1_1transform_1_1PassContext__coll__graph.svg b/docs/api/doxygen/classtvm_1_1transform_1_1PassContext__coll__graph.svg
index d8d3d10..814ce9f 100644
--- a/docs/api/doxygen/classtvm_1_1transform_1_1PassContext__coll__graph.svg
+++ b/docs/api/doxygen/classtvm_1_1transform_1_1PassContext__coll__graph.svg
@@ -4,40 +4,41 @@
 <!-- Generated by graphviz version 2.38.0 (20140413.2041)
  -->
 <!-- Title: tvm::transform::PassContext Pages: 1 -->
-<svg width="162pt" height="237pt"
- viewBox="0.00 0.00 162.00 237.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 233)">
+<svg width="162pt" height="248pt"
+ viewBox="0.00 0.00 162.00 248.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 244)">
 <title>tvm::transform::PassContext</title>
-<polygon fill="white" stroke="none" points="-4,4 -4,-233 158,-233 158,4 -4,4"/>
+<polygon fill="white" stroke="none" points="-4,4 -4,-244 158,-244 158,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node"><title>Node1</title>
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-134.5 154,-134.5 154,-0.5 0,-0.5"/>
-<text text-anchor="middle" x="77" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassContext</text>
-<polyline fill="none" stroke="black" points="0,-115.5 154,-115.5 "/>
-<text text-anchor="middle" x="77" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-96.5 154,-96.5 "/>
+<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-145.5 154,-145.5 154,-0.5 0,-0.5"/>
+<text text-anchor="middle" x="77" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassContext</text>
+<polyline fill="none" stroke="black" points="0,-126.5 154,-126.5 "/>
+<text text-anchor="middle" x="77" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="0,-107.5 154,-107.5 "/>
+<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PassContext()</text>
 <text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PassContext()</text>
-<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PassContext()</text>
+<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
 <text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Trace()</text>
+<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Trace()</text>
+<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PassEnabled()</text>
 <text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Create()</text>
 <text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Current()</text>
 <text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterConfigOption()</text>
 </g>
 <!-- Node2 -->
 <g id="node2" class="node"><title>Node2</title>
-<polygon fill="white" stroke="#bfbfbf" points="46,-171.5 46,-228.5 108,-228.5 108,-171.5 46,-171.5"/>
-<text text-anchor="middle" x="77" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="46,-209.5 108,-209.5 "/>
-<text text-anchor="middle" x="77" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="46,-190.5 108,-190.5 "/>
-<text text-anchor="middle" x="77" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="#bfbfbf" points="46,-182.5 46,-239.5 108,-239.5 108,-182.5 46,-182.5"/>
+<text text-anchor="middle" x="77" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
+<polyline fill="none" stroke="#bfbfbf" points="46,-220.5 108,-220.5 "/>
+<text text-anchor="middle" x="77" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="46,-201.5 108,-201.5 "/>
+<text text-anchor="middle" x="77" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 </g>
 <!-- Node2&#45;&gt;Node1 -->
 <g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M77,-161.16C77,-152.782 77,-143.668 77,-134.533"/>
-<polygon fill="none" stroke="midnightblue" points="73.5001,-161.324 77,-171.324 80.5001,-161.324 73.5001,-161.324"/>
+<path fill="none" stroke="midnightblue" d="M77,-172.356C77,-163.999 77,-154.872 77,-145.656"/>
+<polygon fill="none" stroke="midnightblue" points="73.5001,-172.478 77,-182.478 80.5001,-172.478 73.5001,-172.478"/>
 </g>
 </g>
 </svg>
diff --git a/docs/api/doxygen/classtvm_1_1transform_1_1PassContext__inherit__graph.svg b/docs/api/doxygen/classtvm_1_1transform_1_1PassContext__inherit__graph.svg
index d8d3d10..814ce9f 100644
--- a/docs/api/doxygen/classtvm_1_1transform_1_1PassContext__inherit__graph.svg
+++ b/docs/api/doxygen/classtvm_1_1transform_1_1PassContext__inherit__graph.svg
@@ -4,40 +4,41 @@
 <!-- Generated by graphviz version 2.38.0 (20140413.2041)
  -->
 <!-- Title: tvm::transform::PassContext Pages: 1 -->
-<svg width="162pt" height="237pt"
- viewBox="0.00 0.00 162.00 237.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 233)">
+<svg width="162pt" height="248pt"
+ viewBox="0.00 0.00 162.00 248.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 244)">
 <title>tvm::transform::PassContext</title>
-<polygon fill="white" stroke="none" points="-4,4 -4,-233 158,-233 158,4 -4,4"/>
+<polygon fill="white" stroke="none" points="-4,4 -4,-244 158,-244 158,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node"><title>Node1</title>
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-134.5 154,-134.5 154,-0.5 0,-0.5"/>
-<text text-anchor="middle" x="77" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassContext</text>
-<polyline fill="none" stroke="black" points="0,-115.5 154,-115.5 "/>
-<text text-anchor="middle" x="77" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-96.5 154,-96.5 "/>
+<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-145.5 154,-145.5 154,-0.5 0,-0.5"/>
+<text text-anchor="middle" x="77" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassContext</text>
+<polyline fill="none" stroke="black" points="0,-126.5 154,-126.5 "/>
+<text text-anchor="middle" x="77" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="0,-107.5 154,-107.5 "/>
+<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PassContext()</text>
 <text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PassContext()</text>
-<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PassContext()</text>
+<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
 <text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Trace()</text>
+<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Trace()</text>
+<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PassEnabled()</text>
 <text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Create()</text>
 <text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Current()</text>
 <text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterConfigOption()</text>
 </g>
 <!-- Node2 -->
 <g id="node2" class="node"><title>Node2</title>
-<polygon fill="white" stroke="#bfbfbf" points="46,-171.5 46,-228.5 108,-228.5 108,-171.5 46,-171.5"/>
-<text text-anchor="middle" x="77" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="46,-209.5 108,-209.5 "/>
-<text text-anchor="middle" x="77" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="46,-190.5 108,-190.5 "/>
-<text text-anchor="middle" x="77" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="#bfbfbf" points="46,-182.5 46,-239.5 108,-239.5 108,-182.5 46,-182.5"/>
+<text text-anchor="middle" x="77" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
+<polyline fill="none" stroke="#bfbfbf" points="46,-220.5 108,-220.5 "/>
+<text text-anchor="middle" x="77" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="46,-201.5 108,-201.5 "/>
+<text text-anchor="middle" x="77" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 </g>
 <!-- Node2&#45;&gt;Node1 -->
 <g id="edge1" class="edge"><title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M77,-161.16C77,-152.782 77,-143.668 77,-134.533"/>
-<polygon fill="none" stroke="midnightblue" points="73.5001,-161.324 77,-171.324 80.5001,-161.324 73.5001,-161.324"/>
+<path fill="none" stroke="midnightblue" d="M77,-172.356C77,-163.999 77,-154.872 77,-145.656"/>
+<polygon fill="none" stroke="midnightblue" points="73.5001,-172.478 77,-182.478 80.5001,-172.478 73.5001,-172.478"/>
 </g>
 </g>
 </svg>
diff --git a/docs/api/doxygen/constant__utils_8h.html b/docs/api/doxygen/constant__utils_8h.html
index b630438..5e22c64 100644
--- a/docs/api/doxygen/constant__utils_8h.html
+++ b/docs/api/doxygen/constant__utils_8h.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><div class="textblock"><div class="dynheader">
 Include dependency graph for constant_utils.h:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="constant__utils_8h__incl.svg" width="5043" height="1500"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="constant__utils_8h__incl.svg" width="5259" height="1500"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 </div><div class="textblock"><div class="dynheader">
diff --git a/docs/api/doxygen/constant__utils_8h__incl.svg b/docs/api/doxygen/constant__utils_8h__incl.svg
index 6dccf14..aa1421d 100644
--- a/docs/api/doxygen/constant__utils_8h__incl.svg
+++ b/docs/api/doxygen/constant__utils_8h__incl.svg
@@ -4,1507 +4,1532 @@
 <!-- Generated by graphviz version 2.38.0 (20140413.2041)
  -->
 <!-- Title: include/tvm/topi/detail/constant_utils.h Pages: 1 -->
-<svg width="3782pt" height="1125pt"
- viewBox="0.00 0.00 3782.00 1125.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="3944pt" height="1125pt"
+ viewBox="0.00 0.00 3944.00 1125.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 1121)">
 <title>include/tvm/topi/detail/constant_utils.h</title>
-<polygon fill="white" stroke="none" points="-4,4 -4,-1121 3778,-1121 3778,4 -4,4"/>
+<polygon fill="white" stroke="none" points="-4,4 -4,-1121 3940,-1121 3940,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node"><title>Node1</title>
-<polygon fill="#bfbfbf" stroke="black" points="1046,-1086.5 1046,-1116.5 1168,-1116.5 1168,-1086.5 1046,-1086.5"/>
-<text text-anchor="start" x="1054" y="-1104.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/detail</text>
-<text text-anchor="middle" x="1107" y="-1093.5" font-family="Helvetica,sans-Serif" font-size="10.00">/constant_utils.h</text>
+<polygon fill="#bfbfbf" stroke="black" points="3445,-1086.5 3445,-1116.5 3567,-1116.5 3567,-1086.5 3445,-1086.5"/>
+<text text-anchor="start" x="3453" y="-1104.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/detail</text>
+<text text-anchor="middle" x="3506" y="-1093.5" font-family="Helvetica,sans-Serif" font-size="10.00">/constant_utils.h</text>
 </g>
 <!-- Node2 -->
 <g id="node2" class="node"><title>Node2</title>
 <g id="a_node2"><a xlink:href="analyzer_8h.html" target="_top" xlink:title="Algebra expression simplifications. ">
-<polygon fill="white" stroke="black" points="2970,-806.5 2970,-825.5 3082,-825.5 3082,-806.5 2970,-806.5"/>
-<text text-anchor="middle" x="3026" y="-813.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/analyzer.h</text>
+<polygon fill="white" stroke="black" points="3348,-806.5 3348,-825.5 3460,-825.5 3460,-806.5 3348,-806.5"/>
+<text text-anchor="middle" x="3404" y="-813.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/analyzer.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node2 -->
 <g id="edge1" class="edge"><title>Node1&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M1168.05,-1100.29C1472.81,-1098.82 2821.3,-1087.05 2981,-994 3028.58,-966.275 3026.36,-936.538 3034,-882 3036.17,-866.498 3033.69,-848.871 3030.94,-835.888"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3034.27,-834.766 3028.56,-825.844 3027.46,-836.381 3034.27,-834.766"/>
+<path fill="none" stroke="midnightblue" d="M3562.68,-1086.42C3626.34,-1067.59 3716.77,-1029.94 3684,-974 3633.96,-888.579 3518.56,-846.112 3452.59,-828.116"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3453.4,-824.71 3442.83,-825.535 3451.61,-831.477 3453.4,-824.71"/>
 </g>
 <!-- Node13 -->
 <g id="node13" class="node"><title>Node13</title>
-<polygon fill="white" stroke="#bfbfbf" points="662,-6 662,-25 706,-25 706,-6 662,-6"/>
-<text text-anchor="middle" x="684" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
+<polygon fill="white" stroke="#bfbfbf" points="3078,-6 3078,-25 3122,-25 3122,-6 3078,-6"/>
+<text text-anchor="middle" x="3100" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
 </g>
 <!-- Node1&#45;&gt;Node13 -->
-<g id="edge225" class="edge"><title>Node1&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M1045.91,-1100.59C813.836,-1100.15 0,-1091.04 0,-985 0,-985 0,-985 0,-132 0,-93.8683 22.002,-84.2673 56,-67 109.368,-39.895 530.612,-22.2211 651.606,-17.667"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="651.86,-21.1601 661.723,-17.2906 651.6,-14.1649 651.86,-21.1601"/>
+<g id="edge230" class="edge"><title>Node1&#45;&gt;Node13</title>
+<path fill="none" stroke="midnightblue" d="M3567.15,-1096.82C3685.87,-1088 3936,-1060.46 3936,-985 3936,-985 3936,-985 3936,-132 3936,-91.458 3908.86,-83.8726 3872,-67 3804,-35.876 3270,-20.6845 3132.3,-17.2605"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3132.09,-13.7543 3122.01,-17.0082 3131.92,-20.7522 3132.09,-13.7543"/>
 </g>
 <!-- Node19 -->
 <g id="node19" class="node"><title>Node19</title>
-<polygon fill="white" stroke="#bfbfbf" points="869.5,-123.5 869.5,-142.5 916.5,-142.5 916.5,-123.5 869.5,-123.5"/>
-<text text-anchor="middle" x="893" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
+<polygon fill="white" stroke="#bfbfbf" points="2620.5,-123.5 2620.5,-142.5 2667.5,-142.5 2667.5,-123.5 2620.5,-123.5"/>
+<text text-anchor="middle" x="2644" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
 </g>
 <!-- Node1&#45;&gt;Node19 -->
-<g id="edge226" class="edge"><title>Node1&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M1045.98,-1100.11C824.496,-1097.91 76,-1083.22 76,-985 76,-985 76,-985 76,-815 76,-558.377 147.937,-471.063 341,-302 427.621,-226.147 458.798,-212.352 569,-179 671.809,-147.885 799.566,-138.183 859.284,-135.238"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="859.456,-138.734 869.285,-134.777 859.134,-131.741 859.456,-138.734"/>
+<g id="edge231" class="edge"><title>Node1&#45;&gt;Node19</title>
+<path fill="none" stroke="midnightblue" d="M3567.16,-1095.49C3603.18,-1089.65 3647.5,-1077.06 3678,-1050 3796.83,-944.566 3758.99,-805.671 3646,-694 3353.96,-405.365 3270.81,-301.797 2879,-179 2809.13,-157.102 2724.06,-144.025 2677.85,-138.004"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2678.15,-134.513 2667.79,-136.724 2677.27,-141.457 2678.15,-134.513"/>
 </g>
-<!-- Node28 -->
-<g id="node28" class="node"><title>Node28</title>
-<g id="a_node28"><a xlink:href="tir_2expr_8h.html" target="_top" xlink:title="TIR expressions. ">
-<polygon fill="white" stroke="black" points="2644,-694.5 2644,-713.5 2724,-713.5 2724,-694.5 2644,-694.5"/>
-<text text-anchor="middle" x="2684" y="-701.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/expr.h</text>
+<!-- Node26 -->
+<g id="node26" class="node"><title>Node26</title>
+<g id="a_node26"><a xlink:href="tir_2expr_8h.html" target="_top" xlink:title="TIR expressions. ">
+<polygon fill="white" stroke="black" points="1487,-694.5 1487,-713.5 1567,-713.5 1567,-694.5 1487,-694.5"/>
+<text text-anchor="middle" x="1527" y="-701.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/expr.h</text>
 </a>
 </g>
 </g>
-<!-- Node1&#45;&gt;Node28 -->
-<g id="edge224" class="edge"><title>Node1&#45;&gt;Node28</title>
-<path fill="none" stroke="midnightblue" d="M1168.2,-1099.25C1546.11,-1091.31 3546,-1046.42 3546,-985 3546,-985 3546,-985 3546,-927 3546,-758.258 2918.7,-715.858 2734.36,-707.041"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2734.29,-703.534 2724.13,-706.565 2733.96,-710.526 2734.29,-703.534"/>
+<!-- Node1&#45;&gt;Node26 -->
+<g id="edge229" class="edge"><title>Node1&#45;&gt;Node26</title>
+<path fill="none" stroke="midnightblue" d="M3444.94,-1100.41C3099.84,-1099.51 1409,-1089.77 1409,-985 1409,-985 1409,-985 1409,-815 1409,-767.512 1460.77,-734.674 1495.72,-717.912"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1497.46,-720.968 1505.08,-713.612 1494.53,-714.608 1497.46,-720.968"/>
 </g>
 <!-- Node32 -->
 <g id="node32" class="node"><title>Node32</title>
 <g id="a_node32"><a xlink:href="operation_8h.html" target="_top" xlink:title="Operation node can generate one or multiple Tensors. ">
-<polygon fill="white" stroke="black" points="2047,-1030.5 2047,-1049.5 2153,-1049.5 2153,-1030.5 2047,-1030.5"/>
-<text text-anchor="middle" x="2100" y="-1037.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/te/operation.h</text>
+<polygon fill="white" stroke="black" points="3175,-1030.5 3175,-1049.5 3281,-1049.5 3281,-1030.5 3175,-1030.5"/>
+<text text-anchor="middle" x="3228" y="-1037.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/te/operation.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node32 -->
-<g id="edge118" class="edge"><title>Node1&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M1168.37,-1096.82C1345.59,-1086.2 1856.93,-1055.56 2036.64,-1044.8"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2036.95,-1048.28 2046.72,-1044.19 2036.53,-1041.3 2036.95,-1048.28"/>
+<g id="edge122" class="edge"><title>Node1&#45;&gt;Node32</title>
+<path fill="none" stroke="midnightblue" d="M3444.99,-1087.44C3394.81,-1076.7 3324.58,-1061.67 3277.76,-1051.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3278.35,-1048.2 3267.84,-1049.53 3276.89,-1055.04 3278.35,-1048.2"/>
 </g>
 <!-- Node40 -->
 <g id="node40" class="node"><title>Node40</title>
 <g id="a_node40"><a xlink:href="tir_2analysis_8h.html" target="_top" xlink:title="Analysis utilitie and passes for TIR. ">
-<polygon fill="white" stroke="black" points="1440,-862.5 1440,-881.5 1538,-881.5 1538,-862.5 1440,-862.5"/>
-<text text-anchor="middle" x="1489" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/analysis.h</text>
+<polygon fill="white" stroke="black" points="2281,-862.5 2281,-881.5 2379,-881.5 2379,-862.5 2281,-862.5"/>
+<text text-anchor="middle" x="2330" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/analysis.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node40 -->
-<g id="edge169" class="edge"><title>Node1&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M1130.61,-1086.44C1199.12,-1045.64 1397.45,-927.525 1465.64,-886.911"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1467.57,-889.834 1474.37,-881.71 1463.99,-883.82 1467.57,-889.834"/>
+<g id="edge173" class="edge"><title>Node1&#45;&gt;Node40</title>
+<path fill="none" stroke="midnightblue" d="M3444.92,-1095.74C3243.11,-1079.34 2599.8,-1021.59 2411,-938 2384.89,-926.439 2360.08,-904.301 2344.96,-889.101"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2347.44,-886.636 2337.98,-881.877 2342.41,-891.5 2347.44,-886.636"/>
 </g>
 <!-- Node3 -->
 <g id="node3" class="node"><title>Node3</title>
 <g id="a_node3"><a xlink:href="int__set_8h.html" target="_top" xlink:title="Integer set. ">
-<polygon fill="white" stroke="black" points="2970,-750.5 2970,-769.5 3074,-769.5 3074,-750.5 2970,-750.5"/>
-<text text-anchor="middle" x="3022" y="-757.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/int_set.h</text>
+<polygon fill="white" stroke="black" points="2109,-750.5 2109,-769.5 2213,-769.5 2213,-750.5 2109,-750.5"/>
+<text text-anchor="middle" x="2161" y="-757.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/int_set.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node3 -->
 <g id="edge2" class="edge"><title>Node2&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M3025.34,-806.083C3024.82,-799.006 3024.06,-788.861 3023.41,-779.986"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3026.88,-779.465 3022.65,-769.751 3019.9,-779.982 3026.88,-779.465"/>
+<path fill="none" stroke="midnightblue" d="M3347.77,-812.557C3142.95,-803.659 2437.58,-773.016 2223.26,-763.705"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2223.27,-760.202 2213.13,-763.265 2222.96,-767.195 2223.27,-760.202"/>
 </g>
 <!-- Node4 -->
 <g id="node4" class="node"><title>Node4</title>
 <g id="a_node4"><a xlink:href="ir_2expr_8h.html" target="_top" xlink:title="Base expr nodes in TVM. ">
-<polygon fill="white" stroke="black" points="2546.5,-526.5 2546.5,-545.5 2623.5,-545.5 2623.5,-526.5 2546.5,-526.5"/>
-<text text-anchor="middle" x="2585" y="-533.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/expr.h</text>
+<polygon fill="white" stroke="black" points="1261.5,-526.5 1261.5,-545.5 1338.5,-545.5 1338.5,-526.5 1261.5,-526.5"/>
+<text text-anchor="middle" x="1300" y="-533.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node4 -->
-<g id="edge110" class="edge"><title>Node2&#45;&gt;Node4</title>
-<path fill="none" stroke="midnightblue" d="M3043.42,-806.424C3065.02,-794.588 3097.34,-772.185 3083,-750 3030.1,-668.152 2736.38,-579.206 2626.5,-548.314"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2627.33,-544.913 2616.76,-545.593 2625.45,-551.655 2627.33,-544.913"/>
+<g id="edge114" class="edge"><title>Node2&#45;&gt;Node4</title>
+<path fill="none" stroke="midnightblue" d="M3347.96,-811.715C3246.06,-805.482 3023.72,-790.693 2837,-770 2661.64,-750.567 2618.5,-740.047 2444,-714 2227.34,-681.659 2174.79,-661.631 1957,-638 1827.29,-623.926 1491.1,-652.967 1371,-602 1358.19,-596.565 1332.01,-570.704 1315.27,-553.286"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1317.75,-550.817 1308.32,-545.981 1312.68,-555.64 1317.75,-550.817"/>
 </g>
 <!-- Node17 -->
 <g id="node17" class="node"><title>Node17</title>
-<polygon fill="white" stroke="#bfbfbf" points="2006.5,-123.5 2006.5,-142.5 2063.5,-142.5 2063.5,-123.5 2006.5,-123.5"/>
-<text text-anchor="middle" x="2035" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">memory</text>
+<polygon fill="white" stroke="#bfbfbf" points="1822.5,-123.5 1822.5,-142.5 1879.5,-142.5 1879.5,-123.5 1822.5,-123.5"/>
+<text text-anchor="middle" x="1851" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">memory</text>
 </g>
 <!-- Node2&#45;&gt;Node17 -->
-<g id="edge115" class="edge"><title>Node2&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M2970,-811.22C2757.15,-795.549 2003.63,-727.78 1869,-546 1818.6,-477.947 1808.11,-437.235 1838,-358 1874.09,-262.32 1971.7,-180.976 2014.47,-148.775"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2016.76,-151.428 2022.72,-142.662 2012.6,-145.803 2016.76,-151.428"/>
+<g id="edge119" class="edge"><title>Node2&#45;&gt;Node17</title>
+<path fill="none" stroke="midnightblue" d="M3404,-806.442C3404,-787.936 3404,-742.812 3404,-705 3404,-705 3404,-705 3404,-647 3404,-482.362 2129.34,-194.98 1889.61,-142.388"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1890.13,-138.919 1879.62,-140.199 1888.64,-145.757 1890.13,-138.919"/>
 </g>
 <!-- Node18 -->
 <g id="node18" class="node"><title>Node18</title>
-<polygon fill="white" stroke="#bfbfbf" points="3499.5,-123.5 3499.5,-142.5 3592.5,-142.5 3592.5,-123.5 3499.5,-123.5"/>
-<text text-anchor="middle" x="3546" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
+<polygon fill="white" stroke="#bfbfbf" points="3244.5,-123.5 3244.5,-142.5 3337.5,-142.5 3337.5,-123.5 3244.5,-123.5"/>
+<text text-anchor="middle" x="3291" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
 </g>
 <!-- Node2&#45;&gt;Node18 -->
-<g id="edge116" class="edge"><title>Node2&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M3082.06,-814.607C3199.27,-813.071 3466.24,-805.642 3549,-770 3588.9,-752.817 3622,-748.442 3622,-705 3622,-705 3622,-705 3622,-249.5 3622,-216.401 3616.49,-206.452 3598,-179 3590.08,-167.241 3578.32,-156.709 3567.98,-148.795"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3569.9,-145.858 3559.75,-142.794 3565.77,-151.514 3569.9,-145.858"/>
+<g id="edge120" class="edge"><title>Node2&#45;&gt;Node18</title>
+<path fill="none" stroke="midnightblue" d="M3415.52,-806.463C3426.6,-797.934 3443.47,-784.096 3456,-770 3535.54,-680.552 3583.29,-644.957 3570,-526 3551.31,-358.671 3551.26,-281.906 3418,-179 3396.93,-162.728 3369.49,-152.029 3345.51,-145.166"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3346.39,-141.777 3335.82,-142.542 3344.56,-148.534 3346.39,-141.777"/>
 </g>
 <!-- Node2&#45;&gt;Node19 -->
-<g id="edge117" class="edge"><title>Node2&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M2969.78,-813.677C2668.59,-806.583 1257.87,-773.24 1213,-770 949.692,-750.988 646,-856.993 646,-593 646,-593 646,-593 646,-535 646,-391.23 694.301,-359.035 767,-235 783.145,-207.454 787.589,-199.581 812,-179 827.524,-165.911 847.432,-154.789 863.627,-146.877"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="865.128,-150.038 872.671,-142.598 862.135,-143.711 865.128,-150.038"/>
+<g id="edge121" class="edge"><title>Node2&#45;&gt;Node19</title>
+<path fill="none" stroke="midnightblue" d="M3409.28,-806.231C3419.73,-788.043 3442,-744.601 3442,-705 3442,-705 3442,-705 3442,-647 3442,-616.205 3437.2,-606.08 3418,-582 3337.93,-481.562 3040.37,-338.009 2934,-266 2878.25,-228.259 2870.96,-207.57 2810,-179 2766.51,-158.617 2712.13,-146.082 2677.72,-139.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2678.18,-136.107 2667.72,-137.754 2676.92,-142.993 2678.18,-136.107"/>
 </g>
-<!-- Node22 -->
-<g id="node22" class="node"><title>Node22</title>
-<polygon fill="white" stroke="#bfbfbf" points="3310,-179.5 3310,-198.5 3352,-198.5 3352,-179.5 3310,-179.5"/>
-<text text-anchor="middle" x="3331" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">limits</text>
+<!-- Node23 -->
+<g id="node23" class="node"><title>Node23</title>
+<polygon fill="white" stroke="#bfbfbf" points="294,-179.5 294,-198.5 336,-198.5 336,-179.5 294,-179.5"/>
+<text text-anchor="middle" x="315" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">limits</text>
 </g>
-<!-- Node2&#45;&gt;Node22 -->
-<g id="edge114" class="edge"><title>Node2&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M3082.06,-815.69C3223.56,-815.932 3584,-806.578 3584,-705 3584,-705 3584,-705 3584,-647 3584,-451.222 3404.08,-260.648 3347.69,-205.727"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3349.94,-203.032 3340.3,-198.624 3345.09,-208.078 3349.94,-203.032"/>
+<!-- Node2&#45;&gt;Node23 -->
+<g id="edge118" class="edge"><title>Node2&#45;&gt;Node23</title>
+<path fill="none" stroke="midnightblue" d="M3347.9,-814.951C2965.17,-814.232 746.019,-803.767 488,-658 321.553,-563.966 313.517,-284.25 314.466,-208.884"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="317.971,-208.671 314.673,-198.603 310.973,-208.53 317.971,-208.671"/>
 </g>
 <!-- Node31 -->
 <g id="node31" class="node"><title>Node31</title>
 <g id="a_node31"><a xlink:href="with_8h.html" target="_top" xlink:title="RAII wrapper function to enter and exit a context object similar to python&#39;s with syntax...">
-<polygon fill="white" stroke="black" points="1140,-694.5 1140,-713.5 1246,-713.5 1246,-694.5 1140,-694.5"/>
-<text text-anchor="middle" x="1193" y="-701.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/support/with.h</text>
+<polygon fill="white" stroke="black" points="2690,-694.5 2690,-713.5 2796,-713.5 2796,-694.5 2690,-694.5"/>
+<text text-anchor="middle" x="2743" y="-701.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/support/with.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node31 -->
-<g id="edge111" class="edge"><title>Node2&#45;&gt;Node31</title>
-<path fill="none" stroke="midnightblue" d="M2969.76,-813.565C2809.13,-809.273 2334.45,-795.242 1941,-770 1687.06,-753.709 1385.45,-724.467 1256.54,-711.498"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1256.75,-708.002 1246.45,-710.481 1256.05,-714.967 1256.75,-708.002"/>
+<g id="edge115" class="edge"><title>Node2&#45;&gt;Node31</title>
+<path fill="none" stroke="midnightblue" d="M3347.83,-812.645C3231.68,-807.369 2968.66,-793.211 2882,-770 2881.27,-769.804 2810.97,-736.869 2770.64,-717.963"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2771.87,-714.674 2761.33,-713.598 2768.9,-721.012 2771.87,-714.674"/>
 </g>
 <!-- Node3&#45;&gt;Node4 -->
 <g id="edge3" class="edge"><title>Node3&#45;&gt;Node4</title>
-<path fill="none" stroke="midnightblue" d="M3005.14,-750.433C2938.36,-716.512 2692.19,-591.454 2611.1,-550.257"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2612.55,-547.07 2602.05,-545.661 2609.38,-553.311 2612.55,-547.07"/>
+<path fill="none" stroke="midnightblue" d="M2148.02,-750.353C2112.35,-727.124 2009.1,-663.411 1913,-638 1790.3,-605.556 1452.84,-665.582 1343,-602 1325.11,-591.646 1313.26,-570.506 1306.61,-555.138"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1309.78,-553.624 1302.83,-545.625 1303.27,-556.21 1309.78,-553.624"/>
 </g>
 <!-- Node3&#45;&gt;Node18 -->
-<g id="edge109" class="edge"><title>Node3&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M3074.01,-758.15C3199.39,-754.698 3508,-737.239 3508,-649 3508,-649 3508,-649 3508,-591 3508,-515.314 3546,-500.686 3546,-425 3546,-425 3546,-425 3546,-249.5 3546,-215.364 3546,-175.552 3546,-152.709"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3549.5,-152.693 3546,-142.693 3542.5,-152.693 3549.5,-152.693"/>
+<g id="edge113" class="edge"><title>Node3&#45;&gt;Node18</title>
+<path fill="none" stroke="midnightblue" d="M2213.3,-755.554C2324.23,-747.216 2590.41,-721.737 2804,-658 2913.72,-625.259 2941.41,-610.517 3036,-546 3166.52,-456.977 3191.82,-410.803 3255,-266 3271.88,-227.312 3282.67,-178.731 3287.69,-152.633"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3291.17,-153.099 3289.55,-142.629 3284.28,-151.825 3291.17,-153.099"/>
 </g>
-<!-- Node3&#45;&gt;Node28 -->
-<g id="edge86" class="edge"><title>Node3&#45;&gt;Node28</title>
-<path fill="none" stroke="midnightblue" d="M2969.93,-750.681C2905.81,-740.438 2797.66,-723.159 2734.35,-713.044"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2734.64,-709.545 2724.21,-711.424 2733.53,-716.458 2734.64,-709.545"/>
+<!-- Node3&#45;&gt;Node26 -->
+<g id="edge85" class="edge"><title>Node3&#45;&gt;Node26</title>
+<path fill="none" stroke="midnightblue" d="M2108.85,-754.558C1989.09,-744.358 1695.66,-719.365 1577.51,-709.302"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1577.56,-705.794 1567.3,-708.433 1576.97,-712.769 1577.56,-705.794"/>
 </g>
 <!-- Node5 -->
 <g id="node5" class="node"><title>Node5</title>
 <g id="a_node5"><a xlink:href="span_8h.html" target="_top" xlink:title="Span information for debugging purposes. ">
-<polygon fill="white" stroke="black" points="2139,-414.5 2139,-433.5 2219,-433.5 2219,-414.5 2139,-414.5"/>
-<text text-anchor="middle" x="2179" y="-421.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/span.h</text>
+<polygon fill="white" stroke="black" points="1453,-414.5 1453,-433.5 1533,-433.5 1533,-414.5 1453,-414.5"/>
+<text text-anchor="middle" x="1493" y="-421.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/span.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node5 -->
 <g id="edge4" class="edge"><title>Node4&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M2546.38,-530.593C2498.71,-524.497 2415.55,-511.713 2347,-490 2326.52,-483.514 2322.89,-478.115 2303,-470 2273.37,-457.91 2239.14,-445.61 2214.16,-436.932"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2214.99,-433.517 2204.4,-433.561 2212.71,-440.134 2214.99,-433.517"/>
+<path fill="none" stroke="midnightblue" d="M1337.21,-526.432C1363.61,-519.286 1399.14,-507.434 1427,-490 1447.97,-476.878 1467.57,-456.06 1479.87,-441.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1482.57,-443.753 1486.23,-433.808 1477.17,-439.304 1482.57,-443.753"/>
 </g>
 <!-- Node6 -->
 <g id="node6" class="node"><title>Node6</title>
 <g id="a_node6"><a xlink:href="node_8h.html" target="_top" xlink:title="Definitions and helper macros for IR/AST nodes. ">
-<polygon fill="white" stroke="red" points="2369,-358.5 2369,-377.5 2467,-377.5 2467,-358.5 2369,-358.5"/>
-<text text-anchor="middle" x="2418" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/node.h</text>
+<polygon fill="white" stroke="red" points="1233,-358.5 1233,-377.5 1331,-377.5 1331,-358.5 1233,-358.5"/>
+<text text-anchor="middle" x="1282" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/node.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node6 -->
-<g id="edge80" class="edge"><title>Node4&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M2576.02,-526.075C2549.05,-499.267 2468.49,-419.19 2433.98,-384.885"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2436.18,-382.136 2426.62,-377.568 2431.24,-387.1 2436.18,-382.136"/>
+<g id="edge79" class="edge"><title>Node4&#45;&gt;Node6</title>
+<path fill="none" stroke="midnightblue" d="M1299.03,-526.075C1296.2,-499.945 1287.88,-423.211 1284.01,-387.577"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1287.49,-387.132 1282.93,-377.568 1280.53,-387.887 1287.49,-387.132"/>
 </g>
 <!-- Node7 -->
 <g id="node7" class="node"><title>Node7</title>
 <g id="a_node7"><a xlink:href="node_2container_8h.html" target="_top" xlink:title="Array/Map container in the DSL graph. ">
-<polygon fill="white" stroke="black" points="1921.5,-302.5 1921.5,-321.5 2040.5,-321.5 2040.5,-302.5 1921.5,-302.5"/>
-<text text-anchor="middle" x="1981" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/container.h</text>
+<polygon fill="white" stroke="black" points="1589.5,-302.5 1589.5,-321.5 1708.5,-321.5 1708.5,-302.5 1589.5,-302.5"/>
+<text text-anchor="middle" x="1649" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/container.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node7 -->
-<g id="edge79" class="edge"><title>Node4&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M2568.33,-526.436C2513.61,-498.612 2333.97,-409.585 2177,-358 2131.54,-343.06 2078.57,-331.218 2039.17,-323.439"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2039.68,-319.974 2029.2,-321.501 2038.35,-326.846 2039.68,-319.974"/>
+<g id="edge78" class="edge"><title>Node4&#45;&gt;Node7</title>
+<path fill="none" stroke="midnightblue" d="M1338.73,-526.891C1370.54,-519.482 1416.33,-507.074 1454,-490 1496.22,-470.864 1506.74,-464.103 1542,-434 1580.56,-401.078 1618.02,-354.306 1636.71,-329.668"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1639.51,-331.76 1642.71,-321.658 1633.91,-327.562 1639.51,-331.76"/>
 </g>
 <!-- Node11 -->
 <g id="node11" class="node"><title>Node11</title>
 <g id="a_node11"><a xlink:href="object_8h.html" target="_top" xlink:title="A managed object in the TVM runtime. ">
-<polygon fill="white" stroke="red" points="2445.5,-67.5 2445.5,-86.5 2562.5,-86.5 2562.5,-67.5 2445.5,-67.5"/>
-<text text-anchor="middle" x="2504" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/object.h</text>
+<polygon fill="white" stroke="red" points="972.5,-67.5 972.5,-86.5 1089.5,-86.5 1089.5,-67.5 972.5,-67.5"/>
+<text text-anchor="middle" x="1031" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/object.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node11 -->
-<g id="edge81" class="edge"><title>Node4&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M2623.52,-530.027C2699.63,-517.815 2862,-478.887 2862,-369 2862,-369 2862,-369 2862,-249.5 2862,-173.218 2813.17,-159.15 2746,-123 2730.61,-114.717 2636.05,-98.6424 2569.8,-88.1178"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2570.26,-84.647 2559.84,-86.5427 2569.17,-91.5612 2570.26,-84.647"/>
+<g id="edge80" class="edge"><title>Node4&#45;&gt;Node11</title>
+<path fill="none" stroke="midnightblue" d="M1261.46,-529.693C1206.98,-519.776 1114,-492.904 1114,-425 1114,-425 1114,-425 1114,-249.5 1114,-216.93 1115.28,-203.653 1094,-179 1068.52,-149.487 1035.17,-175.742 1014,-143 1004.63,-128.515 1011.76,-109.076 1019.45,-95.2395"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1022.45,-97.0446 1024.67,-86.685 1016.47,-93.3991 1022.45,-97.0446"/>
 </g>
 <!-- Node4&#45;&gt;Node13 -->
-<g id="edge84" class="edge"><title>Node4&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M2546.23,-534.401C2314.27,-530.749 1119.18,-510.942 1088,-490 1013.92,-440.245 986.757,-187.416 925,-123 866.507,-61.9893 766.904,-33.5689 716.005,-22.4769"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="716.713,-19.0493 706.208,-20.4261 715.279,-25.9008 716.713,-19.0493"/>
+<g id="edge83" class="edge"><title>Node4&#45;&gt;Node13</title>
+<path fill="none" stroke="midnightblue" d="M1338.7,-534.138C1559.97,-529.161 2656.21,-503.841 2688,-490 2709.54,-480.624 2986,-213.492 2986,-190 2986,-190 2986,-190 2986,-132 2986,-83.1978 3038.19,-47.5591 3071.95,-29.6129"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3073.61,-32.6934 3080.92,-25.024 3070.42,-26.4611 3073.61,-32.6934"/>
 </g>
 <!-- Node14 -->
 <g id="node14" class="node"><title>Node14</title>
-<polygon fill="white" stroke="#bfbfbf" points="2774,-6 2774,-25 2842,-25 2842,-6 2774,-6"/>
-<text text-anchor="middle" x="2808" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">type_traits</text>
+<polygon fill="white" stroke="#bfbfbf" points="558,-6 558,-25 626,-25 626,-6 558,-6"/>
+<text text-anchor="middle" x="592" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">type_traits</text>
 </g>
 <!-- Node4&#45;&gt;Node14 -->
-<g id="edge85" class="edge"><title>Node4&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M2623.58,-531.678C2687.09,-525.671 2810.38,-511.588 2848,-490 2880.6,-471.288 3036.78,-306.816 3073,-199 3093.04,-139.339 3029.97,-89.2374 2999,-67 2955.34,-35.6493 2893.55,-23.7575 2852.2,-19.2491"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2852.44,-15.7564 2842.15,-18.2546 2851.75,-22.7224 2852.44,-15.7564"/>
+<g id="edge84" class="edge"><title>Node4&#45;&gt;Node14</title>
+<path fill="none" stroke="midnightblue" d="M1261.41,-533.089C1187.8,-528.94 1022.49,-517.204 886,-490 554.412,-423.91 330.345,-458.585 209,-143 178.806,-64.4736 318.135,-94.5258 340,-87 361.853,-79.4784 366.053,-74.2421 388,-67 442.255,-49.0969 506.463,-34.2011 548.149,-25.3321"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="548.917,-28.7471 557.982,-23.2629 547.476,-21.8971 548.917,-28.7471"/>
 </g>
 <!-- Node16 -->
 <g id="node16" class="node"><title>Node16</title>
-<polygon fill="white" stroke="#bfbfbf" points="2874,-123.5 2874,-142.5 2936,-142.5 2936,-123.5 2874,-123.5"/>
-<text text-anchor="middle" x="2905" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
+<polygon fill="white" stroke="#bfbfbf" points="218,-123.5 218,-142.5 280,-142.5 280,-123.5 218,-123.5"/>
+<text text-anchor="middle" x="249" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
 </g>
 <!-- Node4&#45;&gt;Node16 -->
-<g id="edge82" class="edge"><title>Node4&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M2623.58,-535.938C2690.57,-535.135 2825.99,-522.142 2876,-434 2929.42,-339.844 2915.44,-201.942 2908.11,-152.493"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2911.56,-151.944 2906.55,-142.611 2904.65,-153.033 2911.56,-151.944"/>
+<g id="edge81" class="edge"><title>Node4&#45;&gt;Node16</title>
+<path fill="none" stroke="midnightblue" d="M1261.13,-531.732C1138.8,-520.078 753.575,-472.845 479,-322 389.522,-272.843 354.911,-273.398 285,-199 272.188,-185.366 262.339,-166.318 256.207,-152.366"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="259.327,-150.754 252.255,-142.865 252.864,-153.442 259.327,-150.754"/>
 </g>
-<!-- Node4&#45;&gt;Node22 -->
-<g id="edge83" class="edge"><title>Node4&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M2623.63,-531.505C2679.84,-525.863 2787.16,-512.988 2876,-490 2945.7,-471.965 2965.69,-470.065 3028,-434 3147.33,-364.929 3156.32,-318.55 3266,-235 3280.06,-224.292 3296.42,-212.973 3309.21,-204.365"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3311.43,-207.088 3317.8,-198.624 3307.54,-201.266 3311.43,-207.088"/>
+<!-- Node4&#45;&gt;Node23 -->
+<g id="edge82" class="edge"><title>Node4&#45;&gt;Node23</title>
+<path fill="none" stroke="midnightblue" d="M1261.5,-527.05C1221.1,-518.544 1155.85,-504.33 1100,-490 839.22,-423.087 760.844,-438.235 518,-322 457.275,-292.935 450.867,-271.034 394,-235 376.334,-223.806 355.792,-212.144 340.083,-203.498"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="341.45,-200.257 330.996,-198.536 338.095,-206.4 341.45,-200.257"/>
 </g>
-<!-- Node27 -->
-<g id="node27" class="node"><title>Node27</title>
-<g id="a_node27"><a xlink:href="ir_2type_8h.html" target="_top" xlink:title="IR/AST nodes for the unified type system in TVM. ">
-<polygon fill="white" stroke="black" points="2217.5,-470.5 2217.5,-489.5 2294.5,-489.5 2294.5,-470.5 2217.5,-470.5"/>
-<text text-anchor="middle" x="2256" y="-477.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/type.h</text>
+<!-- Node25 -->
+<g id="node25" class="node"><title>Node25</title>
+<g id="a_node25"><a xlink:href="ir_2type_8h.html" target="_top" xlink:title="IR/AST nodes for the unified type system in TVM. ">
+<polygon fill="white" stroke="black" points="1341.5,-470.5 1341.5,-489.5 1418.5,-489.5 1418.5,-470.5 1341.5,-470.5"/>
+<text text-anchor="middle" x="1380" y="-477.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/type.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node27 -->
-<g id="edge72" class="edge"><title>Node4&#45;&gt;Node27</title>
-<path fill="none" stroke="midnightblue" d="M2546.14,-528.746C2492.69,-520.128 2393.53,-504.067 2309,-490 2307.71,-489.785 2306.39,-489.566 2305.07,-489.344"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2305.22,-485.821 2294.78,-487.616 2304.06,-492.725 2305.22,-485.821"/>
+<!-- Node4&#45;&gt;Node25 -->
+<g id="edge71" class="edge"><title>Node4&#45;&gt;Node25</title>
+<path fill="none" stroke="midnightblue" d="M1312.85,-526.324C1325.22,-517.979 1344.13,-505.212 1358.74,-495.352"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1360.85,-498.15 1367.18,-489.655 1356.93,-492.348 1360.85,-498.15"/>
 </g>
 <!-- Node5&#45;&gt;Node6 -->
 <g id="edge5" class="edge"><title>Node5&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M2216.87,-414.444C2258.48,-405.043 2325.37,-389.929 2370.47,-379.739"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2371.32,-383.134 2380.31,-377.516 2369.78,-376.306 2371.32,-383.134"/>
+<path fill="none" stroke="midnightblue" d="M1459.57,-414.444C1423.14,-405.122 1364.77,-390.183 1324.97,-379.997"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1325.83,-376.605 1315.28,-377.516 1324.1,-383.387 1325.83,-376.605"/>
 </g>
 <!-- Node5&#45;&gt;Node11 -->
-<g id="edge70" class="edge"><title>Node5&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M2189.56,-414.407C2229.09,-381.892 2370.93,-262.176 2465,-143 2476.7,-128.183 2487.53,-109.564 2494.79,-96.0552"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2498.07,-97.3505 2499.61,-86.8686 2491.87,-94.1005 2498.07,-97.3505"/>
+<g id="edge69" class="edge"><title>Node5&#45;&gt;Node11</title>
+<path fill="none" stroke="midnightblue" d="M1491.34,-414.315C1486.56,-391.816 1470.56,-331.353 1432,-302 1367.08,-252.586 1323.82,-304.704 1252,-266 1204.14,-240.207 1212.89,-206.517 1166,-179 1114.29,-148.658 1074.1,-189.287 1036,-143 1025.56,-130.313 1025.35,-111.11 1027.13,-96.8619"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1030.63,-97.1571 1028.82,-86.7172 1023.72,-96.004 1030.63,-97.1571"/>
 </g>
 <!-- Node5&#45;&gt;Node13 -->
-<g id="edge71" class="edge"><title>Node5&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M2138.68,-415.477C2041.18,-396.625 1785.72,-343.272 1583,-266 1400.8,-196.548 1379.13,-121.81 1192,-67 1101.92,-40.6158 813.145,-23.3209 716.133,-18.1362"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="716.222,-14.6362 706.051,-17.6044 715.853,-21.6265 716.222,-14.6362"/>
+<g id="edge70" class="edge"><title>Node5&#45;&gt;Node13</title>
+<path fill="none" stroke="midnightblue" d="M1533.41,-414.412C1658.02,-386.932 2045.42,-294.014 2335,-143 2385.13,-116.859 2384.05,-86.8195 2437,-67 2554.68,-22.9477 2951.68,-17.299 3067.83,-16.5947"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3067.89,-20.0946 3077.87,-16.5422 3067.85,-13.0947 3067.89,-20.0946"/>
 </g>
 <!-- Node6&#45;&gt;Node7 -->
 <g id="edge6" class="edge"><title>Node6&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M2368.83,-359.869C2364.16,-359.223 2359.49,-358.591 2355,-358 2249.1,-344.067 2126.11,-329.597 2050.93,-320.945"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2050.98,-317.428 2040.64,-319.764 2050.18,-324.382 2050.98,-317.428"/>
+<path fill="none" stroke="midnightblue" d="M1331.11,-359.773C1395.47,-350.304 1508.65,-333.651 1581.16,-322.982"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1581.73,-326.436 1591.11,-321.518 1580.71,-319.511 1581.73,-326.436"/>
 </g>
 <!-- Node8 -->
 <g id="node8" class="node"><title>Node8</title>
 <g id="a_node8"><a xlink:href="runtime_2container_8h.html" target="_top" xlink:title="Common POD(plain old data) container types. ">
-<polygon fill="white" stroke="red" points="2092,-179.5 2092,-198.5 2224,-198.5 2224,-179.5 2092,-179.5"/>
-<text text-anchor="middle" x="2158" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/container.h</text>
+<polygon fill="white" stroke="red" points="1838,-179.5 1838,-198.5 1970,-198.5 1970,-179.5 1838,-179.5"/>
+<text text-anchor="middle" x="1904" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/container.h</text>
 </a>
 </g>
 </g>
 <!-- Node6&#45;&gt;Node8 -->
-<g id="edge63" class="edge"><title>Node6&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M2368.85,-359.173C2344.11,-352.915 2315.35,-341.762 2296,-322 2267.39,-292.772 2294,-264.814 2266,-235 2250.88,-218.904 2229.13,-208.363 2209.1,-201.563"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2210.03,-198.187 2199.45,-198.517 2207.93,-204.863 2210.03,-198.187"/>
+<g id="edge62" class="edge"><title>Node6&#45;&gt;Node8</title>
+<path fill="none" stroke="midnightblue" d="M1290.41,-358.286C1304.61,-344.135 1334.83,-316.303 1366,-302 1438.57,-268.704 1468.7,-297.662 1542,-266 1563.96,-256.514 1563.76,-243.81 1586,-235 1628.69,-218.088 1748.08,-204.311 1827.81,-196.635"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1828.18,-200.115 1837.81,-195.684 1827.52,-193.146 1828.18,-200.115"/>
 </g>
 <!-- Node10 -->
 <g id="node10" class="node"><title>Node10</title>
 <g id="a_node10"><a xlink:href="runtime_2memory_8h.html" target="_top" xlink:title="Runtime memory management. ">
-<polygon fill="white" stroke="red" points="2272.5,-123.5 2272.5,-142.5 2399.5,-142.5 2399.5,-123.5 2272.5,-123.5"/>
-<text text-anchor="middle" x="2336" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/memory.h</text>
+<polygon fill="white" stroke="red" points="1154.5,-123.5 1154.5,-142.5 1281.5,-142.5 1281.5,-123.5 1154.5,-123.5"/>
+<text text-anchor="middle" x="1218" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/memory.h</text>
 </a>
 </g>
 </g>
 <!-- Node6&#45;&gt;Node10 -->
-<g id="edge64" class="edge"><title>Node6&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M2381.3,-358.349C2362.17,-351.775 2340.43,-340.583 2329,-322 2295.82,-268.043 2316.93,-187.943 2329.11,-152.277"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2332.46,-153.307 2332.54,-142.713 2325.87,-150.947 2332.46,-153.307"/>
+<g id="edge63" class="edge"><title>Node6&#45;&gt;Node10</title>
+<path fill="none" stroke="midnightblue" d="M1232.89,-361.33C1128.53,-349.279 894.175,-322.197 894,-322 859.86,-283.671 778.48,-311.481 939,-179 969.476,-153.847 1072.06,-142.532 1143.94,-137.598"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1144.56,-141.065 1154.31,-136.916 1144.1,-134.08 1144.56,-141.065"/>
 </g>
 <!-- Node6&#45;&gt;Node11 -->
-<g id="edge65" class="edge"><title>Node6&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M2467.19,-362.667C2519.4,-356.929 2596.85,-344.767 2615,-322 2674.95,-246.809 2565.8,-134.027 2521.48,-93.3299"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2523.78,-90.6943 2514.01,-86.5951 2519.09,-95.8921 2523.78,-90.6943"/>
+<g id="edge64" class="edge"><title>Node6&#45;&gt;Node11</title>
+<path fill="none" stroke="midnightblue" d="M1232.91,-361.258C1223.33,-360.159 1213.35,-359.03 1204,-358 1127.82,-349.607 919.28,-371.773 861,-322 792.399,-263.413 833.402,-182.741 901,-123 919.791,-106.393 945.037,-95.8388 968.282,-89.1658"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="969.343,-92.5051 978.097,-86.5372 967.532,-85.7434 969.343,-92.5051"/>
 </g>
 <!-- Node12 -->
 <g id="node12" class="node"><title>Node12</title>
 <g id="a_node12"><a xlink:href="c__runtime__api_8h.html" target="_top" xlink:title="tvm/runtime/c_runtime\l_api.h">
-<polygon fill="white" stroke="red" points="3166.5,-0.5 3166.5,-30.5 3293.5,-30.5 3293.5,-0.5 3166.5,-0.5"/>
-<text text-anchor="start" x="3174.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/c_runtime</text>
-<text text-anchor="middle" x="3230" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_api.h</text>
+<polygon fill="white" stroke="red" points="186.5,-0.5 186.5,-30.5 313.5,-30.5 313.5,-0.5 186.5,-0.5"/>
+<text text-anchor="start" x="194.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/c_runtime</text>
+<text text-anchor="middle" x="250" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_api.h</text>
 </a>
 </g>
 </g>
 <!-- Node6&#45;&gt;Node12 -->
-<g id="edge62" class="edge"><title>Node6&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M2467.08,-363.553C2583.9,-353.586 2884.88,-317.419 3102,-199 3162.44,-166.036 3177.35,-148.135 3209,-87 3216.58,-72.3593 3221.86,-54.5569 3225.22,-40.5045"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3228.67,-41.1263 3227.43,-30.604 3221.84,-39.6014 3228.67,-41.1263"/>
+<g id="edge61" class="edge"><title>Node6&#45;&gt;Node12</title>
+<path fill="none" stroke="midnightblue" d="M1232.93,-363.142C1107.06,-353.2 780.976,-327.122 758,-322 687.73,-306.336 670.214,-298.555 606,-266 471.218,-197.669 329.499,-83.603 274.141,-37.1406"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="276.212,-34.308 266.311,-30.535 271.698,-39.6584 276.212,-34.308"/>
 </g>
 <!-- Node6&#45;&gt;Node13 -->
-<g id="edge66" class="edge"><title>Node6&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M2368.75,-361.082C2316.23,-354.16 2230.88,-341.153 2159,-322 2133.87,-315.303 2129.27,-308.181 2104,-302 1985.12,-272.916 1949.83,-295.289 1831,-266 1607.1,-210.811 1555.68,-178.484 1344,-87 1325.75,-79.1148 1323.14,-72.3487 1304,-67 1191.64,-35.6053 827.322,-21.2326 716.367,-17.5118"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="716.254,-14.0062 706.144,-17.1752 716.024,-21.0024 716.254,-14.0062"/>
+<g id="edge65" class="edge"><title>Node6&#45;&gt;Node13</title>
+<path fill="none" stroke="midnightblue" d="M1305.33,-358.436C1342.25,-345.102 1416.55,-319.134 1481,-302 1699.43,-243.932 1764.19,-269.282 1979,-199 2113.21,-155.09 2130.99,-101.187 2268,-67 2423.67,-28.1554 2933.9,-18.715 3067.66,-16.8841"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3067.73,-20.3835 3077.68,-16.7516 3067.64,-13.3842 3067.73,-20.3835"/>
 </g>
 <!-- Node6&#45;&gt;Node14 -->
-<g id="edge67" class="edge"><title>Node6&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M2467.05,-361.577C2522.57,-354.63 2608.73,-341.154 2635,-322 2738.69,-246.401 2788.83,-88.5371 2803.38,-34.8383"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2806.8,-35.5882 2805.95,-25.0277 2800.03,-33.8145 2806.8,-35.5882"/>
+<g id="edge66" class="edge"><title>Node6&#45;&gt;Node14</title>
+<path fill="none" stroke="midnightblue" d="M1232.69,-362.651C1125.27,-353.082 876.683,-330.385 839,-322 765.458,-305.635 746.469,-299.528 679,-266 630.76,-242.028 603.472,-246.465 578,-199 549.12,-145.184 571.496,-69.3066 584.443,-34.8283"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="587.839,-35.7565 588.239,-25.1692 581.324,-33.1965 587.839,-35.7565"/>
 </g>
 <!-- Node15 -->
 <g id="node15" class="node"><title>Node15</title>
-<polygon fill="white" stroke="#bfbfbf" points="1613,-6 1613,-25 1655,-25 1655,-6 1613,-6"/>
-<text text-anchor="middle" x="1634" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
+<polygon fill="white" stroke="#bfbfbf" points="1669,-6 1669,-25 1711,-25 1711,-6 1669,-6"/>
+<text text-anchor="middle" x="1690" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
 </g>
 <!-- Node6&#45;&gt;Node15 -->
-<g id="edge68" class="edge"><title>Node6&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M2387.9,-358.474C2339.83,-345.077 2242.61,-318.886 2159,-302 1988.32,-267.532 1918.12,-306.323 1781,-199 1718.33,-149.949 1665.61,-69.3057 1644.22,-33.9875"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1647.16,-32.0891 1639.04,-25.2918 1641.15,-35.6735 1647.16,-32.0891"/>
+<g id="edge67" class="edge"><title>Node6&#45;&gt;Node15</title>
+<path fill="none" stroke="midnightblue" d="M1286.88,-358.343C1309.73,-318.584 1410.49,-151.804 1539,-67 1576.31,-42.3777 1626.74,-28.7113 1658.83,-21.9846"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1659.84,-25.3522 1668.96,-19.9636 1658.47,-18.4874 1659.84,-25.3522"/>
 </g>
 <!-- Node6&#45;&gt;Node19 -->
-<g id="edge69" class="edge"><title>Node6&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M2368.77,-360.559C2311.43,-352.761 2213.96,-338.591 2131,-322 2094.22,-314.644 2086.07,-307.776 2049,-302 1822.73,-266.742 1762.19,-294.773 1535,-266 1371.81,-245.332 1332.02,-232.624 1171,-199 1082.3,-180.478 978.516,-155.263 926.424,-142.359"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="927.264,-138.961 916.715,-139.948 925.577,-145.755 927.264,-138.961"/>
-</g>
-<!-- Node23 -->
-<g id="node23" class="node"><title>Node23</title>
-<g id="a_node23"><a xlink:href="reflection_8h.html" target="_top" xlink:title="Reflection and serialization of compiler IR/AST nodes. ">
-<polygon fill="white" stroke="red" points="2338.5,-302.5 2338.5,-321.5 2457.5,-321.5 2457.5,-302.5 2338.5,-302.5"/>
-<text text-anchor="middle" x="2398" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/reflection.h</text>
-</a>
-</g>
-</g>
-<!-- Node6&#45;&gt;Node23 -->
-<g id="edge45" class="edge"><title>Node6&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M2414.7,-358.083C2412.02,-350.849 2408.15,-340.409 2404.81,-331.397"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2408,-329.913 2401.24,-321.751 2401.43,-332.344 2408,-329.913"/>
+<g id="edge68" class="edge"><title>Node6&#45;&gt;Node19</title>
+<path fill="none" stroke="midnightblue" d="M1318.1,-358.413C1374.01,-345.274 1485.02,-319.833 1580,-302 1868.76,-247.781 1942.79,-244.837 2233,-199 2373.16,-176.863 2540.19,-150.431 2610.35,-139.327"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2611.04,-142.761 2620.37,-137.74 2609.95,-135.847 2611.04,-142.761"/>
 </g>
 <!-- Node24 -->
 <g id="node24" class="node"><title>Node24</title>
-<g id="a_node24"><a xlink:href="repr__printer_8h.html" target="_top" xlink:title="Printer class to print repr string of each AST/IR nodes. ">
-<polygon fill="white" stroke="black" points="2476,-302.5 2476,-321.5 2606,-321.5 2606,-302.5 2476,-302.5"/>
-<text text-anchor="middle" x="2541" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/repr_printer.h</text>
+<g id="a_node24"><a xlink:href="reflection_8h.html" target="_top" xlink:title="Reflection and serialization of compiler IR/AST nodes. ">
+<polygon fill="white" stroke="red" points="903.5,-302.5 903.5,-321.5 1022.5,-321.5 1022.5,-302.5 903.5,-302.5"/>
+<text text-anchor="middle" x="963" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/reflection.h</text>
 </a>
 </g>
 </g>
 <!-- Node6&#45;&gt;Node24 -->
-<g id="edge54" class="edge"><title>Node6&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M2437.49,-358.444C2457.64,-349.596 2489.32,-335.687 2512.33,-325.586"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2513.85,-328.741 2521.6,-321.516 2511.04,-322.332 2513.85,-328.741"/>
+<g id="edge51" class="edge"><title>Node6&#45;&gt;Node24</title>
+<path fill="none" stroke="midnightblue" d="M1232.86,-358.681C1176.52,-349.144 1084.15,-333.509 1023.46,-323.234"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1023.7,-319.725 1013.25,-321.507 1022.53,-326.627 1023.7,-319.725"/>
 </g>
 <!-- Node7&#45;&gt;Node8 -->
 <g id="edge7" class="edge"><title>Node7&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M1978.78,-302.298C1975.38,-286.814 1970.87,-254.296 1987,-235 2000.09,-219.332 2045.76,-207.796 2086.6,-200.329"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2087.35,-203.751 2096.59,-198.564 2086.13,-196.858 2087.35,-203.751"/>
+<path fill="none" stroke="midnightblue" d="M1666.93,-302.492C1710.9,-281.627 1824.3,-227.819 1876.7,-202.953"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1878.21,-206.11 1885.75,-198.661 1875.21,-199.786 1878.21,-206.11"/>
 </g>
 <!-- Node7&#45;&gt;Node10 -->
 <g id="edge25" class="edge"><title>Node7&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M2016.48,-302.458C2044.82,-294.907 2085.12,-282.521 2118,-266 2139.38,-255.261 2140.71,-245.909 2162,-235 2205.53,-212.695 2224.07,-224.182 2266,-199 2287.87,-185.867 2308.73,-165.051 2321.9,-150.525"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2324.72,-152.618 2328.71,-142.805 2319.47,-147.986 2324.72,-152.618"/>
+<path fill="none" stroke="midnightblue" d="M1589.42,-303.6C1529.42,-295.466 1441.52,-281.481 1411,-266 1360.52,-240.393 1365.11,-210.371 1318,-179 1297.57,-165.398 1272.36,-154.084 1252.37,-146.204"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1253.6,-142.929 1243.01,-142.615 1251.09,-149.465 1253.6,-142.929"/>
 </g>
 <!-- Node7&#45;&gt;Node11 -->
 <g id="edge26" class="edge"><title>Node7&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M2020.65,-302.432C2056.03,-294.374 2109.05,-281.286 2154,-266 2172.05,-259.861 2294.5,-206.569 2312,-199 2368.62,-174.513 2388.1,-177.849 2439,-143 2459.07,-129.262 2478.27,-108.85 2490.53,-94.576"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2493.48,-96.5099 2497.22,-86.596 2488.11,-92.0155 2493.48,-96.5099"/>
+<path fill="none" stroke="midnightblue" d="M1589.4,-303.376C1513.08,-293.311 1388.32,-275.733 1369,-266 1319.6,-241.112 1328.89,-204.876 1280,-179 1208.66,-141.243 1173.95,-179.585 1102,-143 1078.84,-131.222 1057.62,-109.773 1044.53,-94.7459"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1046.93,-92.1574 1037.81,-86.7617 1041.57,-96.6657 1046.93,-92.1574"/>
 </g>
 <!-- Node7&#45;&gt;Node13 -->
-<g id="edge43" class="edge"><title>Node7&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M1921.36,-309.052C1854.02,-305.453 1741.89,-295.2 1650,-266 1604.39,-251.506 1313.95,-80.3758 1268,-67 1163.02,-36.4426 822.847,-21.6045 716.25,-17.6254"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="716.235,-14.1226 706.113,-17.2537 715.978,-21.1179 716.235,-14.1226"/>
+<g id="edge49" class="edge"><title>Node7&#45;&gt;Node13</title>
+<path fill="none" stroke="midnightblue" d="M1700.06,-302.474C1783.35,-287.581 1952.73,-253.154 2088,-199 2199.21,-154.478 2208.15,-101.065 2323,-67 2465.77,-24.6524 2938.34,-17.7914 3067.26,-16.7016"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3067.67,-20.1986 3077.64,-16.6203 3067.61,-13.1988 3067.67,-20.1986"/>
 </g>
 <!-- Node7&#45;&gt;Node15 -->
-<g id="edge44" class="edge"><title>Node7&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M1921.32,-306.851C1855.75,-301.207 1755.76,-289.057 1726,-266 1651.15,-208.014 1637.18,-82.8047 1634.59,-35.2976"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1638.08,-35.0512 1634.15,-25.2124 1631.09,-35.3548 1638.08,-35.0512"/>
+<g id="edge50" class="edge"><title>Node7&#45;&gt;Node15</title>
+<path fill="none" stroke="midnightblue" d="M1642.94,-302.242C1630.74,-284.039 1603.61,-240.357 1594,-199 1589.63,-180.2 1596.65,-132.137 1600,-123 1614.11,-84.5076 1648.95,-50.3333 1670.9,-31.6111"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1673.15,-34.2919 1678.62,-25.2154 1668.69,-28.9027 1673.15,-34.2919"/>
 </g>
 <!-- Node7&#45;&gt;Node16 -->
-<g id="edge42" class="edge"><title>Node7&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M2025.57,-302.463C2183.09,-272.288 2712.28,-170.917 2864.02,-141.851"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2864.71,-145.282 2873.87,-139.964 2863.39,-138.407 2864.71,-145.282"/>
+<g id="edge48" class="edge"><title>Node7&#45;&gt;Node16</title>
+<path fill="none" stroke="midnightblue" d="M1589.29,-303.451C1353.43,-273.632 489.763,-164.439 290.299,-139.221"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="290.598,-135.731 280.238,-137.949 289.72,-142.676 290.598,-135.731"/>
 </g>
 <!-- Node20 -->
 <g id="node20" class="node"><title>Node20</title>
 <g id="a_node20"><a xlink:href="packed__func_8h.html" target="_top" xlink:title="Type&#45;erased function used across TVM API. ">
-<polygon fill="white" stroke="red" points="1996.5,-235.5 1996.5,-265.5 2109.5,-265.5 2109.5,-235.5 1996.5,-235.5"/>
-<text text-anchor="start" x="2004.5" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/packed</text>
-<text text-anchor="middle" x="2053" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">_func.h</text>
+<polygon fill="white" stroke="red" points="1420.5,-235.5 1420.5,-265.5 1533.5,-265.5 1533.5,-235.5 1420.5,-235.5"/>
+<text text-anchor="start" x="1428.5" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/packed</text>
+<text text-anchor="middle" x="1477" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">_func.h</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node20 -->
 <g id="edge27" class="edge"><title>Node7&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M1991.32,-302.475C2000.88,-294.567 2015.51,-282.485 2028.11,-272.067"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2030.55,-274.591 2036.03,-265.523 2026.09,-269.195 2030.55,-274.591"/>
+<path fill="none" stroke="midnightblue" d="M1624.36,-302.475C1599.1,-293.739 1559.12,-279.907 1527.17,-268.855"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1528.13,-265.485 1517.54,-265.523 1525.84,-272.1 1528.13,-265.485"/>
 </g>
 <!-- Node9 -->
 <g id="node9" class="node"><title>Node9</title>
-<polygon fill="white" stroke="#bfbfbf" points="1902,-123.5 1902,-142.5 1988,-142.5 1988,-123.5 1902,-123.5"/>
-<text text-anchor="middle" x="1945" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/logging.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1718,-123.5 1718,-142.5 1804,-142.5 1804,-123.5 1718,-123.5"/>
+<text text-anchor="middle" x="1761" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/logging.h</text>
 </g>
 <!-- Node8&#45;&gt;Node9 -->
 <g id="edge8" class="edge"><title>Node8&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M2124.25,-179.444C2087.48,-170.122 2028.55,-155.183 1988.38,-144.997"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1989.15,-141.581 1978.59,-142.516 1987.43,-148.367 1989.15,-141.581"/>
+<path fill="none" stroke="midnightblue" d="M1881.34,-179.444C1857.6,-170.478 1820.09,-156.314 1793.26,-146.183"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1794.14,-142.775 1783.55,-142.516 1791.67,-149.324 1794.14,-142.775"/>
 </g>
 <!-- Node8&#45;&gt;Node10 -->
 <g id="edge9" class="edge"><title>Node8&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M2186.2,-179.444C2216.41,-170.28 2264.51,-155.688 2298.03,-145.519"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2299.37,-148.769 2307.93,-142.516 2297.34,-142.07 2299.37,-148.769"/>
+<path fill="none" stroke="midnightblue" d="M1837.91,-182.798C1709.29,-172.673 1426.19,-150.388 1291.71,-139.802"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1291.75,-136.295 1281.51,-138.999 1291.2,-143.273 1291.75,-136.295"/>
 </g>
 <!-- Node8&#45;&gt;Node11 -->
 <g id="edge17" class="edge"><title>Node8&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M2168.92,-179.308C2187.23,-165.188 2225.81,-137.4 2263,-123 2318.77,-101.404 2385.92,-89.9587 2435.16,-84.0267"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2435.85,-87.4699 2445.38,-82.8429 2435.04,-80.5163 2435.85,-87.4699"/>
+<path fill="none" stroke="midnightblue" d="M1904.8,-179.168C1905.56,-164.846 1904.66,-136.775 1888,-123 1857.79,-98.0212 1298.01,-83.6986 1099.83,-79.3938"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1099.9,-75.8946 1089.82,-79.1783 1099.74,-82.8929 1099.9,-75.8946"/>
 </g>
 <!-- Node8&#45;&gt;Node13 -->
 <g id="edge20" class="edge"><title>Node8&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M2149.45,-179.041C2135.01,-164.538 2104.21,-136.211 2072,-123 1896.14,-50.8629 1837.28,-84.43 1648,-67 1283.11,-33.3984 838.294,-20.3559 716.269,-17.2654"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="716.198,-13.7627 706.114,-17.0125 716.024,-20.7605 716.198,-13.7627"/>
+<path fill="none" stroke="midnightblue" d="M1919.18,-179.409C1934.5,-170.617 1958.72,-156.385 1979,-143 2027.08,-111.262 2029.65,-86.1082 2084,-67 2178.56,-33.7516 2904.49,-19.7575 3067.55,-17.0163"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3067.95,-20.5104 3077.89,-16.8451 3067.83,-13.5113 3067.95,-20.5104"/>
 </g>
 <!-- Node8&#45;&gt;Node14 -->
 <g id="edge22" class="edge"><title>Node8&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M2157.41,-179.227C2156.43,-156.518 2157.31,-95.5894 2192,-67 2235.89,-30.8275 2629.56,-19.9329 2763.57,-17.2567"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2763.94,-20.7503 2773.87,-17.0571 2763.81,-13.7516 2763.94,-20.7503"/>
+<path fill="none" stroke="midnightblue" d="M1908.29,-179.121C1914.3,-165.24 1923.02,-138.397 1909,-123 1821.48,-26.896 856.495,-17.4841 636.475,-16.589"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="636.284,-13.0884 626.272,-16.5516 636.259,-20.0883 636.284,-13.0884"/>
 </g>
 <!-- Node8&#45;&gt;Node15 -->
 <g id="edge23" class="edge"><title>Node8&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M2154.53,-179.376C2144.81,-156.485 2114.93,-94.0951 2068,-67 1999.26,-27.3169 1752.88,-18.7663 1665.23,-16.967"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1665.18,-13.4655 1655.12,-16.7753 1665.05,-20.4642 1665.18,-13.4655"/>
+<path fill="none" stroke="midnightblue" d="M1921.5,-179.465C1934.79,-171.917 1952.08,-159.533 1960,-143 1974.6,-112.54 1981.58,-92.9875 1960,-67 1929.98,-30.843 1786.14,-20.4268 1721.54,-17.5477"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1721.29,-14.0348 1711.16,-17.1202 1721,-21.0289 1721.29,-14.0348"/>
 </g>
 <!-- Node8&#45;&gt;Node16 -->
 <g id="edge18" class="edge"><title>Node8&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M2224.29,-183.208C2375.22,-172.298 2740.87,-145.865 2863.86,-136.974"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2864.26,-140.454 2873.98,-136.242 2863.76,-133.472 2864.26,-140.454"/>
+<path fill="none" stroke="midnightblue" d="M1837.81,-183.659C1811.16,-182.022 1780.13,-180.253 1752,-179 1455.62,-165.792 500.754,-140.565 290.294,-135.073"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="290.366,-131.574 280.278,-134.812 290.183,-138.571 290.366,-131.574"/>
 </g>
 <!-- Node8&#45;&gt;Node17 -->
 <g id="edge19" class="edge"><title>Node8&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M2138.51,-179.444C2118.36,-170.596 2086.68,-156.687 2063.67,-146.586"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2064.96,-143.332 2054.4,-142.516 2062.15,-149.741 2064.96,-143.332"/>
+<path fill="none" stroke="midnightblue" d="M1895.25,-179.083C1887.53,-171.22 1876.1,-159.569 1866.78,-150.081"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1869.09,-147.436 1859.59,-142.751 1864.1,-152.34 1869.09,-147.436"/>
 </g>
 <!-- Node8&#45;&gt;Node18 -->
 <g id="edge21" class="edge"><title>Node8&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M2224.01,-185.432C2461.2,-176.204 3267.96,-144.817 3489.38,-136.203"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3489.62,-139.696 3499.48,-135.81 3489.35,-132.701 3489.62,-139.696"/>
+<path fill="none" stroke="midnightblue" d="M1970.43,-185.414C2207.93,-176.167 3012.56,-144.841 3234.11,-136.215"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3234.36,-139.708 3244.22,-135.821 3234.09,-132.713 3234.36,-139.708"/>
 </g>
 <!-- Node8&#45;&gt;Node19 -->
 <g id="edge24" class="edge"><title>Node8&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M2091.77,-185.173C1861.09,-175.326 1097.7,-142.738 927.041,-135.453"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="927.029,-131.95 916.889,-135.02 926.731,-138.943 927.029,-131.95"/>
+<path fill="none" stroke="midnightblue" d="M1970.33,-180.311C1974.95,-179.845 1979.55,-179.402 1984,-179 2223.52,-157.372 2512.79,-141.018 2610.16,-135.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2610.49,-139.268 2620.29,-135.239 2610.12,-132.278 2610.49,-139.268"/>
 </g>
 <!-- Node10&#45;&gt;Node11 -->
 <g id="edge10" class="edge"><title>Node10&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M2362.62,-123.444C2391.01,-114.32 2436.14,-99.8133 2467.75,-89.6509"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2469.06,-92.9087 2477.5,-86.5164 2466.91,-86.2445 2469.06,-92.9087"/>
+<path fill="none" stroke="midnightblue" d="M1188.37,-123.444C1156.5,-114.241 1105.67,-99.5617 1070.44,-89.3879"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1071.07,-85.9282 1060.49,-86.5164 1069.13,-92.6534 1071.07,-85.9282"/>
 </g>
 <!-- Node10&#45;&gt;Node14 -->
 <g id="edge15" class="edge"><title>Node10&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M2345.97,-123.318C2363.07,-108.951 2399.7,-80.4827 2436,-67 2548.74,-25.1229 2692.23,-17.3785 2763.57,-16.3184"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2764.01,-19.8139 2773.97,-16.2043 2763.93,-12.8143 2764.01,-19.8139"/>
+<path fill="none" stroke="midnightblue" d="M1206.11,-123.446C1185.34,-109.002 1140.58,-80.0761 1098,-67 1012.14,-40.6333 743.106,-24.2773 636.32,-18.6755"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="636.372,-15.1736 626.205,-18.1517 636.01,-22.1642 636.372,-15.1736"/>
 </g>
 <!-- Node10&#45;&gt;Node15 -->
 <g id="edge16" class="edge"><title>Node10&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M2311.15,-123.477C2269.32,-109.475 2181.98,-81.6917 2106,-67 1942.12,-35.3114 1742.11,-22.1545 1665.71,-18.0413"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1665.53,-14.5269 1655.36,-17.4989 1665.16,-21.5173 1665.53,-14.5269"/>
+<path fill="none" stroke="midnightblue" d="M1225.16,-123.481C1237.8,-109.09 1265.62,-80.2433 1296,-67 1361.26,-38.5481 1577.56,-23.1403 1658.8,-18.244"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1659.12,-21.7311 1668.9,-17.6478 1658.71,-14.7432 1659.12,-21.7311"/>
 </g>
 <!-- Node11&#45;&gt;Node12 -->
 <g id="edge11" class="edge"><title>Node11&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M2562.8,-71.1813C2694.25,-60.4081 3011.69,-34.392 3156.17,-22.5509"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3156.59,-26.0284 3166.27,-21.7232 3156.02,-19.0518 3156.59,-26.0284"/>
+<path fill="none" stroke="midnightblue" d="M972.298,-71.5278C832.199,-60.8545 478.486,-33.9071 324.051,-22.1415"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="323.963,-18.6248 313.726,-21.3549 323.431,-25.6046 323.963,-18.6248"/>
 </g>
 <!-- Node11&#45;&gt;Node13 -->
 <g id="edge12" class="edge"><title>Node11&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M2445.25,-74.0794C2160.84,-64.7814 931.872,-24.6035 716.33,-17.5569"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="716.125,-14.0485 706.016,-17.2198 715.897,-21.0447 716.125,-14.0485"/>
+<path fill="none" stroke="midnightblue" d="M1089.65,-74.2386C1150.69,-72.4102 1249.04,-69.4764 1334,-67 2034.46,-46.582 2891.23,-22.3866 3067.42,-17.4183"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3067.68,-20.9122 3077.58,-17.1317 3067.49,-13.915 3067.68,-20.9122"/>
 </g>
 <!-- Node11&#45;&gt;Node14 -->
 <g id="edge13" class="edge"><title>Node11&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M2547.56,-67.4751C2605.17,-56.1986 2706.16,-36.4327 2764,-25.1124"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2764.79,-28.5241 2773.93,-23.1684 2763.44,-21.6544 2764.79,-28.5241"/>
+<path fill="none" stroke="midnightblue" d="M972.25,-68.0373C883.145,-55.9605 715.806,-33.2801 636.222,-22.4936"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="636.427,-18.9895 626.048,-21.1147 635.487,-25.9261 636.427,-18.9895"/>
 </g>
 <!-- Node11&#45;&gt;Node15 -->
 <g id="edge14" class="edge"><title>Node11&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M2445.23,-71.9804C2276.28,-60.4259 1793.21,-27.3887 1665.36,-18.6448"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1665.32,-15.1339 1655.1,-17.9433 1664.84,-22.1176 1665.32,-15.1339"/>
+<path fill="none" stroke="midnightblue" d="M1089.77,-70.6936C1225.2,-58.4658 1555.52,-28.6421 1658.68,-19.3274"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1659.12,-22.8024 1668.77,-18.4173 1658.49,-15.8308 1659.12,-22.8024"/>
 </g>
 <!-- Node20&#45;&gt;Node8 -->
 <g id="edge30" class="edge"><title>Node20&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M2077.88,-235.399C2094.71,-225.862 2116.84,-213.325 2133.57,-203.842"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2135.75,-206.633 2142.72,-198.658 2132.3,-200.543 2135.75,-206.633"/>
+<path fill="none" stroke="midnightblue" d="M1533.51,-237.557C1538.4,-236.646 1543.28,-235.779 1548,-235 1600.16,-226.39 1739.61,-209.42 1827.7,-198.957"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1828.13,-202.431 1837.65,-197.777 1827.31,-195.479 1828.13,-202.431"/>
 </g>
 <!-- Node20&#45;&gt;Node9 -->
 <g id="edge28" class="edge"><title>Node20&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M2039.76,-235.337C2019.59,-213.77 1981.29,-172.813 1960.08,-150.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1962.49,-147.583 1953.11,-142.669 1957.38,-152.364 1962.49,-147.583"/>
+<path fill="none" stroke="midnightblue" d="M1533.55,-237.808C1538.44,-236.842 1543.3,-235.894 1548,-235 1593.22,-226.394 1720.06,-232.149 1752,-199 1763.48,-187.089 1764.83,-167.782 1763.85,-153.298"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1767.29,-152.509 1762.72,-142.951 1760.33,-153.273 1767.29,-152.509"/>
 </g>
 <!-- Node20&#45;&gt;Node11 -->
-<g id="edge35" class="edge"><title>Node20&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M2109.7,-239.553C2182.03,-225.315 2309.54,-194.938 2408,-143 2436.12,-128.164 2466.1,-106.885 2484.93,-92.7655"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2487.13,-95.4841 2492.98,-86.6496 2482.9,-89.9088 2487.13,-95.4841"/>
+<g id="edge41" class="edge"><title>Node20&#45;&gt;Node11</title>
+<path fill="none" stroke="midnightblue" d="M1450.12,-235.462C1419.04,-219.74 1366,-194.444 1318,-179 1243.24,-154.948 1218.45,-170.79 1145,-143 1110.32,-129.88 1073.66,-107.171 1051.55,-92.3677"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1053.26,-89.292 1043.02,-86.5586 1049.32,-95.0788 1053.26,-89.292"/>
 </g>
 <!-- Node20&#45;&gt;Node12 -->
 <g id="edge29" class="edge"><title>Node20&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M2109.6,-238.526C2162.08,-228.337 2242.33,-212.718 2312,-199 2626.16,-137.145 3000.58,-62.3862 3156.36,-31.2357"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3157.18,-34.6406 3166.3,-29.2475 3155.81,-27.7765 3157.18,-34.6406"/>
+<path fill="none" stroke="midnightblue" d="M1420.41,-247.671C1310.61,-243.515 1061.23,-231.103 854,-199 744.476,-182.033 717.797,-172.629 611,-143 533.532,-121.508 514.901,-113.499 439,-87 389.982,-69.8867 334.353,-48.951 296.209,-34.3592"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="297.01,-30.9178 286.42,-30.6066 294.504,-37.454 297.01,-30.9178"/>
 </g>
 <!-- Node20&#45;&gt;Node13 -->
-<g id="edge38" class="edge"><title>Node20&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M1996.33,-245.27C1940.08,-239.634 1852.21,-226.904 1781,-199 1678.71,-158.919 1676.63,-100.522 1572,-67 1408.08,-14.4805 856.198,-15.1363 716.399,-16.1815"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="716.297,-12.6821 706.326,-16.263 716.354,-19.6819 716.297,-12.6821"/>
+<g id="edge44" class="edge"><title>Node20&#45;&gt;Node13</title>
+<path fill="none" stroke="midnightblue" d="M1496.62,-235.402C1535.17,-208.49 1624.46,-150.07 1709,-123 1851.93,-77.234 1892.78,-83.0505 2042,-67 2445.24,-23.6255 2938.95,-17.5051 3067.95,-16.6417"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3067.98,-20.1417 3077.96,-16.5807 3067.94,-13.1419 3067.98,-20.1417"/>
 </g>
 <!-- Node20&#45;&gt;Node14 -->
-<g id="edge39" class="edge"><title>Node20&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M2107.44,-235.481C2158.64,-222.105 2228.17,-203.363 2233,-199 2259.96,-174.67 2237.65,-149 2263,-123 2307.49,-77.3719 2333.44,-83.4725 2395,-67 2526.13,-31.914 2687.28,-21.1269 2763.72,-17.8709"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2764.08,-21.3592 2773.93,-17.4597 2763.8,-14.3649 2764.08,-21.3592"/>
+<g id="edge45" class="edge"><title>Node20&#45;&gt;Node14</title>
+<path fill="none" stroke="midnightblue" d="M1459.36,-235.346C1427.23,-210.097 1356.37,-156.776 1290,-123 1224.72,-89.7798 1206.49,-82.9644 1135,-67 953.051,-26.3669 729.744,-18.3644 636.352,-16.835"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="636.193,-13.3324 626.142,-16.6855 636.09,-20.3317 636.193,-13.3324"/>
 </g>
 <!-- Node20&#45;&gt;Node15 -->
-<g id="edge40" class="edge"><title>Node20&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M1996.23,-243.238C1932.88,-235.343 1835.28,-220.195 1805,-199 1748.61,-159.532 1773.61,-114.712 1724,-67 1706.84,-50.5018 1683.26,-37.5276 1664.54,-28.8626"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1665.81,-25.5974 1655.25,-24.7283 1662.96,-31.9925 1665.81,-25.5974"/>
+<g id="edge46" class="edge"><title>Node20&#45;&gt;Node15</title>
+<path fill="none" stroke="midnightblue" d="M1479.21,-235.486C1485.41,-200.995 1506.34,-111.567 1562,-67 1590.61,-44.0942 1630.89,-30.5068 1658.59,-23.2949"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1659.66,-26.6336 1668.53,-20.8369 1657.99,-19.838 1659.66,-26.6336"/>
 </g>
 <!-- Node20&#45;&gt;Node17 -->
-<g id="edge37" class="edge"><title>Node20&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M2050.79,-235.337C2047.55,-214.527 2041.49,-175.663 2037.9,-152.583"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2041.35,-152.011 2036.35,-142.669 2034.43,-153.089 2041.35,-152.011"/>
+<g id="edge43" class="edge"><title>Node20&#45;&gt;Node17</title>
+<path fill="none" stroke="midnightblue" d="M1533.54,-237.73C1538.43,-236.78 1543.3,-235.858 1548,-235 1647.2,-216.908 1680.09,-240.476 1772,-199 1797.41,-187.535 1821.35,-165.699 1836.08,-150.516"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1838.96,-152.557 1843.26,-142.874 1833.86,-147.763 1838.96,-152.557"/>
 </g>
 <!-- Node20&#45;&gt;Node19 -->
-<g id="edge41" class="edge"><title>Node20&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M1996.27,-243.851C1791.06,-223.419 1090.93,-153.707 927.367,-137.422"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="927.253,-133.893 916.955,-136.385 926.559,-140.859 927.253,-133.893"/>
+<g id="edge47" class="edge"><title>Node20&#45;&gt;Node19</title>
+<path fill="none" stroke="midnightblue" d="M1533.84,-243.818C1626.9,-234.508 1817.57,-215.399 1979,-199 2065.68,-190.195 2087.3,-187.596 2174,-179 2337.21,-162.817 2532.41,-144.441 2609.89,-137.186"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2610.4,-140.654 2620.03,-136.238 2609.74,-133.685 2610.4,-140.654"/>
 </g>
 <!-- Node21 -->
 <g id="node21" class="node"><title>Node21</title>
 <g id="a_node21"><a xlink:href="data__type_8h.html" target="_top" xlink:title="tvm/runtime/data_type.h">
-<polygon fill="white" stroke="red" points="2928,-179.5 2928,-198.5 3064,-198.5 3064,-179.5 2928,-179.5"/>
-<text text-anchor="middle" x="2996" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/data_type.h</text>
+<polygon fill="white" stroke="red" points="620,-123.5 620,-142.5 756,-142.5 756,-123.5 620,-123.5"/>
+<text text-anchor="middle" x="688" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/data_type.h</text>
 </a>
 </g>
 </g>
 <!-- Node20&#45;&gt;Node21 -->
 <g id="edge31" class="edge"><title>Node20&#45;&gt;Node21</title>
-<path fill="none" stroke="midnightblue" d="M2109.51,-245.934C2270.58,-235.772 2732.22,-206.643 2917.58,-194.948"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2918.03,-198.426 2927.79,-194.304 2917.59,-191.44 2918.03,-198.426"/>
+<path fill="none" stroke="midnightblue" d="M1420.43,-246.732C1323.97,-241.416 1121.72,-227.667 953,-199 871.565,-185.163 778.117,-160.018 726.806,-145.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="727.698,-142.005 717.121,-142.611 725.768,-148.734 727.698,-142.005"/>
+</g>
+<!-- Node22 -->
+<g id="node22" class="node"><title>Node22</title>
+<g id="a_node22"><a xlink:href="ndarray_8h.html" target="_top" xlink:title="A device&#45;independent managed NDArray abstraction. ">
+<polygon fill="white" stroke="red" points="962.5,-179.5 962.5,-198.5 1085.5,-198.5 1085.5,-179.5 962.5,-179.5"/>
+<text text-anchor="middle" x="1024" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/ndarray.h</text>
+</a>
+</g>
 </g>
 <!-- Node20&#45;&gt;Node22 -->
-<g id="edge36" class="edge"><title>Node20&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M2109.56,-246.867C2330.31,-236.589 3129.99,-199.358 3299.35,-191.474"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3299.75,-194.959 3309.58,-190.997 3299.43,-187.966 3299.75,-194.959"/>
+<g id="edge35" class="edge"><title>Node20&#45;&gt;Node22</title>
+<path fill="none" stroke="midnightblue" d="M1420.09,-242.025C1337.83,-231.22 1185.75,-211.245 1095.86,-199.438"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1096.12,-195.943 1085.75,-198.11 1095.21,-202.883 1096.12,-195.943"/>
+</g>
+<!-- Node20&#45;&gt;Node23 -->
+<g id="edge42" class="edge"><title>Node20&#45;&gt;Node23</title>
+<path fill="none" stroke="midnightblue" d="M1420.17,-246.59C1213.27,-235.996 504.13,-199.684 346.3,-191.603"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="346.472,-188.107 336.306,-191.091 346.114,-195.098 346.472,-188.107"/>
 </g>
 <!-- Node21&#45;&gt;Node12 -->
 <g id="edge32" class="edge"><title>Node21&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M3007.6,-179.495C3043.17,-153.427 3151.35,-74.1407 3202.57,-36.6066"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3204.86,-39.2644 3210.86,-30.53 3200.72,-33.6185 3204.86,-39.2644"/>
+<path fill="none" stroke="midnightblue" d="M655.437,-123.413C583.057,-104.327 407.759,-58.1008 313.114,-33.1431"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="313.939,-29.7411 303.377,-30.5755 312.154,-36.5097 313.939,-29.7411"/>
 </g>
 <!-- Node21&#45;&gt;Node13 -->
 <g id="edge33" class="edge"><title>Node21&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M2991.82,-179.088C2984.53,-164.652 2968.06,-136.42 2945,-123 2799.73,-38.458 2738.43,-81.72 2571,-67 2379.29,-50.1451 950.681,-21.7039 716.447,-17.1293"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="716.272,-13.6254 706.206,-16.9297 716.136,-20.624 716.272,-13.6254"/>
+<path fill="none" stroke="midnightblue" d="M715.752,-123.403C764.971,-108.618 871.036,-78.8235 963,-67 1180.39,-39.0513 2816.36,-19.6808 3067.65,-16.8567"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3067.97,-20.3534 3077.93,-16.7417 3067.89,-13.3539 3067.97,-20.3534"/>
 </g>
 <!-- Node21&#45;&gt;Node14 -->
 <g id="edge34" class="edge"><title>Node21&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M2997.54,-179.421C3000.91,-157.692 3006.54,-99.8794 2978,-67 2946.78,-31.0357 2891.23,-20.0954 2852.14,-17.069"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2852.29,-13.5713 2842.09,-16.4351 2851.85,-20.5575 2852.29,-13.5713"/>
-</g>
-<!-- Node23&#45;&gt;Node10 -->
-<g id="edge48" class="edge"><title>Node23&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M2398.62,-302.442C2399.84,-280.616 2400.83,-221.593 2380,-179 2374.34,-167.427 2364.56,-156.969 2355.66,-149.053"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2357.78,-146.271 2347.87,-142.54 2353.29,-151.64 2357.78,-146.271"/>
-</g>
-<!-- Node23&#45;&gt;Node11 -->
-<g id="edge49" class="edge"><title>Node23&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M2405.34,-302.276C2429.59,-273.25 2506.24,-179.693 2518,-143 2523,-127.387 2518.15,-109.09 2512.83,-95.8941"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2515.93,-94.2493 2508.65,-86.553 2509.54,-97.1102 2515.93,-94.2493"/>
-</g>
-<!-- Node23&#45;&gt;Node12 -->
-<g id="edge46" class="edge"><title>Node23&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M2456.02,-302.473C2614.72,-279.004 3046,-214.188 3073,-199 3141.82,-160.288 3194.57,-79.3214 3217.49,-39.5492"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3220.67,-41.0271 3222.54,-30.5982 3214.58,-37.586 3220.67,-41.0271"/>
-</g>
-<!-- Node23&#45;&gt;Node13 -->
... 74334 lines suppressed ...