You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by tq...@apache.org on 2026/03/29 10:40:50 UTC

(tvm-site) branch asf-site updated: deploying docs (apache/tvm@4de1f11344608d2305891c7fc585bc4f089158eb)

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

tqchen pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/tvm-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 693200d01f4 deploying docs (apache/tvm@4de1f11344608d2305891c7fc585bc4f089158eb)
693200d01f4 is described below

commit 693200d01f45d21cb0822e1acd2c4e9dc7d56489
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Sun Mar 29 10:40:44 2026 +0000

    deploying docs (apache/tvm@4de1f11344608d2305891c7fc585bc4f089158eb)
---
 .../11c11e53c7dace51a8be968ee169ed0d/ir_module.zip |  Bin 23790 -> 23790 bytes
 .../tir_transformation.zip                         |  Bin 15899 -> 15899 bytes
 .../relax_creation.zip                             |  Bin 22420 -> 22420 bytes
 .../relax_transformation.zip                       |  Bin 11480 -> 11480 bytes
 .../optimize_llm.zip                               |  Bin 54112 -> 54112 bytes
 .../e2e_opt_model.zip                              |  Bin 14501 -> 14501 bytes
 .../quick_start.zip                                |  Bin 16252 -> 16252 bytes
 .../export_and_load_executable.zip                 |  Bin 31492 -> 31492 bytes
 .../tir_creation.zip                               |  Bin 24415 -> 24415 bytes
 .../cross_compilation_and_rpc.zip                  |  Bin 49383 -> 49383 bytes
 .../customize_opt.zip                              |  Bin 20544 -> 20544 bytes
 .../relax/tutorials/sg_execution_times.rst.txt     |    6 +-
 .../tensor_ir/tutorials/sg_execution_times.rst.txt |    6 +-
 .../tensor_ir/tutorials/tir_creation.rst.txt       |   20 +-
 .../tensor_ir/tutorials/tir_transformation.rst.txt |    6 +-
 .../get_started/tutorials/ir_module.rst.txt        |    8 +-
 .../get_started/tutorials/quick_start.rst.txt      |    4 +-
 .../tutorials/sg_execution_times.rst.txt           |    6 +-
 .../tutorials/cross_compilation_and_rpc.rst.txt    |    6 +-
 .../how_to/tutorials/customize_opt.rst.txt         |    4 +-
 .../how_to/tutorials/e2e_opt_model.rst.txt         |    2 +-
 .../how_to/tutorials/sg_execution_times.rst.txt    |   14 +-
 docs/_sources/sg_execution_times.rst.txt           |   26 +-
 docs/commit_hash                                   |    2 +-
 .../relax/tutorials/sg_execution_times.html        |    6 +-
 .../tensor_ir/tutorials/sg_execution_times.html    |    6 +-
 .../tensor_ir/tutorials/tir_creation.html          |   20 +-
 .../tensor_ir/tutorials/tir_transformation.html    |    6 +-
 docs/genindex.html                                 |   38 +-
 docs/get_started/tutorials/ir_module.html          |    8 +-
 docs/get_started/tutorials/quick_start.html        |    4 +-
 docs/get_started/tutorials/sg_execution_times.html |    6 +-
 .../tutorials/cross_compilation_and_rpc.html       |    6 +-
 docs/how_to/tutorials/customize_opt.html           |    4 +-
 docs/how_to/tutorials/e2e_opt_model.html           |    4 +-
 docs/how_to/tutorials/sg_execution_times.html      |   14 +-
 docs/objects.inv                                   |  Bin 19066 -> 19120 bytes
 docs/reference/api/doxygen/annotated.html          |  353 +-
 docs/reference/api/doxygen/classes.html            |    2 +-
 .../api/doxygen/classtvm_1_1BaseAttrsNode.html     |    4 +-
 .../classtvm_1_1BaseAttrsNode__inherit__graph.svg  | 1188 ++--
 docs/reference/api/doxygen/functions_d.html        |    4 +-
 docs/reference/api/doxygen/functions_func_r.html   |    1 +
 docs/reference/api/doxygen/functions_func_t.html   |    1 +
 docs/reference/api/doxygen/functions_g.html        |    5 +-
 docs/reference/api/doxygen/functions_k.html        |    1 +
 docs/reference/api/doxygen/functions_o.html        |    7 +-
 docs/reference/api/doxygen/functions_p.html        |    3 +-
 docs/reference/api/doxygen/functions_r.html        |    5 +-
 docs/reference/api/doxygen/functions_s.html        |    5 +-
 docs/reference/api/doxygen/functions_t.html        |    5 +-
 docs/reference/api/doxygen/functions_vars_d.html   |    2 +
 docs/reference/api/doxygen/functions_vars_g.html   |    1 +
 docs/reference/api/doxygen/functions_vars_k.html   |    1 +
 docs/reference/api/doxygen/functions_vars_o.html   |    3 +
 docs/reference/api/doxygen/functions_vars_p.html   |    1 +
 docs/reference/api/doxygen/functions_vars_s.html   |    1 +
 docs/reference/api/doxygen/hierarchy.html          |    6 +-
 docs/reference/api/doxygen/inherit_graph_10.svg    | 6416 ++++++++++----------
 docs/reference/api/doxygen/inherit_graph_58.svg    |  512 +-
 docs/reference/api/doxygen/inherit_graph_9.svg     | 1768 +++---
 docs/reference/api/doxygen/inherits.html           |    2 +-
 docs/reference/api/doxygen/namespaces.html         |  353 +-
 .../api/doxygen/namespacetvm_1_1relax.html         |    3 +
 .../reference/api/doxygen/relax_2attrs_2nn_8h.html |    3 +
 .../api/doxygen/relax_2attrs_2nn_8h_source.html    | 1157 ++--
 docs/reference/api/doxygen/search/all_10.js        |  172 +-
 docs/reference/api/doxygen/search/all_11.js        |  387 +-
 docs/reference/api/doxygen/search/all_12.js        |   14 +-
 docs/reference/api/doxygen/search/all_13.js        |  360 +-
 docs/reference/api/doxygen/search/all_14.js        |  739 ++-
 docs/reference/api/doxygen/search/all_15.js        |  692 +--
 docs/reference/api/doxygen/search/all_16.js        |  132 +-
 docs/reference/api/doxygen/search/all_17.js        |  214 +-
 docs/reference/api/doxygen/search/all_18.js        |  116 +-
 docs/reference/api/doxygen/search/all_19.js        |    2 +-
 docs/reference/api/doxygen/search/all_1a.js        |   92 +-
 docs/reference/api/doxygen/search/all_2.js         |  535 +-
 docs/reference/api/doxygen/search/all_3.js         |  336 +-
 docs/reference/api/doxygen/search/all_4.js         |  439 +-
 docs/reference/api/doxygen/search/all_5.js         |  438 +-
 docs/reference/api/doxygen/search/all_6.js         |  286 +-
 docs/reference/api/doxygen/search/all_7.js         |  660 +-
 docs/reference/api/doxygen/search/all_8.js         |  245 +-
 docs/reference/api/doxygen/search/all_9.js         |   56 +-
 docs/reference/api/doxygen/search/all_a.js         |  560 +-
 docs/reference/api/doxygen/search/all_b.js         |    8 +-
 docs/reference/api/doxygen/search/all_c.js         |  542 +-
 docs/reference/api/doxygen/search/all_d.js         |  224 +-
 docs/reference/api/doxygen/search/all_e.js         |  326 +-
 docs/reference/api/doxygen/search/all_f.js         |  138 +-
 docs/reference/api/doxygen/search/classes_0.js     |  267 +-
 docs/reference/api/doxygen/search/classes_1.js     |  102 +-
 docs/reference/api/doxygen/search/classes_10.js    |  246 +-
 docs/reference/api/doxygen/search/classes_11.js    |  162 +-
 docs/reference/api/doxygen/search/classes_12.js    |    4 +-
 docs/reference/api/doxygen/search/classes_13.js    |   40 +-
 docs/reference/api/doxygen/search/classes_14.js    |   32 +-
 docs/reference/api/doxygen/search/classes_2.js     |   99 +-
 docs/reference/api/doxygen/search/classes_3.js     |  126 +-
 docs/reference/api/doxygen/search/classes_4.js     |   76 +-
 docs/reference/api/doxygen/search/classes_5.js     |   66 +-
 docs/reference/api/doxygen/search/classes_6.js     |   36 +-
 docs/reference/api/doxygen/search/classes_7.js     |    2 +-
 docs/reference/api/doxygen/search/classes_8.js     |  118 +-
 docs/reference/api/doxygen/search/classes_9.js     |   50 +-
 docs/reference/api/doxygen/search/classes_a.js     |   72 +-
 docs/reference/api/doxygen/search/classes_b.js     |   30 +-
 docs/reference/api/doxygen/search/classes_c.js     |   36 +-
 docs/reference/api/doxygen/search/classes_d.js     |  140 +-
 docs/reference/api/doxygen/search/classes_e.js     |    2 +-
 docs/reference/api/doxygen/search/classes_f.js     |   60 +-
 docs/reference/api/doxygen/search/defines_0.js     |    6 +-
 docs/reference/api/doxygen/search/defines_1.js     |    2 +-
 docs/reference/api/doxygen/search/defines_2.js     |    4 +-
 docs/reference/api/doxygen/search/defines_3.js     |    2 +-
 docs/reference/api/doxygen/search/defines_4.js     |    4 +-
 docs/reference/api/doxygen/search/defines_5.js     |   10 +-
 docs/reference/api/doxygen/search/defines_6.js     |    4 +-
 docs/reference/api/doxygen/search/defines_7.js     |    4 +-
 docs/reference/api/doxygen/search/defines_8.js     |  114 +-
 docs/reference/api/doxygen/search/defines_9.js     |    2 +-
 docs/reference/api/doxygen/search/enums_0.js       |    6 +-
 docs/reference/api/doxygen/search/enums_1.js       |    6 +-
 docs/reference/api/doxygen/search/enums_2.js       |    6 +-
 docs/reference/api/doxygen/search/enums_3.js       |   10 +-
 docs/reference/api/doxygen/search/enums_4.js       |    6 +-
 docs/reference/api/doxygen/search/enums_5.js       |    4 +-
 docs/reference/api/doxygen/search/enums_6.js       |    4 +-
 docs/reference/api/doxygen/search/enums_7.js       |    2 +-
 docs/reference/api/doxygen/search/enums_8.js       |    2 +-
 docs/reference/api/doxygen/search/enums_9.js       |    4 +-
 docs/reference/api/doxygen/search/enums_a.js       |    4 +-
 docs/reference/api/doxygen/search/enums_b.js       |    6 +-
 docs/reference/api/doxygen/search/enums_c.js       |    2 +-
 docs/reference/api/doxygen/search/enums_d.js       |    8 +-
 docs/reference/api/doxygen/search/enums_e.js       |   10 +-
 docs/reference/api/doxygen/search/enums_f.js       |    2 +-
 docs/reference/api/doxygen/search/enumvalues_0.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_1.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_2.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_3.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_4.js  |  414 +-
 docs/reference/api/doxygen/search/enumvalues_5.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_6.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_7.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_8.js  |    2 +-
 docs/reference/api/doxygen/search/files_0.js       |   14 +-
 docs/reference/api/doxygen/search/files_1.js       |   26 +-
 docs/reference/api/doxygen/search/files_10.js      |   32 +-
 docs/reference/api/doxygen/search/files_11.js      |    2 +-
 docs/reference/api/doxygen/search/files_12.js      |    8 +-
 docs/reference/api/doxygen/search/files_13.js      |    4 +-
 docs/reference/api/doxygen/search/files_2.js       |   20 +-
 docs/reference/api/doxygen/search/files_3.js       |   28 +-
 docs/reference/api/doxygen/search/files_4.js       |   18 +-
 docs/reference/api/doxygen/search/files_5.js       |   12 +-
 docs/reference/api/doxygen/search/files_6.js       |    6 +-
 docs/reference/api/doxygen/search/files_7.js       |   28 +-
 docs/reference/api/doxygen/search/files_8.js       |    6 +-
 docs/reference/api/doxygen/search/files_9.js       |   14 +-
 docs/reference/api/doxygen/search/files_a.js       |    8 +-
 docs/reference/api/doxygen/search/files_b.js       |    8 +-
 docs/reference/api/doxygen/search/files_c.js       |   14 +-
 docs/reference/api/doxygen/search/files_d.js       |    2 +-
 docs/reference/api/doxygen/search/files_e.js       |   16 +-
 docs/reference/api/doxygen/search/files_f.js       |   48 +-
 docs/reference/api/doxygen/search/functions_0.js   |   10 +-
 docs/reference/api/doxygen/search/functions_1.js   |  228 +-
 docs/reference/api/doxygen/search/functions_10.js  |  190 +-
 docs/reference/api/doxygen/search/functions_11.js  |    8 +-
 docs/reference/api/doxygen/search/functions_12.js  |  219 +-
 docs/reference/api/doxygen/search/functions_13.js  |  364 +-
 docs/reference/api/doxygen/search/functions_14.js  |  264 +-
 docs/reference/api/doxygen/search/functions_15.js  |  112 +-
 docs/reference/api/doxygen/search/functions_16.js  |  128 +-
 docs/reference/api/doxygen/search/functions_17.js  |   70 +-
 docs/reference/api/doxygen/search/functions_18.js  |    2 +-
 docs/reference/api/doxygen/search/functions_19.js  |   92 +-
 docs/reference/api/doxygen/search/functions_2.js   |  170 +-
 docs/reference/api/doxygen/search/functions_3.js   |  260 +-
 docs/reference/api/doxygen/search/functions_4.js   |  216 +-
 docs/reference/api/doxygen/search/functions_5.js   |  140 +-
 docs/reference/api/doxygen/search/functions_6.js   |  382 +-
 docs/reference/api/doxygen/search/functions_7.js   |  206 +-
 docs/reference/api/doxygen/search/functions_8.js   |   46 +-
 docs/reference/api/doxygen/search/functions_9.js   |  364 +-
 docs/reference/api/doxygen/search/functions_a.js   |    8 +-
 docs/reference/api/doxygen/search/functions_b.js   |    2 +-
 docs/reference/api/doxygen/search/functions_c.js   |  142 +-
 docs/reference/api/doxygen/search/functions_d.js   |  156 +-
 docs/reference/api/doxygen/search/functions_e.js   |   84 +-
 docs/reference/api/doxygen/search/functions_f.js   |  100 +-
 docs/reference/api/doxygen/search/namespaces_0.js  |   70 +-
 docs/reference/api/doxygen/search/related_0.js     |    2 +-
 docs/reference/api/doxygen/search/related_1.js     |    6 +-
 docs/reference/api/doxygen/search/related_2.js     |    2 +-
 docs/reference/api/doxygen/search/related_3.js     |    6 +-
 docs/reference/api/doxygen/search/related_4.js     |    8 +-
 docs/reference/api/doxygen/search/related_5.js     |    2 +-
 docs/reference/api/doxygen/search/related_6.js     |    6 +-
 docs/reference/api/doxygen/search/related_7.js     |    8 +-
 docs/reference/api/doxygen/search/related_8.js     |    2 +-
 docs/reference/api/doxygen/search/related_9.js     |    4 +-
 docs/reference/api/doxygen/search/related_a.js     |   10 +-
 docs/reference/api/doxygen/search/related_b.js     |    2 +-
 docs/reference/api/doxygen/search/related_c.js     |    8 +-
 docs/reference/api/doxygen/search/related_d.js     |    8 +-
 docs/reference/api/doxygen/search/typedefs_0.js    |    6 +-
 docs/reference/api/doxygen/search/typedefs_1.js    |    4 +-
 docs/reference/api/doxygen/search/typedefs_2.js    |    8 +-
 docs/reference/api/doxygen/search/typedefs_3.js    |    8 +-
 docs/reference/api/doxygen/search/typedefs_4.js    |   12 +-
 docs/reference/api/doxygen/search/typedefs_5.js    |  114 +-
 docs/reference/api/doxygen/search/typedefs_6.js    |    8 +-
 docs/reference/api/doxygen/search/typedefs_7.js    |    4 +-
 docs/reference/api/doxygen/search/typedefs_8.js    |    4 +-
 docs/reference/api/doxygen/search/typedefs_9.js    |   10 +-
 docs/reference/api/doxygen/search/typedefs_a.js    |    6 +-
 docs/reference/api/doxygen/search/typedefs_b.js    |    6 +-
 docs/reference/api/doxygen/search/typedefs_c.js    |   30 +-
 docs/reference/api/doxygen/search/variables_0.js   |   12 +-
 docs/reference/api/doxygen/search/variables_1.js   |   72 +-
 docs/reference/api/doxygen/search/variables_10.js  |    2 +-
 docs/reference/api/doxygen/search/variables_11.js  |   80 +-
 docs/reference/api/doxygen/search/variables_12.js  |  128 +-
 docs/reference/api/doxygen/search/variables_13.js  |   78 +-
 docs/reference/api/doxygen/search/variables_14.js  |   16 +-
 docs/reference/api/doxygen/search/variables_15.js  |   46 +-
 docs/reference/api/doxygen/search/variables_16.js  |   16 +-
 docs/reference/api/doxygen/search/variables_2.js   |   58 +-
 docs/reference/api/doxygen/search/variables_3.js   |   68 +-
 docs/reference/api/doxygen/search/variables_4.js   |  104 +-
 docs/reference/api/doxygen/search/variables_5.js   |   60 +-
 docs/reference/api/doxygen/search/variables_6.js   |  110 +-
 docs/reference/api/doxygen/search/variables_7.js   |   12 +-
 docs/reference/api/doxygen/search/variables_8.js   |    8 +-
 docs/reference/api/doxygen/search/variables_9.js   |   82 +-
 docs/reference/api/doxygen/search/variables_a.js   |  130 +-
 docs/reference/api/doxygen/search/variables_b.js   |   36 +-
 docs/reference/api/doxygen/search/variables_c.js   |   94 +-
 docs/reference/api/doxygen/search/variables_d.js   |   28 +-
 docs/reference/api/doxygen/search/variables_e.js   |   38 +-
 docs/reference/api/doxygen/search/variables_f.js   |   70 +-
 ...m_1_1relax_1_1Conv3DTransposeAttrs-members.html |   97 +
 ...structtvm_1_1relax_1_1Conv3DTransposeAttrs.html |  344 ++
 ...1relax_1_1Conv3DTransposeAttrs__coll__graph.svg |  140 +
 ...lax_1_1Conv3DTransposeAttrs__inherit__graph.svg |   99 +
 docs/reference/api/python/relax/op.html            |  139 +-
 docs/reference/api/python/relax/relax.html         |    2 +-
 .../api/typedoc/classes/ArtifactCache.html         |   14 +-
 .../classes/ArtifactCrossOriginStorageCache.html   |   12 +-
 .../typedoc/classes/ArtifactIndexedDBCache.html    |   12 +-
 docs/reference/api/typedoc/classes/CacheState.html |   10 +-
 docs/reference/api/typedoc/classes/DLDataType.html |   10 +-
 docs/reference/api/typedoc/classes/DLDevice.html   |   10 +-
 docs/reference/api/typedoc/classes/Instance.html   |  108 +-
 docs/reference/api/typedoc/classes/LRUCache.html   |   14 +-
 .../classes/LinearCongruentialGenerator.html       |   10 +-
 docs/reference/api/typedoc/classes/Module.html     |   16 +-
 docs/reference/api/typedoc/classes/RPCServer.html  |    4 +-
 docs/reference/api/typedoc/classes/Scalar.html     |    8 +-
 docs/reference/api/typedoc/classes/TVMArray.html   |   16 +-
 docs/reference/api/typedoc/classes/TVMObject.html  |   12 +-
 docs/reference/api/typedoc/classes/Tensor.html     |   34 +-
 .../api/typedoc/classes/VirtualMachine.html        |   10 +-
 .../classes/_internal_.AsyncifyHandler.html        |   14 +-
 .../classes/_internal_.CachedCallStack.html        |   24 +-
 .../classes/_internal_.CanvasRenderManager.html    |    6 +-
 .../classes/_internal_.CrossOriginStorage.html     |    4 +-
 .../typedoc/classes/_internal_.Environment.html    |   12 +-
 .../api/typedoc/classes/_internal_.FFILibrary.html |    6 +-
 .../api/typedoc/classes/_internal_.Memory.html     |   22 +-
 .../typedoc/classes/_internal_.PackedFuncCell.html |   12 +-
 .../typedoc/classes/_internal_.RuntimeContext.html |    8 +-
 .../typedoc/classes/_internal_.WebGPUContext.html  |   26 +-
 .../enums/_internal_.AsyncifyStateKind.html        |    4 +-
 .../typedoc/enums/_internal_.RPCServerState.html   |    4 +-
 docs/reference/api/typedoc/functions/assert.html   |    2 +-
 .../api/typedoc/functions/createArtifactCache.html |    2 +-
 .../api/typedoc/functions/createPolyfillWASI.html  |    2 +-
 .../api/typedoc/functions/deleteTensorCache.html   |    4 +-
 .../api/typedoc/functions/detectGPUDevice.html     |    2 +-
 .../api/typedoc/functions/hasTensorInCache.html    |    4 +-
 .../api/typedoc/functions/instantiate.html         |    2 +-
 docs/reference/api/typedoc/functions/wasmPath.html |    2 +-
 .../typedoc/interfaces/ArtifactCacheTemplate.html  |   10 +-
 .../api/typedoc/interfaces/Disposable.html         |    4 +-
 .../interfaces/FetchTensorCacheOptions.html        |    4 +-
 .../typedoc/interfaces/GPUDeviceDetectOutput.html  |    4 +-
 .../api/typedoc/interfaces/InitProgressReport.html |    4 +-
 .../api/typedoc/interfaces/LibraryProvider.html    |    6 +-
 .../interfaces/TensorCacheAccessOptions.html       |    4 +-
 .../_internal_.CrossOriginHashDescriptor.html      |    4 +-
 .../_internal_.CrossOriginStorageAPI.html          |    4 +-
 .../_internal_.CrossOriginStorageHandle.html       |    4 +-
 ...CrossOriginStorageRequestFileHandleOptions.html |    4 +-
 .../_internal_.CrossOriginStorageWritable.html     |    4 +-
 .../interfaces/_internal_.FunctionInfo.html        |    4 +-
 .../interfaces/_internal_.TensorCacheEntry.html    |    4 +-
 .../interfaces/_internal_.TensorShardEntry.html    |    4 +-
 .../api/typedoc/types/ArtifactCacheType.html       |    2 +-
 .../api/typedoc/types/InitProgressCallback.html    |    2 +-
 docs/reference/api/typedoc/types/PackedFunc.html   |    2 +-
 .../typedoc/types/_internal_.AsyncPackedFunc.html  |    2 +-
 .../types/_internal_.FObjectConstructor.html       |    2 +-
 .../types/_internal_.FTVMFFIWasmSafeCallType.html  |    2 +-
 .../types/_internal_.FTVMWasmAllocSpace.html       |    2 +-
 .../types/_internal_.FTVMWasmFreeSpace.html        |    2 +-
 .../api/typedoc/types/_internal_.Pointer.html      |    2 +-
 .../api/typedoc/types/_internal_.RequestLike.html  |    2 +-
 .../typedoc/types/_internal_.TVMObjectBase.html    |    2 +-
 docs/searchindex.js                                |    2 +-
 docs/sg_execution_times.html                       |   26 +-
 314 files changed, 15296 insertions(+), 14282 deletions(-)

diff --git a/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip b/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip
index 2a90a58245c..d5cbf2fe845 100644
Binary files a/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip and b/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip differ
diff --git a/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip b/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip
index f9dbf68a2bb..4087256f1b0 100644
Binary files a/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip and b/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip differ
diff --git a/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip b/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip
index 8a4c7318858..89d38bbf4fd 100644
Binary files a/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip and b/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip differ
diff --git a/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip b/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip
index db0fdcce7c8..f9c7d65142c 100644
Binary files a/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip and b/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip differ
diff --git a/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip b/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip
index e13ca28a322..d8aed70b6c6 100644
Binary files a/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip and b/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip differ
diff --git a/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip b/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip
index 26d97977cc8..3cc1a69401c 100644
Binary files a/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip and b/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip differ
diff --git a/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip b/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip
index e3e3cf48c79..81363e3d73d 100644
Binary files a/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip and b/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip differ
diff --git a/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip b/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip
index 3312d4360c3..15156dd452b 100644
Binary files a/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip and b/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip differ
diff --git a/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip b/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip
index 9337b1ceef3..99372bf8acd 100644
Binary files a/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip and b/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip differ
diff --git a/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip b/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip
index 42eca895384..47c64294720 100644
Binary files a/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip and b/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip differ
diff --git a/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip b/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip
index 6bf963389af..395eb3a9937 100644
Binary files a/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip and b/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip differ
diff --git a/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst.txt b/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst.txt
index 470775175ef..3d012a708e3 100644
--- a/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:00.198** total execution time for 2 files **from deep_dive/relax/tutorials**:
+**00:00.161** total execution time for 2 files **from deep_dive/relax/tutorials**:
 
 .. container::
 
@@ -33,8 +33,8 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``relax_creation.py``)
-     - 00:00.129
+     - 00:00.107
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``relax_transformation.py``)
-     - 00:00.069
+     - 00:00.053
      - 0.0
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst.txt b/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst.txt
index 03145f793c3..9644b400fb9 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:00.517** total execution time for 2 files **from deep_dive/tensor_ir/tutorials**:
+**00:00.435** total execution time for 2 files **from deep_dive/tensor_ir/tutorials**:
 
 .. container::
 
@@ -33,8 +33,8 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``tir_transformation.py``)
-     - 00:00.314
+     - 00:00.264
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``tir_creation.py``)
-     - 00:00.203
+     - 00:00.171
      - 0.0
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt
index a340f1f7bc3..a6e2adaf131 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt
@@ -319,17 +319,17 @@ Now let's check the runtime dynamic shape inference:
 
  .. code-block:: none
 
-    [[0.5140703  0.36011904 0.8213639  0.6077001 ]
-     [0.926825   1.1583253  1.7015758  1.2958518 ]
-     [0.6938665  0.4636079  1.1228342  0.81428355]
-     [0.56254244 0.8276309  0.9186873  0.88441247]]
-    [[34.4205   33.06928  35.603657 ... 29.918219 33.039097 35.09765 ]
-     [34.29522  36.12917  37.44643  ... 32.133408 35.494877 35.48338 ]
-     [37.497852 37.547497 38.31168  ... 31.99392  35.097614 37.306602]
+    [[1.2153589  1.6256298  1.8341417  1.8467433 ]
+     [0.9291783  1.2183461  1.1713393  1.062732  ]
+     [0.5269821  1.077274   0.79764336 0.6892101 ]
+     [0.7905217  1.0910393  1.0689359  0.98192656]]
+    [[31.333994 34.47933  31.673811 ... 30.879705 29.307644 31.531986]
+     [31.647388 34.76697  33.994583 ... 31.03454  33.666462 32.084496]
+     [28.773159 30.80481  30.351582 ... 28.786789 28.925558 28.961748]
      ...
-     [32.633354 33.38141  32.859665 ... 28.532898 29.603586 30.976517]
-     [34.04754  34.17827  36.073364 ... 28.743526 30.950933 36.535873]
-     [37.792946 37.695866 38.85321  ... 29.574514 34.863583 36.60244 ]]
+     [25.910553 28.086107 26.664078 ... 26.372791 26.779436 27.001493]
+     [31.601477 34.27898  33.549274 ... 28.826426 32.382954 30.701353]
+     [29.485783 30.269012 27.365185 ... 25.302578 27.906416 24.414576]]
 
 
 
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst.txt b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst.txt
index df312929445..8a4e0d93110 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst.txt
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst.txt
@@ -120,7 +120,7 @@ original implementation.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       2.7578       2.7578       2.7578       2.7578       0.0000                  
+       2.5050       2.5050       2.5050       2.5050       0.0000                  
 
 
 
@@ -292,7 +292,7 @@ action involves reordering these two loops.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       0.8658       0.8658       0.8658       0.8658       0.0000                  
+       0.8650       0.8650       0.8650       0.8650       0.0000                  
 
 
 
@@ -420,7 +420,7 @@ from the reduction update via the **decompose_reduction** primitive.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       0.3407       0.3407       0.3407       0.3407       0.0000                  
+       0.3534       0.3534       0.3534       0.3534       0.0000                  
 
 
 
diff --git a/docs/_sources/get_started/tutorials/ir_module.rst.txt b/docs/_sources/get_started/tutorials/ir_module.rst.txt
index 47162934d86..20c2a37f6a9 100644
--- a/docs/_sources/get_started/tutorials/ir_module.rst.txt
+++ b/docs/_sources/get_started/tutorials/ir_module.rst.txt
@@ -694,8 +694,8 @@ We can deploy the IRModule on CPU by specifying the target as ``llvm``.
 
  .. code-block:: none
 
-    [[-0.04751424  0.14928102 -0.02911779  0.09716827 -0.24930713  0.01080976
-      -0.09253299 -0.07411876 -0.01195798  0.25319272]]
+    [[-0.07234123  0.021231    0.03997402 -0.08276112  0.13253376  0.12857315
+      -0.06889375  0.03095913 -0.15548874  0.05459561]]
 
 
 
@@ -761,8 +761,8 @@ Now we can compile the IRModule on GPU, the similar way as we did on CPU.
 
  .. code-block:: none
 
-    [[-0.0475142   0.14928111 -0.02911783  0.09716824 -0.24930713  0.01080975
-      -0.09253295 -0.0741187  -0.01195799  0.2531927 ]]
+    [[-0.07234123  0.021231    0.03997404 -0.08276109  0.13253379  0.12857309
+      -0.06889374  0.03095906 -0.1554889   0.05459558]]
 
 
 
diff --git a/docs/_sources/get_started/tutorials/quick_start.rst.txt b/docs/_sources/get_started/tutorials/quick_start.rst.txt
index 3527fd3a417..9f3d212c729 100644
--- a/docs/_sources/get_started/tutorials/quick_start.rst.txt
+++ b/docs/_sources/get_started/tutorials/quick_start.rst.txt
@@ -224,8 +224,8 @@ different devices.
 
  .. code-block:: none
 
-    [[23720.723 24172.805 25383.033 23293.127 24369.941 23413.408 25094.22
-      23942.545 24017.604 24254.336]]
+    [[24012.787 24570.225 23910.129 24003.156 24993.938 24135.252 24677.611
+      24419.852 24414.54  24466.271]]
 
 
 
diff --git a/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt b/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt
index 438c26f5297..2f5df0f2887 100644
--- a/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:08.691** total execution time for 2 files **from get_started/tutorials**:
+**00:08.591** total execution time for 2 files **from get_started/tutorials**:
 
 .. container::
 
@@ -33,8 +33,8 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``ir_module.py``)
-     - 00:08.505
+     - 00:08.427
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``quick_start.py``)
-     - 00:00.186
+     - 00:00.164
      - 0.0
diff --git a/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst.txt b/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst.txt
index 497fb598977..5361bd5f192 100644
--- a/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst.txt
@@ -268,7 +268,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    1.15e-07 secs/op
+    1e-07 secs/op
 
 
 
@@ -670,8 +670,8 @@ This workflow is applicable to various deployment scenarios:
     Converted PyTorch model to Relax:
       - Number of parameters: 4
     Using local target for demonstration
-    Exported library to: /tmp/tmpqm4f8j1w/model_deployed.so
-    Saved parameters to: /tmp/tmpqm4f8j1w/model_params.npz
+    Exported library to: /tmp/tmpgbrj4x30/model_deployed.so
+    Saved parameters to: /tmp/tmpgbrj4x30/model_params.npz
 
     RPC workflow (works for any remote device):
     ==================================================
diff --git a/docs/_sources/how_to/tutorials/customize_opt.rst.txt b/docs/_sources/how_to/tutorials/customize_opt.rst.txt
index d3f03c20685..7e41eaa0447 100644
--- a/docs/_sources/how_to/tutorials/customize_opt.rst.txt
+++ b/docs/_sources/how_to/tutorials/customize_opt.rst.txt
@@ -425,8 +425,8 @@ We can build and deploy the optimized model to the TVM runtime.
 
  .. code-block:: none
 
-    [[23719.93  26029.172 26270.83  25725.133 23472.457 24546.281 25605.47
-      22791.45  23442.234 25423.701]]
+    [[24665.752 26322.93  25268.332 27490.527 24857.363 24875.5   24900.373
+      25618.676 24956.736 26576.27 ]]
 
 
 
diff --git a/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt b/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
index ce59aabafec..9367819cea4 100644
--- a/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
+++ b/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
@@ -54,7 +54,7 @@ PyTorch.
  .. code-block:: none
 
     Downloading: "https://download.pytorch.org/models/resnet18-f37072fd.pth" to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
-       0%|          | 0.00/44.7M [00:00<?, ?B/s]      66%|██████▌   | 29.5M/44.7M [00:00<00:00, 309MB/s]     100%|██████████| 44.7M/44.7M [00:00<00:00, 310MB/s]
+       0%|          | 0.00/44.7M [00:00<?, ?B/s]      51%|█████     | 22.9M/44.7M [00:00<00:00, 239MB/s]     100%|██████████| 44.7M/44.7M [00:00<00:00, 247MB/s]
 
 
 
diff --git a/docs/_sources/how_to/tutorials/sg_execution_times.rst.txt b/docs/_sources/how_to/tutorials/sg_execution_times.rst.txt
index 10b886506e8..3abe611554a 100644
--- a/docs/_sources/how_to/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tutorials/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:37.161** total execution time for 5 files **from how_to/tutorials**:
+**00:30.244** total execution time for 5 files **from how_to/tutorials**:
 
 .. container::
 
@@ -33,16 +33,16 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``optimize_llm.py``)
-     - 00:35.185
-     - 0.0
-   * - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``customize_opt.py``)
-     - 00:00.697
+     - 00:28.457
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``e2e_opt_model.py``)
-     - 00:00.695
+     - 00:00.680
+     - 0.0
+   * - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``customize_opt.py``)
+     - 00:00.616
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
-     - 00:00.581
+     - 00:00.488
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_export_and_load_executable.py` (``export_and_load_executable.py``)
      - 00:00.002
diff --git a/docs/_sources/sg_execution_times.rst.txt b/docs/_sources/sg_execution_times.rst.txt
index 2abeb6ebd10..00b69c61ae6 100644
--- a/docs/_sources/sg_execution_times.rst.txt
+++ b/docs/_sources/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:46.566** total execution time for 11 files **from all galleries**:
+**00:39.430** total execution time for 11 files **from all galleries**:
 
 .. container::
 
@@ -33,34 +33,34 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``../how_to/tutorials/optimize_llm.py``)
-     - 00:35.185
+     - 00:28.457
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``../get_started/tutorials/ir_module.py``)
-     - 00:08.505
-     - 0.0
-   * - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``../how_to/tutorials/customize_opt.py``)
-     - 00:00.697
+     - 00:08.427
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``../how_to/tutorials/e2e_opt_model.py``)
-     - 00:00.695
+     - 00:00.680
+     - 0.0
+   * - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``../how_to/tutorials/customize_opt.py``)
+     - 00:00.616
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``../how_to/tutorials/cross_compilation_and_rpc.py``)
-     - 00:00.581
+     - 00:00.488
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``../deep_dive/tensor_ir/tutorials/tir_transformation.py``)
-     - 00:00.314
+     - 00:00.264
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``../deep_dive/tensor_ir/tutorials/tir_creation.py``)
-     - 00:00.203
+     - 00:00.171
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``../get_started/tutorials/quick_start.py``)
-     - 00:00.186
+     - 00:00.164
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``../deep_dive/relax/tutorials/relax_creation.py``)
-     - 00:00.129
+     - 00:00.107
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``../deep_dive/relax/tutorials/relax_transformation.py``)
-     - 00:00.069
+     - 00:00.053
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_export_and_load_executable.py` (``../how_to/tutorials/export_and_load_executable.py``)
      - 00:00.002
diff --git a/docs/commit_hash b/docs/commit_hash
index f53c4484ca7..30aebd1bc4e 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-38eb79c63f1514402e75efdf71ab1868532115c8
+4de1f11344608d2305891c7fc585bc4f089158eb
diff --git a/docs/deep_dive/relax/tutorials/sg_execution_times.html b/docs/deep_dive/relax/tutorials/sg_execution_times.html
index f02c401b95d..26ff8ddd67f 100644
--- a/docs/deep_dive/relax/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/relax/tutorials/sg_execution_times.html
@@ -294,7 +294,7 @@
             
   <section id="computation-times">
 <span id="sphx-glr-deep-dive-relax-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:00.198</strong> total execution time for 2 files <strong>from deep_dive/relax/tutorials</strong>:</p>
+<p><strong>00:00.161</strong> total execution time for 2 files <strong>from deep_dive/relax/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -316,11 +316,11 @@ $(document).ready( function () {
 </thead>
 <tbody>
 <tr class="row-even"><td><p><a class="reference internal" href="relax_creation.html#sphx-glr-deep-dive-relax-tutorials-relax-creation-py"><span class="std std-ref">Relax Creation</span></a> (<code class="docutils literal notranslate"><span class="pre">relax_creation.py</span></code>)</p></td>
-<td><p>00:00.129</p></td>
+<td><p>00:00.107</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="relax_transformation.html#sphx-glr-deep-dive-relax-tutorials-relax-transformation-py"><span class="std std-ref">Transformation</span></a> (<code class="docutils literal notranslate"><span class="pre">relax_transformation.py</span></code>)</p></td>
-<td><p>00:00.069</p></td>
+<td><p>00:00.053</p></td>
 <td><p>0.0</p></td>
 </tr>
 </tbody>
diff --git a/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html b/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
index e71dbe532f5..f976b8bb9af 100644
--- a/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
@@ -294,7 +294,7 @@
             
   <section id="computation-times">
 <span id="sphx-glr-deep-dive-tensor-ir-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:00.517</strong> total execution time for 2 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
+<p><strong>00:00.435</strong> total execution time for 2 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -316,11 +316,11 @@ $(document).ready( function () {
 </thead>
 <tbody>
 <tr class="row-even"><td><p><a class="reference internal" href="tir_transformation.html#sphx-glr-deep-dive-tensor-ir-tutorials-tir-transformation-py"><span class="std std-ref">Transformation</span></a> (<code class="docutils literal notranslate"><span class="pre">tir_transformation.py</span></code>)</p></td>
-<td><p>00:00.314</p></td>
+<td><p>00:00.264</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="tir_creation.html#sphx-glr-deep-dive-tensor-ir-tutorials-tir-creation-py"><span class="std std-ref">TensorIR Creation</span></a> (<code class="docutils literal notranslate"><span class="pre">tir_creation.py</span></code>)</p></td>
-<td><p>00:00.203</p></td>
+<td><p>00:00.171</p></td>
 <td><p>0.0</p></td>
 </tr>
 </tbody>
diff --git a/docs/deep_dive/tensor_ir/tutorials/tir_creation.html b/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
index 383abfc72a3..8733c046867 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
@@ -490,17 +490,17 @@ be used to ascertain the shape and data type of a TensorIR.</p>
 <span class="nb">print</span><span class="p">(</span><span class="n">evaluate_dynamic_shape</span><span class="p">(</span><span class="n">dyn_shape_lib</span><span class="p">,</span> <span class="n">m</span><span class="o">=</span><span class="mi">64</span><span class="p">,</span> <span class="n">n</span><span class="o">=</span><span class="mi">64</span><span class="p">,</span> <a href="../../../reference/api/python/tirx/tirx.html#tvm.tirx.IterVar" title="tvm.tirx.IterVar" class="sphx-gl [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[0.5140703  0.36011904 0.8213639  0.6077001 ]
- [0.926825   1.1583253  1.7015758  1.2958518 ]
- [0.6938665  0.4636079  1.1228342  0.81428355]
- [0.56254244 0.8276309  0.9186873  0.88441247]]
-[[34.4205   33.06928  35.603657 ... 29.918219 33.039097 35.09765 ]
- [34.29522  36.12917  37.44643  ... 32.133408 35.494877 35.48338 ]
- [37.497852 37.547497 38.31168  ... 31.99392  35.097614 37.306602]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[1.2153589  1.6256298  1.8341417  1.8467433 ]
+ [0.9291783  1.2183461  1.1713393  1.062732  ]
+ [0.5269821  1.077274   0.79764336 0.6892101 ]
+ [0.7905217  1.0910393  1.0689359  0.98192656]]
+[[31.333994 34.47933  31.673811 ... 30.879705 29.307644 31.531986]
+ [31.647388 34.76697  33.994583 ... 31.03454  33.666462 32.084496]
+ [28.773159 30.80481  30.351582 ... 28.786789 28.925558 28.961748]
  ...
- [32.633354 33.38141  32.859665 ... 28.532898 29.603586 30.976517]
- [34.04754  34.17827  36.073364 ... 28.743526 30.950933 36.535873]
- [37.792946 37.695866 38.85321  ... 29.574514 34.863583 36.60244 ]]
+ [25.910553 28.086107 26.664078 ... 26.372791 26.779436 27.001493]
+ [31.601477 34.27898  33.549274 ... 28.826426 32.382954 30.701353]
+ [29.485783 30.269012 27.365185 ... 25.302578 27.906416 24.414576]]
 </pre></div>
 </div>
 </section>
diff --git a/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html b/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
index 5ba23f319f6..4748e19c20a 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
@@ -371,7 +371,7 @@ original implementation.</p>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   2.7578       2.7578       2.7578       2.7578       0.0000
+   2.5050       2.5050       2.5050       2.5050       0.0000
 </pre></div>
 </div>
 <section id="initialization-schedule">
@@ -467,7 +467,7 @@ class Module:
 
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   0.8658       0.8658       0.8658       0.8658       0.0000
+   0.8650       0.8650       0.8650       0.8650       0.0000
 </pre></div>
 </div>
 </section>
@@ -561,7 +561,7 @@ class Module:
 
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   0.3407       0.3407       0.3407       0.3407       0.0000
+   0.3534       0.3534       0.3534       0.3534       0.0000
 </pre></div>
 </div>
 </section>
diff --git a/docs/genindex.html b/docs/genindex.html
index 2ca80b3f936..74076bed18c 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -1068,10 +1068,10 @@
         <li><a href="reference/api/python/te.html#tvm.te.const">(in module tvm.te)</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.Constant">Constant (class in tvm.relax)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.contains_impure_call">contains_impure_call() (in module tvm.relax.analysis)</a>
 </li>
       <li><a href="reference/api/python/tirx/tirx.html#tvm.tirx.continue_loop">continue_loop() (in module tvm.tirx)</a>
@@ -1139,6 +1139,8 @@
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.conv3d_ncdhw">conv3d_ncdhw() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.conv3d_ndhwc">conv3d_ndhwc() (in module tvm.topi.nn)</a>
+</li>
+      <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.conv3d_transpose">conv3d_transpose() (in module tvm.relax.op.nn)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.conv3d_transpose_ncdhw">conv3d_transpose_ncdhw() (in module tvm.topi.nn)</a>
 </li>
@@ -1147,6 +1149,8 @@
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.conv3d_winograd_weight_transform">conv3d_winograd_weight_transform() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DAttrs">Conv3DAttrs (class in tvm.relax.op.op_attrs)</a>
+</li>
+      <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DTransposeAttrs">Conv3DTransposeAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/tirx/transform.html#tvm.tirx.transform.SimplifyConfig.convert_boolean_to_and_of_ors">convert_boolean_to_and_of_ors (tvm.tirx.transform.SimplifyConfig property)</a>
 </li>
@@ -1314,6 +1318,8 @@
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv2DTransposeAttrs.data_layout">(tvm.relax.op.op_attrs.Conv2DTransposeAttrs property)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DAttrs.data_layout">(tvm.relax.op.op_attrs.Conv3DAttrs property)</a>
+</li>
+        <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DTransposeAttrs.data_layout">(tvm.relax.op.op_attrs.Conv3DTransposeAttrs property)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.Database">Database (class in tvm.s_tir.meta_schedule)</a>
@@ -1438,6 +1444,8 @@
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv2DTransposeAttrs.dilation">(tvm.relax.op.op_attrs.Conv2DTransposeAttrs property)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DAttrs.dilation">(tvm.relax.op.op_attrs.Conv3DAttrs property)</a>
+</li>
+        <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DTransposeAttrs.dilation">(tvm.relax.op.op_attrs.Conv3DTransposeAttrs property)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Pool1DAttrs.dilation">(tvm.relax.op.op_attrs.Pool1DAttrs property)</a>
 </li>
@@ -1968,10 +1976,10 @@
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.image.get_inx">get_inx() (in module tvm.topi.image)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/target.html#tvm.target.Target.get_kind_attr">get_kind_attr() (tvm.target.Target method)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.get_loops">get_loops() (tvm.s_tir.schedule.Schedule method)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.get_output_blocks">get_output_blocks() (tvm.s_tir.schedule.Schedule method)</a>
@@ -2090,6 +2098,8 @@
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv2DTransposeAttrs.groups">(tvm.relax.op.op_attrs.Conv2DTransposeAttrs property)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DAttrs.groups">(tvm.relax.op.op_attrs.Conv3DAttrs property)</a>
+</li>
+        <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DTransposeAttrs.groups">(tvm.relax.op.op_attrs.Conv3DTransposeAttrs property)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/tirx/tirx.html#tvm.tirx.GT">GT (class in tvm.tirx)</a>
@@ -2422,6 +2432,8 @@
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv2DTransposeAttrs.kernel_layout">(tvm.relax.op.op_attrs.Conv2DTransposeAttrs property)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DAttrs.kernel_layout">(tvm.relax.op.op_attrs.Conv3DAttrs property)</a>
+</li>
+        <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DTransposeAttrs.kernel_layout">(tvm.relax.op.op_attrs.Conv3DTransposeAttrs property)</a>
 </li>
       </ul></li>
   </ul></td>
@@ -3083,6 +3095,8 @@
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv2DTransposeAttrs.out_dtype">(tvm.relax.op.op_attrs.Conv2DTransposeAttrs property)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DAttrs.out_dtype">(tvm.relax.op.op_attrs.Conv3DAttrs property)</a>
+</li>
+        <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DTransposeAttrs.out_dtype">(tvm.relax.op.op_attrs.Conv3DTransposeAttrs property)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.MatmulAttrs.out_dtype">(tvm.relax.op.op_attrs.MatmulAttrs property)</a>
 </li>
@@ -3113,6 +3127,8 @@
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv2DTransposeAttrs.out_layout">(tvm.relax.op.op_attrs.Conv2DTransposeAttrs property)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DAttrs.out_layout">(tvm.relax.op.op_attrs.Conv3DAttrs property)</a>
+</li>
+        <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DTransposeAttrs.out_layout">(tvm.relax.op.op_attrs.Conv3DTransposeAttrs property)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Pool1DAttrs.out_layout">(tvm.relax.op.op_attrs.Pool1DAttrs property)</a>
 </li>
@@ -3129,6 +3145,8 @@
 
       <ul>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv2DTransposeAttrs.output_padding">(tvm.relax.op.op_attrs.Conv2DTransposeAttrs property)</a>
+</li>
+        <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DTransposeAttrs.output_padding">(tvm.relax.op.op_attrs.Conv3DTransposeAttrs property)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.AdaptivePool1DAttrs.output_size">output_size (tvm.relax.op.op_attrs.AdaptivePool1DAttrs property)</a>
@@ -3187,6 +3205,8 @@
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv2DTransposeAttrs.padding">(tvm.relax.op.op_attrs.Conv2DTransposeAttrs property)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DAttrs.padding">(tvm.relax.op.op_attrs.Conv3DAttrs property)</a>
+</li>
+        <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DTransposeAttrs.padding">(tvm.relax.op.op_attrs.Conv3DTransposeAttrs property)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Pool1DAttrs.padding">(tvm.relax.op.op_attrs.Pool1DAttrs property)</a>
 </li>
@@ -3270,11 +3290,11 @@
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ROIAlignAttrs.pooled_size">pooled_size (tvm.relax.op.op_attrs.ROIAlignAttrs property)</a>
-</li>
-      <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Trace.pop">pop() (tvm.s_tir.schedule.Trace method)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Trace.pop">pop() (tvm.s_tir.schedule.Trace method)</a>
+</li>
       <li><a href="reference/api/python/te.html#tvm.te.popcount">popcount() (in module tvm.te)</a>
 
       <ul>
@@ -3907,10 +3927,10 @@
       </ul></li>
       <li><a href="reference/api/python/tirx/transform.html#tvm.tirx.transform.SimplifyConfig">SimplifyConfig (class in tvm.tirx.transform)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.simulated_dequantize">simulated_dequantize() (in module tvm.topi.nn)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.simulated_quantize">simulated_quantize() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.sin">sin() (in module tvm.relax.op)</a>
@@ -4067,6 +4087,8 @@
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv2DTransposeAttrs.strides">(tvm.relax.op.op_attrs.Conv2DTransposeAttrs property)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DAttrs.strides">(tvm.relax.op.op_attrs.Conv3DAttrs property)</a>
+</li>
+        <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv3DTransposeAttrs.strides">(tvm.relax.op.op_attrs.Conv3DTransposeAttrs property)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Pool1DAttrs.strides">(tvm.relax.op.op_attrs.Pool1DAttrs property)</a>
 </li>
diff --git a/docs/get_started/tutorials/ir_module.html b/docs/get_started/tutorials/ir_module.html
index b69292547fa..1f34d437a40 100644
--- a/docs/get_started/tutorials/ir_module.html
+++ b/docs/get_started/tutorials/ir_module.html
@@ -814,8 +814,8 @@ backends.</p>
 <span class="nb">print</span><span class="p">(</span><span class="n">cpu_out</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.04751424  0.14928102 -0.02911779  0.09716827 -0.24930713  0.01080976
-  -0.09253299 -0.07411876 -0.01195798  0.25319272]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.07234123  0.021231    0.03997402 -0.08276112  0.13253376  0.12857315
+  -0.06889375  0.03095913 -0.15548874  0.05459561]]
 </pre></div>
 </div>
 </section>
@@ -849,8 +849,8 @@ the details of <code class="docutils literal notranslate"><span class="pre">DLig
 <span class="k">assert</span> <span class="n">np</span><span class="o">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">cpu_out</span><span class="p">,</span> <span class="n">gpu_out</span><span class="p">,</span> <span class="n">atol</span><span class="o">=</span><span class="mf">1e-3</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.0475142   0.14928111 -0.02911783  0.09716824 -0.24930713  0.01080975
-  -0.09253295 -0.0741187  -0.01195799  0.2531927 ]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.07234123  0.021231    0.03997404 -0.08276109  0.13253379  0.12857309
+  -0.06889374  0.03095906 -0.1554889   0.05459558]]
 </pre></div>
 </div>
 </section>
diff --git a/docs/get_started/tutorials/quick_start.html b/docs/get_started/tutorials/quick_start.html
index f623619ada7..eb87d9199dd 100644
--- a/docs/get_started/tutorials/quick_start.html
+++ b/docs/get_started/tutorials/quick_start.html
@@ -457,8 +457,8 @@ different devices.</p>
 <span class="nb">print</span><span class="p">(</span><span class="n">vm</span><span class="p">[</span><span class="s2">&quot;forward&quot;</span><span class="p">](</span><span class="n">tvm_data</span><span class="p">,</span> <span class="o">*</span><a href="https://docs.python.org/3/library/stdtypes.html#list" title="builtins.list" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">params</span></a><span class="p">)</span><s [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[23720.723 24172.805 25383.033 23293.127 24369.941 23413.408 25094.22
-  23942.545 24017.604 24254.336]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[24012.787 24570.225 23910.129 24003.156 24993.938 24135.252 24677.611
+  24419.852 24414.54  24466.271]]
 </pre></div>
 </div>
 <p>Our goal is to bring machine learning to the application with any language of interest,
diff --git a/docs/get_started/tutorials/sg_execution_times.html b/docs/get_started/tutorials/sg_execution_times.html
index 0f8c2277adf..87c303ba6f0 100644
--- a/docs/get_started/tutorials/sg_execution_times.html
+++ b/docs/get_started/tutorials/sg_execution_times.html
@@ -294,7 +294,7 @@
             
   <section id="computation-times">
 <span id="sphx-glr-get-started-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:08.691</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
+<p><strong>00:08.591</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -316,11 +316,11 @@ $(document).ready( function () {
 </thead>
 <tbody>
 <tr class="row-even"><td><p><a class="reference internal" href="ir_module.html#sphx-glr-get-started-tutorials-ir-module-py"><span class="std std-ref">IRModule</span></a> (<code class="docutils literal notranslate"><span class="pre">ir_module.py</span></code>)</p></td>
-<td><p>00:08.505</p></td>
+<td><p>00:08.427</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="quick_start.html#sphx-glr-get-started-tutorials-quick-start-py"><span class="std std-ref">Quick Start</span></a> (<code class="docutils literal notranslate"><span class="pre">quick_start.py</span></code>)</p></td>
-<td><p>00:00.186</p></td>
+<td><p>00:00.164</p></td>
 <td><p>0.0</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/tutorials/cross_compilation_and_rpc.html b/docs/how_to/tutorials/cross_compilation_and_rpc.html
index b2ffd05f828..82761593be5 100644
--- a/docs/how_to/tutorials/cross_compilation_and_rpc.html
+++ b/docs/how_to/tutorials/cross_compilation_and_rpc.html
@@ -474,7 +474,7 @@ device and returns the measured cost. Network overhead is excluded.</p>
 <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">cost</span><span class="si">:</span><span class="s2">g</span><span class="si">}</span><span class="s2"> secs/op&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>1.15e-07 secs/op
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>1e-07 secs/op
 </pre></div>
 </div>
 </section>
@@ -842,8 +842,8 @@ for ONNX models. Simply replace <code class="docutils literal notranslate"><span
 Converted PyTorch model to Relax:
   - Number of parameters: 4
 Using local target for demonstration
-Exported library to: /tmp/tmpqm4f8j1w/model_deployed.so
-Saved parameters to: /tmp/tmpqm4f8j1w/model_params.npz
+Exported library to: /tmp/tmpgbrj4x30/model_deployed.so
+Saved parameters to: /tmp/tmpgbrj4x30/model_params.npz
 
 RPC workflow (works for any remote device):
 ==================================================
diff --git a/docs/how_to/tutorials/customize_opt.html b/docs/how_to/tutorials/customize_opt.html
index fa3b4e86c49..79871653c0e 100644
--- a/docs/how_to/tutorials/customize_opt.html
+++ b/docs/how_to/tutorials/customize_opt.html
@@ -617,8 +617,8 @@ pushing the performance to the limit. The current optimization may not be the be
 <span class="nb">print</span><span class="p">(</span><span class="n">gpu_out</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[23719.93  26029.172 26270.83  25725.133 23472.457 24546.281 25605.47
-  22791.45  23442.234 25423.701]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[24665.752 26322.93  25268.332 27490.527 24857.363 24875.5   24900.373
+  25618.676 24956.736 26576.27 ]]
 </pre></div>
 </div>
 </section>
diff --git a/docs/how_to/tutorials/e2e_opt_model.html b/docs/how_to/tutorials/e2e_opt_model.html
index 0bd05778854..b4db3fa8be4 100644
--- a/docs/how_to/tutorials/e2e_opt_model.html
+++ b/docs/how_to/tutorials/e2e_opt_model.html
@@ -329,8 +329,8 @@ PyTorch.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: &quot;https://download.pytorch.org/models/resnet18-f37072fd.pth&quot; to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
 
   0%|          | 0.00/44.7M [00:00&lt;?, ?B/s]
- 66%|██████▌   | 29.5M/44.7M [00:00&lt;00:00, 309MB/s]
-100%|██████████| 44.7M/44.7M [00:00&lt;00:00, 310MB/s]
+ 51%|█████     | 22.9M/44.7M [00:00&lt;00:00, 239MB/s]
+100%|██████████| 44.7M/44.7M [00:00&lt;00:00, 247MB/s]
 </pre></div>
 </div>
 </section>
diff --git a/docs/how_to/tutorials/sg_execution_times.html b/docs/how_to/tutorials/sg_execution_times.html
index 260410f1162..cdf9a78a44c 100644
--- a/docs/how_to/tutorials/sg_execution_times.html
+++ b/docs/how_to/tutorials/sg_execution_times.html
@@ -294,7 +294,7 @@
             
   <section id="computation-times">
 <span id="sphx-glr-how-to-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:37.161</strong> total execution time for 5 files <strong>from how_to/tutorials</strong>:</p>
+<p><strong>00:30.244</strong> total execution time for 5 files <strong>from how_to/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -316,19 +316,19 @@ $(document).ready( function () {
 </thead>
 <tbody>
 <tr class="row-even"><td><p><a class="reference internal" href="optimize_llm.html#sphx-glr-how-to-tutorials-optimize-llm-py"><span class="std std-ref">Optimize Large Language Model</span></a> (<code class="docutils literal notranslate"><span class="pre">optimize_llm.py</span></code>)</p></td>
-<td><p>00:35.185</p></td>
+<td><p>00:28.457</p></td>
 <td><p>0.0</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="customize_opt.html#sphx-glr-how-to-tutorials-customize-opt-py"><span class="std std-ref">Customize Optimization</span></a> (<code class="docutils literal notranslate"><span class="pre">customize_opt.py</span></code>)</p></td>
-<td><p>00:00.697</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="e2e_opt_model.html#sphx-glr-how-to-tutorials-e2e-opt-model-py"><span class="std std-ref">End-to-End Optimize Model</span></a> (<code class="docutils literal notranslate"><span class="pre">e2e_opt_model.py</span></code>)</p></td>
+<td><p>00:00.680</p></td>
 <td><p>0.0</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="e2e_opt_model.html#sphx-glr-how-to-tutorials-e2e-opt-model-py"><span class="std std-ref">End-to-End Optimize Model</span></a> (<code class="docutils literal notranslate"><span class="pre">e2e_opt_model.py</span></code>)</p></td>
-<td><p>00:00.695</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="customize_opt.html#sphx-glr-how-to-tutorials-customize-opt-py"><span class="std std-ref">Customize Optimization</span></a> (<code class="docutils literal notranslate"><span class="pre">customize_opt.py</span></code>)</p></td>
+<td><p>00:00.616</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="cross_compilation_and_rpc.html#sphx-glr-how-to-tutorials-cross-compilation-and-rpc-py"><span class="std std-ref">Cross Compilation and RPC</span></a> (<code class="docutils literal notranslate"><span class="pre">cross_compilation_and_rpc.py</span></code>)</p></td>
-<td><p>00:00.581</p></td>
+<td><p>00:00.488</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="export_and_load_executable.html#sphx-glr-how-to-tutorials-export-and-load-executable-py"><span class="std std-ref">Export and Load Relax Executables</span></a> (<code class="docutils literal notranslate"><span class="pre">export_and_load_executable.py</span></code>)</p></td>
diff --git a/docs/objects.inv b/docs/objects.inv
index d3221f75ea6..1a4afd2a277 100644
Binary files a/docs/objects.inv and b/docs/objects.inv differ
diff --git a/docs/reference/api/doxygen/annotated.html b/docs/reference/api/doxygen/annotated.html
index 2cd7632cf37..54025e90a86 100644
--- a/docs/reference/api/doxygen/annotated.html
+++ b/docs/reference/api/doxygen/annotated.html
@@ -177,182 +177,183 @@ $(function() {
 <tr id="row_0_4_38_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html" target="_self">Conv3DAttrs</a></td><td class="desc">Attributes used in Conv3d operator </td></tr>
 <tr id="row_0_4_39_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1Conv1DTransposeAttrs.html" target="_self">Conv1DTransposeAttrs</a></td><td class="desc">Attributes used in Conv1DTranspose operator </td></tr>
 <tr id="row_0_4_40_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html" target="_self">Conv2DTransposeAttrs</a></td><td class="desc">Attributes used in Conv2d operator </td></tr>
-<tr id="row_0_4_41_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1Pool1DAttrs.html" target="_self">Pool1DAttrs</a></td><td class="desc">Attributes used in max_pool1d and avg_pool1d operator </td></tr>
-<tr id="row_0_4_42_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1Pool2DAttrs.html" target="_self">Pool2DAttrs</a></td><td class="desc">Attributes used in max_pool2d and avg_pool2d operator </td></tr>
-<tr id="row_0_4_43_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1Pool3DAttrs.html" target="_self">Pool3DAttrs</a></td><td class="desc">Attributes used in max_pool3d and avg_pool3d operator </td></tr>
-<tr id="row_0_4_44_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AdaptivePool1DAttrs.html" target="_self">AdaptivePool1DAttrs</a></td><td class="desc">Attributes for 1d adaptive pool operator </td></tr>
-<tr id="row_0_4_45_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AdaptivePool2DAttrs.html" target="_self">AdaptivePool2DAttrs</a></td><td class="desc">Attributes for 2d adaptive pool operator </td></tr>
-<tr id="row_0_4_46_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AdaptivePool3DAttrs.html" target="_self">AdaptivePool3DAttrs</a></td><td class="desc">Attributes for 3d adaptive pool operator </td></tr>
-<tr id="row_0_4_47_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1SoftmaxAttrs.html" target="_self">SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
-<tr id="row_0_4_48_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1LeakyReluAttrs.html" target="_self">LeakyReluAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
-<tr id="row_0_4_49_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1SoftplusAttrs.html" target="_self">SoftplusAttrs</a></td><td class="desc">Attributes used in softplus operators </td></tr>
-<tr id="row_0_4_50_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1PReluAttrs.html" target="_self">PReluAttrs</a></td><td class="desc">Attributes used in PReLU operator </td></tr>
-<tr id="row_0_4_51_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1BatchNormAttrs.html" target="_self">BatchNormAttrs</a></td><td class="desc">Attributes used in batch_norm operator </td></tr>
-<tr id="row_0_4_52_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1LayerNormAttrs.html" target="_self">LayerNormAttrs</a></td><td class="desc">Attributes used in layer_norm operator </td></tr>
-<tr id="row_0_4_53_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1GroupNormAttrs.html" target="_self">GroupNormAttrs</a></td><td class="desc">Attributes used in group_norm operator </td></tr>
-<tr id="row_0_4_54_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1InstanceNormAttrs.html" target="_self">InstanceNormAttrs</a></td><td class="desc">Attributes used in instance_norm operator </td></tr>
-<tr id="row_0_4_55_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1RMSNormAttrs.html" target="_self">RMSNormAttrs</a></td><td class="desc">Attributes used in rms_norm operator </td></tr>
-<tr id="row_0_4_56_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1NLLLossAttrs.html" target="_self">NLLLossAttrs</a></td><td class="desc">Attributes used in nll_loss operator </td></tr>
-<tr id="row_0_4_57_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1DropoutAttrs.html" target="_self">DropoutAttrs</a></td><td class="desc">Attributes used in dropout operator </td></tr>
-<tr id="row_0_4_58_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AttentionAttrs.html" target="_self">AttentionAttrs</a></td><td class="desc">Attributes used in Attention operator </td></tr>
-<tr id="row_0_4_59_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1PadAttrs.html" target="_self">PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
-<tr id="row_0_4_60_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1PixelShuffleAttrs.html" target="_self">PixelShuffleAttrs</a></td><td class="desc">Attributes used for the pixel shuffle operator </td></tr>
-<tr id="row_0_4_61_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1CallTIRWithGradAttrs.html" target="_self">CallTIRWithGradAttrs</a></td><td class="desc">Attributes used in call_tir_with_grad </td></tr>
-<tr id="row_0_4_62_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1CallTIRInplaceAttrs.html" target="_self">CallTIRInplaceAttrs</a></td><td class="desc">Attributes used in call_tir_inplace </td></tr>
-<tr id="row_0_4_63_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1CallInplacePackedAttrs.html" target="_self">CallInplacePackedAttrs</a></td><td class="desc">Attributes used in call_inplace_packed </td></tr>
-<tr id="row_0_4_64_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ToVDeviceAttrs.html" target="_self">ToVDeviceAttrs</a></td><td class="desc">Attributes used in to_vdevice </td></tr>
-<tr id="row_0_4_65_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1HintOnDeviceAttrs.html" target="_self">HintOnDeviceAttrs</a></td><td class="desc">Attributes used in hint_on_device </td></tr>
-<tr id="row_0_4_66_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1QuantizeAttrs.html" target="_self">QuantizeAttrs</a></td><td class="desc">Attributes for relax.quantize/relax.dequantize operator </td></tr>
-<tr id="row_0_4_67_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1MultinomialFromUniformAttrs.html" target="_self">MultinomialFromUniformAttrs</a></td><td class="desc">Attributes used in multinomial_from_uniform operator </td></tr>
-<tr id="row_0_4_68_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ArgmaxArgminAttrs.html" target="_self">ArgmaxArgminAttrs</a></td><td class="desc">Attributes for search operators </td></tr>
-<tr id="row_0_4_69_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1BucketizeAttrs.html" target="_self">BucketizeAttrs</a></td><td class="desc">Attributes for bucketize operator </td></tr>
-<tr id="row_0_4_70_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1SortAttrs.html" target="_self">SortAttrs</a></td><td class="desc">Attributes used in sort operator </td></tr>
-<tr id="row_0_4_71_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ArgsortAttrs.html" target="_self">ArgsortAttrs</a></td><td class="desc">Attributes used in argsort operator </td></tr>
-<tr id="row_0_4_72_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1TopKAttrs.html" target="_self">TopKAttrs</a></td><td class="desc">Attributes used in topk operator </td></tr>
-<tr id="row_0_4_73_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1StatisticalAttrs.html" target="_self">StatisticalAttrs</a></td><td class="desc">Attributes for statistical operators </td></tr>
-<tr id="row_0_4_74_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ScanopAttrs.html" target="_self">ScanopAttrs</a></td><td class="desc">Attributes used in scan operators like cumsum, cumprod </td></tr>
-<tr id="row_0_4_75_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AllClassNonMaximumSuppressionAttrs.html" target="_self">AllClassNonMaximumSuppressionAttrs</a></td><td class="desc">Attributes used in AllClassNonMaximumSuppression operator </td></tr>
-<tr id="row_0_4_76_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ROIAlignAttrs.html" target="_self">ROIAlignAttrs</a></td><td class="desc">Attributes used in ROIAlign operator </td></tr>
-<tr id="row_0_4_77_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1GetValidCountsAttrs.html" target="_self">GetValidCountsAttrs</a></td><td class="desc">Attributes used in GetValidCounts operator </td></tr>
-<tr id="row_0_4_78_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1NonMaximumSuppressionAttrs.html" target="_self">NonMaximumSuppressionAttrs</a></td><td class="desc">Attributes used in NonMaximumSuppression operator </td></tr>
-<tr id="row_0_4_79_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1MultiboxTransformLocAttrs.html" target="_self">MultiboxTransformLocAttrs</a></td><td class="desc">Attributes for multibox_transform_loc (SSD / TFLite-style box decode) </td></tr>
-<tr id="row_0_4_80_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html" target="_self">DataflowBlockRewriteNode</a></td><td class="desc">Statement rewriter for <a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">relax.DataflowBlock</a> </td></tr>
-<tr id="row_0_4_81_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlockRewrite.html" target="_self">DataflowBlockRewrite</a></td><td class="desc">A statement rewriter for <a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">relax.DataflowBlock</a> </td></tr>
-<tr id="row_0_4_82_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BlockBuilderNode.html" target="_self">BlockBuilderNode</a></td><td class="desc">A builder to build Relax binding blocks </td></tr>
-<tr id="row_0_4_83_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_4_83_" class="arrow" onclick="toggleFolder('0_4_83_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BlockBuilder.html" target="_self">BlockBuilder</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_83_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1BlockBuilder_1_1DisableOperatorSpecificNormalizationForTVMScript.html" target="_self">DisableOperatorSpecificNormalizationForTVMScript</a></td><td class="desc">A marker struct to disable FNormalize </td></tr>
-<tr id="row_0_4_84_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPatternNode.html" target="_self">DFPatternNode</a></td><td class="desc">Base type of all dataflow patterns </td></tr>
-<tr id="row_0_4_85_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPattern.html" target="_self">DFPattern</a></td><td class="desc">Managed reference to dataflow patterns </td></tr>
-<tr id="row_0_4_86_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1PairCons.html" target="_self">PairCons</a></td><td class="desc">Constraint of a <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> edge (producer -&gt; consumer) in graph-level matching </td></tr>
-<tr id="row_0_4_87_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFConstraintNode.html" target="_self">DFConstraintNode</a></td><td class="desc">Additional constraints on the graph </td></tr>
-<tr id="row_0_4_88_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFConstraint.html" target="_self">DFConstraint</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_89_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternSeqNode.html" target="_self">PatternSeqNode</a></td><td class="desc">A sequence of DFPatterns that the previous <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> is connected to the next one </td></tr>
-<tr id="row_0_4_90_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternSeq.html" target="_self">PatternSeq</a></td><td class="desc">Managed reference to pattern sequences </td></tr>
-<tr id="row_0_4_91_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternContextNode.html" target="_self">PatternContextNode</a></td><td class="desc">A context to manage the graph-level pattern matching </td></tr>
-<tr id="row_0_4_92_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternContext.html" target="_self">PatternContext</a></td><td class="desc">Managed reference to a pattern context </td></tr>
-<tr id="row_0_4_93_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprPatternNode.html" target="_self">ExprPatternNode</a></td><td class="desc">Pattern for Relax Expression </td></tr>
-<tr id="row_0_4_94_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprPattern.html" target="_self">ExprPattern</a></td><td class="desc">Managed reference to an <a class="el" href="classtvm_1_1relax_1_1ExprPattern.html" title="Managed reference to an ExprPattern.">ExprPattern</a> </td></tr>
-<tr id="row_0_4_95_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarPatternNode.html" target="_self">VarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Variable </td></tr>
-<tr id="row_0_4_96_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarPattern.html" target="_self">VarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1VarPattern.html" title="Managed reference to a VarPattern.">VarPattern</a> </td></tr>
-<tr id="row_0_4_97_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVarPatternNode.html" target="_self">DataflowVarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Dataflow Variable </td></tr>
-<tr id="row_0_4_98_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVarPattern.html" target="_self">DataflowVarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1DataflowVarPattern.html" title="Managed reference to a DataflowVarPattern.">DataflowVarPattern</a> </td></tr>
-<tr id="row_0_4_99_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1GlobalVarPatternNode.html" target="_self">GlobalVarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Global Variable </td></tr>
-<tr id="row_0_4_100_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1GlobalVarPattern.html" target="_self">GlobalVarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1GlobalVarPattern.html" title="Managed reference to a GlobalVarPattern.">GlobalVarPattern</a> </td></tr>
-<tr id="row_0_4_101_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ConstantPatternNode.html" target="_self">ConstantPatternNode</a></td><td class="desc">A Pattern to Match a Relax <a class="el" href="classtvm_1_1relax_1_1Constant.html">Constant</a> </td></tr>
-<tr id="row_0_4_102_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ConstantPattern.html" target="_self">ConstantPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1ConstantPattern.html" title="Managed reference to a ConstantPattern.">ConstantPattern</a> </td></tr>
-<tr id="row_0_4_103_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1CallPatternNode.html" target="_self">CallPatternNode</a></td><td class="desc">A pattern to match a callable node in Relax </td></tr>
-<tr id="row_0_4_104_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1CallPattern.html" target="_self">CallPattern</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_105_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimArrPatternNode.html" target="_self">PrimArrPatternNode</a></td><td class="desc">A pattern to match an array of <a class="el" href="classtvm_1_1PrimExpr.html" title="Reference to PrimExprNode.">PrimExpr</a> </td></tr>
-<tr id="row_0_4_106_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimArrPattern.html" target="_self">PrimArrPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1PrimArrPattern.html" title="Managed reference to a PrimArrPattern.">PrimArrPattern</a> </td></tr>
-<tr id="row_0_4_107_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FunctionPatternNode.html" target="_self">FunctionPatternNode</a></td><td class="desc">A pattern to match a Relax <a class="el" href="classtvm_1_1relax_1_1Function.html">Function</a> </td></tr>
-<tr id="row_0_4_108_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FunctionPattern.html" target="_self">FunctionPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1FunctionPatternNode.html" title="A pattern to match a Relax Function.">FunctionPatternNode</a> </td></tr>
-<tr id="row_0_4_109_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TuplePatternNode.html" target="_self">TuplePatternNode</a></td><td class="desc">Pattern to match a tuple of ordered expressions </td></tr>
-<tr id="row_0_4_110_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TuplePattern.html" target="_self">TuplePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TuplePatternNode.html" title="Pattern to match a tuple of ordered expressions.">TuplePatternNode</a> </td></tr>
-<tr id="row_0_4_111_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePatternNode.html" target="_self">UnorderedTuplePatternNode</a></td><td class="desc">A pattern to match multiple expressions unorderedly </td></tr>
-<tr id="row_0_4_112_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePattern.html" target="_self">UnorderedTuplePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePatternNode.html" title="A pattern to match multiple expressions unorderedly.">UnorderedTuplePatternNode</a>  [...]
-<tr id="row_0_4_113_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItemPatternNode.html" target="_self">TupleGetItemPatternNode</a></td><td class="desc">A pattern to match n'th indexing to a tuple </td></tr>
-<tr id="row_0_4_114_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItemPattern.html" target="_self">TupleGetItemPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TupleGetItemPatternNode.html" title="A pattern to match n&#39;th indexing to a tuple.">TupleGetItemPatternNode</a> </td></tr>
-<tr id="row_0_4_115_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AndPatternNode.html" target="_self">AndPatternNode</a></td><td class="desc">Match a conjunction of other patterns </td></tr>
-<tr id="row_0_4_116_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AndPattern.html" target="_self">AndPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1AndPatternNode.html" title="Match a conjunction of other patterns.">AndPatternNode</a> </td></tr>
-<tr id="row_0_4_117_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1OrPatternNode.html" target="_self">OrPatternNode</a></td><td class="desc">Match a disjunction of other patterns </td></tr>
-<tr id="row_0_4_118_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1OrPattern.html" target="_self">OrPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1OrPatternNode.html" title="Match a disjunction of other patterns.">OrPatternNode</a> </td></tr>
-<tr id="row_0_4_119_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1NotPatternNode.html" target="_self">NotPatternNode</a></td><td class="desc">Pattern for rejecting a certain pattern </td></tr>
-<tr id="row_0_4_120_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1NotPattern.html" target="_self">NotPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1NotPatternNode.html" title="Pattern for rejecting a certain pattern.">NotPatternNode</a> </td></tr>
-<tr id="row_0_4_121_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1WildcardPatternNode.html" target="_self">WildcardPatternNode</a></td><td class="desc">Wildcard Pattern is a pattern that can match anything </td></tr>
-<tr id="row_0_4_122_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1WildcardPattern.html" target="_self">WildcardPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1WildcardPatternNode.html" title="Wildcard Pattern is a pattern that can match anything.">WildcardPatternNode</a> </td></tr>
-<tr id="row_0_4_123_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoPatternNode.html" target="_self">StructInfoPatternNode</a></td><td class="desc">Pattern for matching a certain struct info </td></tr>
-<tr id="row_0_4_124_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoPattern.html" target="_self">StructInfoPattern</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_125_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapePatternNode.html" target="_self">ShapePatternNode</a></td><td class="desc">A pattern that asserting a root pattern has a certain shape </td></tr>
-<tr id="row_0_4_126_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapePattern.html" target="_self">ShapePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ShapePatternNode.html" title="A pattern that asserting a root pattern has a certain shape.">ShapePatternNode</a> </td></tr>
-<tr id="row_0_4_127_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SameShapeConstraintNode.html" target="_self">SameShapeConstraintNode</a></td><td class="desc">A pattern that asserting multiple root patterns have the same shape </td></tr>
-<tr id="row_0_4_128_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SameShapeConstraint.html" target="_self">SameShapeConstraint</a></td><td class="desc">Managed reference to SameShapePatternNode </td></tr>
-<tr id="row_0_4_129_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypePatternNode.html" target="_self">DataTypePatternNode</a></td><td class="desc">A pattern that asserting a root pattern has a certain data type </td></tr>
-<tr id="row_0_4_130_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypePattern.html" target="_self">DataTypePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DataTypePatternNode.html" title="A pattern that asserting a root pattern has a certain data type.">DataTypePatternNode</a> </td></tr>
-<tr id="row_0_4_131_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AttrPatternNode.html" target="_self">AttrPatternNode</a></td><td class="desc">A pattern that asserting a root pattern has certain attributes </td></tr>
-<tr id="row_0_4_132_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AttrPattern.html" target="_self">AttrPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1AttrPatternNode.html" title="A pattern that asserting a root pattern has certain attributes.">AttrPatternNode</a> </td></tr>
-<tr id="row_0_4_133_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFuncPatternNode.html" target="_self">ExternFuncPatternNode</a></td><td class="desc">A pattern of external function </td></tr>
-<tr id="row_0_4_134_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFuncPattern.html" target="_self">ExternFuncPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ExternFuncPatternNode.html" title="A pattern of external function.">ExternFuncPatternNode</a> </td></tr>
-<tr id="row_0_4_135_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_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_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> argument </td></tr>
-<tr id="row_0_4_136_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_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_0_4_137_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPatternVisitor.html" target="_self">DFPatternVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relax_1_1DFPatternFunctor.html" title="A dynamical functor that dispatches on in the first DFPattern argument.">DFPatternFunctor</a [...]
-<tr id="row_0_4_138_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExecBuilderNode.html" target="_self">ExecBuilderNode</a></td><td class="desc">A builder provides api to build VM executable with instructions </td></tr>
-<tr id="row_0_4_139_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExecBuilder.html" target="_self">ExecBuilder</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_140_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1IdNode.html" target="_self">IdNode</a></td><td class="desc">The unique identifier of variables </td></tr>
-<tr id="row_0_4_141_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Id.html" target="_self">Id</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_142_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoNode.html" target="_self">StructInfoNode</a></td><td class="desc">Base type of all structure information </td></tr>
-<tr id="row_0_4_143_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" target="_self">StructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1StructInfoNode.html" title="Base type of all structure information.">StructInfoNode</a> </td></tr>
-<tr id="row_0_4_144_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1CallNode.html" target="_self">CallNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Call.html">Call</a> corresponds to callable invocation. Corresponds to operation in computational graph terminology </td></tr>
-<tr id="row_0_4_145_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Call.html" target="_self">Call</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_146_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleNode.html" target="_self">TupleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Tuple.html">Tuple</a> container </td></tr>
-<tr id="row_0_4_147_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Tuple.html" target="_self">Tuple</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_148_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItemNode.html" target="_self">TupleGetItemNode</a></td><td class="desc">Get index-th field out of a tuple </td></tr>
-<tr id="row_0_4_149_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItem.html" target="_self">TupleGetItem</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_150_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1LeafExprNode.html" target="_self">LeafExprNode</a></td><td class="desc">Base type of all (non-function) leaf Exprs </td></tr>
-<tr id="row_0_4_151_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1LeafExpr.html" target="_self">LeafExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1BaseExprNode.html" title="Base type of all the expressions.">BaseExprNode</a> </td></tr>
-<tr id="row_0_4_152_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeExprNode.html" target="_self">ShapeExprNode</a></td><td class="desc">A shape expression which allows users to construct a shape containing <a class="el" href="classtvm_1_1PrimExpr.html" title="Reference to PrimExprNode.">PrimExpr</a> </td></tr>
-<tr id="row_0_4_153_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeExpr.html" target="_self">ShapeExpr</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_154_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarNode.html" target="_self">VarNode</a></td><td class="desc">The variable class for all Relax bindings </td></tr>
-<tr id="row_0_4_155_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Var.html" target="_self">Var</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_156_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVarNode.html" target="_self">DataflowVarNode</a></td><td class="desc">A sub-type of the variable node used to mark dataflow variables from normal visible "function local" bindings </td></tr>
-<tr id="row_0_4_157_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVar.html" target="_self">DataflowVar</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_158_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ConstantNode.html" target="_self">ConstantNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Constant.html">Constant</a> tensor </td></tr>
-<tr id="row_0_4_159_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Constant.html" target="_self">Constant</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_160_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimValueNode.html" target="_self">PrimValueNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1PrimValue.html" title="Managed reference to PrimValueNode.">PrimValue</a> </td></tr>
-<tr id="row_0_4_161_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimValue.html" target="_self">PrimValue</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1PrimValueNode.html" title="PrimValue.">PrimValueNode</a> </td></tr>
-<tr id="row_0_4_162_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StringImmNode.html" target="_self">StringImmNode</a></td><td class="desc">Represent a string literal constant </td></tr>
-<tr id="row_0_4_163_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StringImm.html" target="_self">StringImm</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1StringImm.html" title="Managed reference to StringImm.">StringImm</a> </td></tr>
-<tr id="row_0_4_164_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypeImmNode.html" target="_self">DataTypeImmNode</a></td><td class="desc">Represent a data type constant </td></tr>
-<tr id="row_0_4_165_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypeImm.html" target="_self">DataTypeImm</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DataTypeImm.html" title="Managed reference to DataTypeImm.">DataTypeImm</a> </td></tr>
-<tr id="row_0_4_166_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BindingNode.html" target="_self">BindingNode</a></td><td class="desc">The base class of a variable binding in Relax </td></tr>
-<tr id="row_0_4_167_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Binding.html" target="_self">Binding</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_168_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchCastNode.html" target="_self">MatchCastNode</a></td><td class="desc">Runtime-match the value to the struct info </td></tr>
-<tr id="row_0_4_169_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchCast.html" target="_self">MatchCast</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1MatchCastNode.html" title="Runtime-match the value to the struct info.">MatchCastNode</a> </td></tr>
-<tr id="row_0_4_170_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarBindingNode.html" target="_self">VarBindingNode</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_171_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarBinding.html" target="_self">VarBinding</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_172_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BindingBlockNode.html" target="_self">BindingBlockNode</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_173_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BindingBlock.html" target="_self">BindingBlock</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_174_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlockNode.html" target="_self">DataflowBlockNode</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_175_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html" target="_self">DataflowBlock</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_176_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SeqExprNode.html" target="_self">SeqExprNode</a></td><td class="desc">A sequence of blocks followed by an expression </td></tr>
-<tr id="row_0_4_177_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SeqExpr.html" target="_self">SeqExpr</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_178_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1IfNode.html" target="_self">IfNode</a></td><td class="desc">Condition expression </td></tr>
-<tr id="row_0_4_179_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1If.html" target="_self">If</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_180_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FunctionNode.html" target="_self">FunctionNode</a></td><td class="desc">A Relax function </td></tr>
-<tr id="row_0_4_181_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Function.html" target="_self">Function</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_182_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFuncNode.html" target="_self">ExternFuncNode</a></td><td class="desc">The extern function, which can represent packed function </td></tr>
-<tr id="row_0_4_183_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFunc.html" target="_self">ExternFunc</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_184_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_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="classtvm_1_1re [...]
-<tr id="row_0_4_185_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_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_0_4_186_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprVisitor.html" target="_self">ExprVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relax_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerfu...">E [...]
-<tr id="row_0_4_187_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprMutatorBase.html" target="_self">ExprMutatorBase</a></td><td class="desc">A mutator works in unnormalized form </td></tr>
-<tr id="row_0_4_188_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprMutator.html" target="_self">ExprMutator</a></td><td class="desc">A mutator works in normal form </td></tr>
-<tr id="row_0_4_189_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1NestedMsg.html" target="_self">NestedMsg</a></td><td class="desc">Container that stores possibly nested message with leaf message type T </td></tr>
-<tr id="row_0_4_190_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectStructInfoNode.html" target="_self">ObjectStructInfoNode</a></td><td class="desc">Opaque object </td></tr>
-<tr id="row_0_4_191_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectStructInfo.html" target="_self">ObjectStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ObjectStructInfoNode.html" title="Opaque object.">ObjectStructInfoNode</a> </td></tr>
-<tr id="row_0_4_192_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimStructInfoNode.html" target="_self">PrimStructInfoNode</a></td><td class="desc">Primitive value </td></tr>
-<tr id="row_0_4_193_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimStructInfo.html" target="_self">PrimStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1PrimStructInfoNode.html" title="Primitive value.">PrimStructInfoNode</a> </td></tr>
-<tr id="row_0_4_194_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeStructInfoNode.html" target="_self">ShapeStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of shape value </td></tr>
-<tr id="row_0_4_195_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeStructInfo.html" target="_self">ShapeStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ShapeStructInfoNode.html" title="StructInfo of shape value.">ShapeStructInfoNode</a> </td></tr>
-<tr id="row_0_4_196_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TensorStructInfoNode.html" target="_self">TensorStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of Tensor </td></tr>
-<tr id="row_0_4_197_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TensorStructInfo.html" target="_self">TensorStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TensorStructInfoNode.html" title="StructInfo of Tensor.">TensorStructInfoNode</a> </td></tr>
-<tr id="row_0_4_198_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleStructInfoNode.html" target="_self">TupleStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of <a class="el" href="classtvm_1_1relax_1_1Tuple.html">Tuple</a> </td></tr>
-<tr id="row_0_4_199_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleStructInfo.html" target="_self">TupleStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TupleStructInfoNode.html" title="StructInfo of Tuple.">TupleStructInfoNode</a> </td></tr>
-<tr id="row_0_4_200_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FuncStructInfoNode.html" target="_self">FuncStructInfoNode</a></td><td class="desc">Structure information about function </td></tr>
-<tr id="row_0_4_201_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FuncStructInfo.html" target="_self">FuncStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1FuncStructInfoNode.html" title="Structure information about function.">FuncStructInfoNode</a> </td></tr>
-<tr id="row_0_4_202_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoFunctor.html" target="_self">StructInfoFunctor</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_203_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoFunctor_3_01R_07const_01StructInfo_01_6n_00_01Args_8_8_8_08_4.html" target="_self">StructInfoFunctor&lt; R(const StructInfo &amp;n, Args...)&gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_204_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoVisitor.html" target="_self">StructInfoVisitor</a></td><td class="desc">A struct info visitor </td></tr>
-<tr id="row_0_4_205_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoMutator.html" target="_self">StructInfoMutator</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfoMutator.html" title="StructInfoMutator that mutates struct info.">StructInfoMutator</a> that mutates struct info </td></tr>
-<tr id="row_0_4_206_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchResultNode.html" target="_self">MatchResultNode</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_207_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchResult.html" target="_self">MatchResult</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1MatchResultNode.html">MatchResultNode</a> </td></tr>
-<tr id="row_0_4_208_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeTypeNode.html" target="_self">ShapeTypeNode</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_209_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeType.html" target="_self">ShapeType</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_210_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TensorTypeNode.html" target="_self">TensorTypeNode</a></td><td class="desc">Dynamic version of <a class="el" href="classtvm_1_1relax_1_1TensorType.html" title="Managed reference to TensorTypeNode.">TensorType</a> </td></tr>
-<tr id="row_0_4_211_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TensorType.html" target="_self">TensorType</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TensorTypeNode.html" title="Dynamic version of TensorType.">TensorTypeNode</a> </td></tr>
-<tr id="row_0_4_212_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectTypeNode.html" target="_self">ObjectTypeNode</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_213_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectType.html" target="_self">ObjectType</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_214_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PackedFuncTypeNode.html" target="_self">PackedFuncTypeNode</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_215_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PackedFuncType.html" target="_self">PackedFuncType</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_41_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html" target="_self">Conv3DTransposeAttrs</a></td><td class="desc">Attributes used in Conv3dTranspose operator </td></tr>
+<tr id="row_0_4_42_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1Pool1DAttrs.html" target="_self">Pool1DAttrs</a></td><td class="desc">Attributes used in max_pool1d and avg_pool1d operator </td></tr>
+<tr id="row_0_4_43_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1Pool2DAttrs.html" target="_self">Pool2DAttrs</a></td><td class="desc">Attributes used in max_pool2d and avg_pool2d operator </td></tr>
+<tr id="row_0_4_44_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1Pool3DAttrs.html" target="_self">Pool3DAttrs</a></td><td class="desc">Attributes used in max_pool3d and avg_pool3d operator </td></tr>
+<tr id="row_0_4_45_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AdaptivePool1DAttrs.html" target="_self">AdaptivePool1DAttrs</a></td><td class="desc">Attributes for 1d adaptive pool operator </td></tr>
+<tr id="row_0_4_46_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AdaptivePool2DAttrs.html" target="_self">AdaptivePool2DAttrs</a></td><td class="desc">Attributes for 2d adaptive pool operator </td></tr>
+<tr id="row_0_4_47_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AdaptivePool3DAttrs.html" target="_self">AdaptivePool3DAttrs</a></td><td class="desc">Attributes for 3d adaptive pool operator </td></tr>
+<tr id="row_0_4_48_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1SoftmaxAttrs.html" target="_self">SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
+<tr id="row_0_4_49_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1LeakyReluAttrs.html" target="_self">LeakyReluAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
+<tr id="row_0_4_50_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1SoftplusAttrs.html" target="_self">SoftplusAttrs</a></td><td class="desc">Attributes used in softplus operators </td></tr>
+<tr id="row_0_4_51_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1PReluAttrs.html" target="_self">PReluAttrs</a></td><td class="desc">Attributes used in PReLU operator </td></tr>
+<tr id="row_0_4_52_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1BatchNormAttrs.html" target="_self">BatchNormAttrs</a></td><td class="desc">Attributes used in batch_norm operator </td></tr>
+<tr id="row_0_4_53_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1LayerNormAttrs.html" target="_self">LayerNormAttrs</a></td><td class="desc">Attributes used in layer_norm operator </td></tr>
+<tr id="row_0_4_54_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1GroupNormAttrs.html" target="_self">GroupNormAttrs</a></td><td class="desc">Attributes used in group_norm operator </td></tr>
+<tr id="row_0_4_55_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1InstanceNormAttrs.html" target="_self">InstanceNormAttrs</a></td><td class="desc">Attributes used in instance_norm operator </td></tr>
+<tr id="row_0_4_56_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1RMSNormAttrs.html" target="_self">RMSNormAttrs</a></td><td class="desc">Attributes used in rms_norm operator </td></tr>
+<tr id="row_0_4_57_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1NLLLossAttrs.html" target="_self">NLLLossAttrs</a></td><td class="desc">Attributes used in nll_loss operator </td></tr>
+<tr id="row_0_4_58_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1DropoutAttrs.html" target="_self">DropoutAttrs</a></td><td class="desc">Attributes used in dropout operator </td></tr>
+<tr id="row_0_4_59_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AttentionAttrs.html" target="_self">AttentionAttrs</a></td><td class="desc">Attributes used in Attention operator </td></tr>
+<tr id="row_0_4_60_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1PadAttrs.html" target="_self">PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
+<tr id="row_0_4_61_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1PixelShuffleAttrs.html" target="_self">PixelShuffleAttrs</a></td><td class="desc">Attributes used for the pixel shuffle operator </td></tr>
+<tr id="row_0_4_62_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1CallTIRWithGradAttrs.html" target="_self">CallTIRWithGradAttrs</a></td><td class="desc">Attributes used in call_tir_with_grad </td></tr>
+<tr id="row_0_4_63_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1CallTIRInplaceAttrs.html" target="_self">CallTIRInplaceAttrs</a></td><td class="desc">Attributes used in call_tir_inplace </td></tr>
+<tr id="row_0_4_64_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1CallInplacePackedAttrs.html" target="_self">CallInplacePackedAttrs</a></td><td class="desc">Attributes used in call_inplace_packed </td></tr>
+<tr id="row_0_4_65_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ToVDeviceAttrs.html" target="_self">ToVDeviceAttrs</a></td><td class="desc">Attributes used in to_vdevice </td></tr>
+<tr id="row_0_4_66_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1HintOnDeviceAttrs.html" target="_self">HintOnDeviceAttrs</a></td><td class="desc">Attributes used in hint_on_device </td></tr>
+<tr id="row_0_4_67_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1QuantizeAttrs.html" target="_self">QuantizeAttrs</a></td><td class="desc">Attributes for relax.quantize/relax.dequantize operator </td></tr>
+<tr id="row_0_4_68_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1MultinomialFromUniformAttrs.html" target="_self">MultinomialFromUniformAttrs</a></td><td class="desc">Attributes used in multinomial_from_uniform operator </td></tr>
+<tr id="row_0_4_69_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ArgmaxArgminAttrs.html" target="_self">ArgmaxArgminAttrs</a></td><td class="desc">Attributes for search operators </td></tr>
+<tr id="row_0_4_70_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1BucketizeAttrs.html" target="_self">BucketizeAttrs</a></td><td class="desc">Attributes for bucketize operator </td></tr>
+<tr id="row_0_4_71_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1SortAttrs.html" target="_self">SortAttrs</a></td><td class="desc">Attributes used in sort operator </td></tr>
+<tr id="row_0_4_72_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ArgsortAttrs.html" target="_self">ArgsortAttrs</a></td><td class="desc">Attributes used in argsort operator </td></tr>
+<tr id="row_0_4_73_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1TopKAttrs.html" target="_self">TopKAttrs</a></td><td class="desc">Attributes used in topk operator </td></tr>
+<tr id="row_0_4_74_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1StatisticalAttrs.html" target="_self">StatisticalAttrs</a></td><td class="desc">Attributes for statistical operators </td></tr>
+<tr id="row_0_4_75_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ScanopAttrs.html" target="_self">ScanopAttrs</a></td><td class="desc">Attributes used in scan operators like cumsum, cumprod </td></tr>
+<tr id="row_0_4_76_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1AllClassNonMaximumSuppressionAttrs.html" target="_self">AllClassNonMaximumSuppressionAttrs</a></td><td class="desc">Attributes used in AllClassNonMaximumSuppression operator </td></tr>
+<tr id="row_0_4_77_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1ROIAlignAttrs.html" target="_self">ROIAlignAttrs</a></td><td class="desc">Attributes used in ROIAlign operator </td></tr>
+<tr id="row_0_4_78_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1GetValidCountsAttrs.html" target="_self">GetValidCountsAttrs</a></td><td class="desc">Attributes used in GetValidCounts operator </td></tr>
+<tr id="row_0_4_79_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1NonMaximumSuppressionAttrs.html" target="_self">NonMaximumSuppressionAttrs</a></td><td class="desc">Attributes used in NonMaximumSuppression operator </td></tr>
+<tr id="row_0_4_80_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1MultiboxTransformLocAttrs.html" target="_self">MultiboxTransformLocAttrs</a></td><td class="desc">Attributes for multibox_transform_loc (SSD / TFLite-style box decode) </td></tr>
+<tr id="row_0_4_81_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html" target="_self">DataflowBlockRewriteNode</a></td><td class="desc">Statement rewriter for <a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">relax.DataflowBlock</a> </td></tr>
+<tr id="row_0_4_82_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlockRewrite.html" target="_self">DataflowBlockRewrite</a></td><td class="desc">A statement rewriter for <a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">relax.DataflowBlock</a> </td></tr>
+<tr id="row_0_4_83_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BlockBuilderNode.html" target="_self">BlockBuilderNode</a></td><td class="desc">A builder to build Relax binding blocks </td></tr>
+<tr id="row_0_4_84_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_4_84_" class="arrow" onclick="toggleFolder('0_4_84_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BlockBuilder.html" target="_self">BlockBuilder</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_84_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1BlockBuilder_1_1DisableOperatorSpecificNormalizationForTVMScript.html" target="_self">DisableOperatorSpecificNormalizationForTVMScript</a></td><td class="desc">A marker struct to disable FNormalize </td></tr>
+<tr id="row_0_4_85_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPatternNode.html" target="_self">DFPatternNode</a></td><td class="desc">Base type of all dataflow patterns </td></tr>
+<tr id="row_0_4_86_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPattern.html" target="_self">DFPattern</a></td><td class="desc">Managed reference to dataflow patterns </td></tr>
+<tr id="row_0_4_87_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1PairCons.html" target="_self">PairCons</a></td><td class="desc">Constraint of a <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> edge (producer -&gt; consumer) in graph-level matching </td></tr>
+<tr id="row_0_4_88_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFConstraintNode.html" target="_self">DFConstraintNode</a></td><td class="desc">Additional constraints on the graph </td></tr>
+<tr id="row_0_4_89_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFConstraint.html" target="_self">DFConstraint</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_90_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternSeqNode.html" target="_self">PatternSeqNode</a></td><td class="desc">A sequence of DFPatterns that the previous <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> is connected to the next one </td></tr>
+<tr id="row_0_4_91_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternSeq.html" target="_self">PatternSeq</a></td><td class="desc">Managed reference to pattern sequences </td></tr>
+<tr id="row_0_4_92_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternContextNode.html" target="_self">PatternContextNode</a></td><td class="desc">A context to manage the graph-level pattern matching </td></tr>
+<tr id="row_0_4_93_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PatternContext.html" target="_self">PatternContext</a></td><td class="desc">Managed reference to a pattern context </td></tr>
+<tr id="row_0_4_94_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprPatternNode.html" target="_self">ExprPatternNode</a></td><td class="desc">Pattern for Relax Expression </td></tr>
+<tr id="row_0_4_95_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprPattern.html" target="_self">ExprPattern</a></td><td class="desc">Managed reference to an <a class="el" href="classtvm_1_1relax_1_1ExprPattern.html" title="Managed reference to an ExprPattern.">ExprPattern</a> </td></tr>
+<tr id="row_0_4_96_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarPatternNode.html" target="_self">VarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Variable </td></tr>
+<tr id="row_0_4_97_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarPattern.html" target="_self">VarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1VarPattern.html" title="Managed reference to a VarPattern.">VarPattern</a> </td></tr>
+<tr id="row_0_4_98_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVarPatternNode.html" target="_self">DataflowVarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Dataflow Variable </td></tr>
+<tr id="row_0_4_99_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVarPattern.html" target="_self">DataflowVarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1DataflowVarPattern.html" title="Managed reference to a DataflowVarPattern.">DataflowVarPattern</a> </td></tr>
+<tr id="row_0_4_100_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1GlobalVarPatternNode.html" target="_self">GlobalVarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Global Variable </td></tr>
+<tr id="row_0_4_101_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1GlobalVarPattern.html" target="_self">GlobalVarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1GlobalVarPattern.html" title="Managed reference to a GlobalVarPattern.">GlobalVarPattern</a> </td></tr>
+<tr id="row_0_4_102_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ConstantPatternNode.html" target="_self">ConstantPatternNode</a></td><td class="desc">A Pattern to Match a Relax <a class="el" href="classtvm_1_1relax_1_1Constant.html">Constant</a> </td></tr>
+<tr id="row_0_4_103_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ConstantPattern.html" target="_self">ConstantPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1ConstantPattern.html" title="Managed reference to a ConstantPattern.">ConstantPattern</a> </td></tr>
+<tr id="row_0_4_104_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1CallPatternNode.html" target="_self">CallPatternNode</a></td><td class="desc">A pattern to match a callable node in Relax </td></tr>
+<tr id="row_0_4_105_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1CallPattern.html" target="_self">CallPattern</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_106_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimArrPatternNode.html" target="_self">PrimArrPatternNode</a></td><td class="desc">A pattern to match an array of <a class="el" href="classtvm_1_1PrimExpr.html" title="Reference to PrimExprNode.">PrimExpr</a> </td></tr>
+<tr id="row_0_4_107_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimArrPattern.html" target="_self">PrimArrPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1PrimArrPattern.html" title="Managed reference to a PrimArrPattern.">PrimArrPattern</a> </td></tr>
+<tr id="row_0_4_108_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FunctionPatternNode.html" target="_self">FunctionPatternNode</a></td><td class="desc">A pattern to match a Relax <a class="el" href="classtvm_1_1relax_1_1Function.html">Function</a> </td></tr>
+<tr id="row_0_4_109_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FunctionPattern.html" target="_self">FunctionPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1FunctionPatternNode.html" title="A pattern to match a Relax Function.">FunctionPatternNode</a> </td></tr>
+<tr id="row_0_4_110_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TuplePatternNode.html" target="_self">TuplePatternNode</a></td><td class="desc">Pattern to match a tuple of ordered expressions </td></tr>
+<tr id="row_0_4_111_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TuplePattern.html" target="_self">TuplePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TuplePatternNode.html" title="Pattern to match a tuple of ordered expressions.">TuplePatternNode</a> </td></tr>
+<tr id="row_0_4_112_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePatternNode.html" target="_self">UnorderedTuplePatternNode</a></td><td class="desc">A pattern to match multiple expressions unorderedly </td></tr>
+<tr id="row_0_4_113_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePattern.html" target="_self">UnorderedTuplePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePatternNode.html" title="A pattern to match multiple expressions unorderedly.">UnorderedTuplePatternNode</a>  [...]
+<tr id="row_0_4_114_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItemPatternNode.html" target="_self">TupleGetItemPatternNode</a></td><td class="desc">A pattern to match n'th indexing to a tuple </td></tr>
+<tr id="row_0_4_115_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItemPattern.html" target="_self">TupleGetItemPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TupleGetItemPatternNode.html" title="A pattern to match n&#39;th indexing to a tuple.">TupleGetItemPatternNode</a> </td></tr>
+<tr id="row_0_4_116_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AndPatternNode.html" target="_self">AndPatternNode</a></td><td class="desc">Match a conjunction of other patterns </td></tr>
+<tr id="row_0_4_117_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AndPattern.html" target="_self">AndPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1AndPatternNode.html" title="Match a conjunction of other patterns.">AndPatternNode</a> </td></tr>
+<tr id="row_0_4_118_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1OrPatternNode.html" target="_self">OrPatternNode</a></td><td class="desc">Match a disjunction of other patterns </td></tr>
+<tr id="row_0_4_119_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1OrPattern.html" target="_self">OrPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1OrPatternNode.html" title="Match a disjunction of other patterns.">OrPatternNode</a> </td></tr>
+<tr id="row_0_4_120_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1NotPatternNode.html" target="_self">NotPatternNode</a></td><td class="desc">Pattern for rejecting a certain pattern </td></tr>
+<tr id="row_0_4_121_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1NotPattern.html" target="_self">NotPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1NotPatternNode.html" title="Pattern for rejecting a certain pattern.">NotPatternNode</a> </td></tr>
+<tr id="row_0_4_122_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1WildcardPatternNode.html" target="_self">WildcardPatternNode</a></td><td class="desc">Wildcard Pattern is a pattern that can match anything </td></tr>
+<tr id="row_0_4_123_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1WildcardPattern.html" target="_self">WildcardPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1WildcardPatternNode.html" title="Wildcard Pattern is a pattern that can match anything.">WildcardPatternNode</a> </td></tr>
+<tr id="row_0_4_124_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoPatternNode.html" target="_self">StructInfoPatternNode</a></td><td class="desc">Pattern for matching a certain struct info </td></tr>
+<tr id="row_0_4_125_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoPattern.html" target="_self">StructInfoPattern</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_126_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapePatternNode.html" target="_self">ShapePatternNode</a></td><td class="desc">A pattern that asserting a root pattern has a certain shape </td></tr>
+<tr id="row_0_4_127_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapePattern.html" target="_self">ShapePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ShapePatternNode.html" title="A pattern that asserting a root pattern has a certain shape.">ShapePatternNode</a> </td></tr>
+<tr id="row_0_4_128_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SameShapeConstraintNode.html" target="_self">SameShapeConstraintNode</a></td><td class="desc">A pattern that asserting multiple root patterns have the same shape </td></tr>
+<tr id="row_0_4_129_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SameShapeConstraint.html" target="_self">SameShapeConstraint</a></td><td class="desc">Managed reference to SameShapePatternNode </td></tr>
+<tr id="row_0_4_130_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypePatternNode.html" target="_self">DataTypePatternNode</a></td><td class="desc">A pattern that asserting a root pattern has a certain data type </td></tr>
+<tr id="row_0_4_131_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypePattern.html" target="_self">DataTypePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DataTypePatternNode.html" title="A pattern that asserting a root pattern has a certain data type.">DataTypePatternNode</a> </td></tr>
+<tr id="row_0_4_132_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AttrPatternNode.html" target="_self">AttrPatternNode</a></td><td class="desc">A pattern that asserting a root pattern has certain attributes </td></tr>
+<tr id="row_0_4_133_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1AttrPattern.html" target="_self">AttrPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1AttrPatternNode.html" title="A pattern that asserting a root pattern has certain attributes.">AttrPatternNode</a> </td></tr>
+<tr id="row_0_4_134_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFuncPatternNode.html" target="_self">ExternFuncPatternNode</a></td><td class="desc">A pattern of external function </td></tr>
+<tr id="row_0_4_135_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFuncPattern.html" target="_self">ExternFuncPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ExternFuncPatternNode.html" title="A pattern of external function.">ExternFuncPatternNode</a> </td></tr>
+<tr id="row_0_4_136_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_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_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> argument </td></tr>
+<tr id="row_0_4_137_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_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_0_4_138_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DFPatternVisitor.html" target="_self">DFPatternVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relax_1_1DFPatternFunctor.html" title="A dynamical functor that dispatches on in the first DFPattern argument.">DFPatternFunctor</a [...]
+<tr id="row_0_4_139_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExecBuilderNode.html" target="_self">ExecBuilderNode</a></td><td class="desc">A builder provides api to build VM executable with instructions </td></tr>
+<tr id="row_0_4_140_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExecBuilder.html" target="_self">ExecBuilder</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_141_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1IdNode.html" target="_self">IdNode</a></td><td class="desc">The unique identifier of variables </td></tr>
+<tr id="row_0_4_142_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Id.html" target="_self">Id</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_143_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoNode.html" target="_self">StructInfoNode</a></td><td class="desc">Base type of all structure information </td></tr>
+<tr id="row_0_4_144_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" target="_self">StructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1StructInfoNode.html" title="Base type of all structure information.">StructInfoNode</a> </td></tr>
+<tr id="row_0_4_145_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1CallNode.html" target="_self">CallNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Call.html">Call</a> corresponds to callable invocation. Corresponds to operation in computational graph terminology </td></tr>
+<tr id="row_0_4_146_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Call.html" target="_self">Call</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_147_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleNode.html" target="_self">TupleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Tuple.html">Tuple</a> container </td></tr>
+<tr id="row_0_4_148_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Tuple.html" target="_self">Tuple</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_149_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItemNode.html" target="_self">TupleGetItemNode</a></td><td class="desc">Get index-th field out of a tuple </td></tr>
+<tr id="row_0_4_150_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleGetItem.html" target="_self">TupleGetItem</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_151_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1LeafExprNode.html" target="_self">LeafExprNode</a></td><td class="desc">Base type of all (non-function) leaf Exprs </td></tr>
+<tr id="row_0_4_152_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1LeafExpr.html" target="_self">LeafExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1BaseExprNode.html" title="Base type of all the expressions.">BaseExprNode</a> </td></tr>
+<tr id="row_0_4_153_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeExprNode.html" target="_self">ShapeExprNode</a></td><td class="desc">A shape expression which allows users to construct a shape containing <a class="el" href="classtvm_1_1PrimExpr.html" title="Reference to PrimExprNode.">PrimExpr</a> </td></tr>
+<tr id="row_0_4_154_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeExpr.html" target="_self">ShapeExpr</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_155_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarNode.html" target="_self">VarNode</a></td><td class="desc">The variable class for all Relax bindings </td></tr>
+<tr id="row_0_4_156_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Var.html" target="_self">Var</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_157_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVarNode.html" target="_self">DataflowVarNode</a></td><td class="desc">A sub-type of the variable node used to mark dataflow variables from normal visible "function local" bindings </td></tr>
+<tr id="row_0_4_158_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowVar.html" target="_self">DataflowVar</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_159_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ConstantNode.html" target="_self">ConstantNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Constant.html">Constant</a> tensor </td></tr>
+<tr id="row_0_4_160_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Constant.html" target="_self">Constant</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_161_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimValueNode.html" target="_self">PrimValueNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1PrimValue.html" title="Managed reference to PrimValueNode.">PrimValue</a> </td></tr>
+<tr id="row_0_4_162_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimValue.html" target="_self">PrimValue</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1PrimValueNode.html" title="PrimValue.">PrimValueNode</a> </td></tr>
+<tr id="row_0_4_163_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StringImmNode.html" target="_self">StringImmNode</a></td><td class="desc">Represent a string literal constant </td></tr>
+<tr id="row_0_4_164_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StringImm.html" target="_self">StringImm</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1StringImm.html" title="Managed reference to StringImm.">StringImm</a> </td></tr>
+<tr id="row_0_4_165_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypeImmNode.html" target="_self">DataTypeImmNode</a></td><td class="desc">Represent a data type constant </td></tr>
+<tr id="row_0_4_166_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataTypeImm.html" target="_self">DataTypeImm</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DataTypeImm.html" title="Managed reference to DataTypeImm.">DataTypeImm</a> </td></tr>
+<tr id="row_0_4_167_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BindingNode.html" target="_self">BindingNode</a></td><td class="desc">The base class of a variable binding in Relax </td></tr>
+<tr id="row_0_4_168_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Binding.html" target="_self">Binding</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_169_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchCastNode.html" target="_self">MatchCastNode</a></td><td class="desc">Runtime-match the value to the struct info </td></tr>
+<tr id="row_0_4_170_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchCast.html" target="_self">MatchCast</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1MatchCastNode.html" title="Runtime-match the value to the struct info.">MatchCastNode</a> </td></tr>
+<tr id="row_0_4_171_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarBindingNode.html" target="_self">VarBindingNode</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_172_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VarBinding.html" target="_self">VarBinding</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_173_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BindingBlockNode.html" target="_self">BindingBlockNode</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_174_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BindingBlock.html" target="_self">BindingBlock</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_175_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlockNode.html" target="_self">DataflowBlockNode</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_176_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html" target="_self">DataflowBlock</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_177_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SeqExprNode.html" target="_self">SeqExprNode</a></td><td class="desc">A sequence of blocks followed by an expression </td></tr>
+<tr id="row_0_4_178_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1SeqExpr.html" target="_self">SeqExpr</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_179_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1IfNode.html" target="_self">IfNode</a></td><td class="desc">Condition expression </td></tr>
+<tr id="row_0_4_180_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1If.html" target="_self">If</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_181_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FunctionNode.html" target="_self">FunctionNode</a></td><td class="desc">A Relax function </td></tr>
+<tr id="row_0_4_182_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1Function.html" target="_self">Function</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_183_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFuncNode.html" target="_self">ExternFuncNode</a></td><td class="desc">The extern function, which can represent packed function </td></tr>
+<tr id="row_0_4_184_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExternFunc.html" target="_self">ExternFunc</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_185_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_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="classtvm_1_1re [...]
+<tr id="row_0_4_186_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_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_0_4_187_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprVisitor.html" target="_self">ExprVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relax_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerfu...">E [...]
+<tr id="row_0_4_188_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprMutatorBase.html" target="_self">ExprMutatorBase</a></td><td class="desc">A mutator works in unnormalized form </td></tr>
+<tr id="row_0_4_189_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ExprMutator.html" target="_self">ExprMutator</a></td><td class="desc">A mutator works in normal form </td></tr>
+<tr id="row_0_4_190_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1NestedMsg.html" target="_self">NestedMsg</a></td><td class="desc">Container that stores possibly nested message with leaf message type T </td></tr>
+<tr id="row_0_4_191_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectStructInfoNode.html" target="_self">ObjectStructInfoNode</a></td><td class="desc">Opaque object </td></tr>
+<tr id="row_0_4_192_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectStructInfo.html" target="_self">ObjectStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ObjectStructInfoNode.html" title="Opaque object.">ObjectStructInfoNode</a> </td></tr>
+<tr id="row_0_4_193_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimStructInfoNode.html" target="_self">PrimStructInfoNode</a></td><td class="desc">Primitive value </td></tr>
+<tr id="row_0_4_194_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PrimStructInfo.html" target="_self">PrimStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1PrimStructInfoNode.html" title="Primitive value.">PrimStructInfoNode</a> </td></tr>
+<tr id="row_0_4_195_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeStructInfoNode.html" target="_self">ShapeStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of shape value </td></tr>
+<tr id="row_0_4_196_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeStructInfo.html" target="_self">ShapeStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ShapeStructInfoNode.html" title="StructInfo of shape value.">ShapeStructInfoNode</a> </td></tr>
+<tr id="row_0_4_197_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TensorStructInfoNode.html" target="_self">TensorStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of Tensor </td></tr>
+<tr id="row_0_4_198_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TensorStructInfo.html" target="_self">TensorStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TensorStructInfoNode.html" title="StructInfo of Tensor.">TensorStructInfoNode</a> </td></tr>
+<tr id="row_0_4_199_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleStructInfoNode.html" target="_self">TupleStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of <a class="el" href="classtvm_1_1relax_1_1Tuple.html">Tuple</a> </td></tr>
+<tr id="row_0_4_200_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TupleStructInfo.html" target="_self">TupleStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TupleStructInfoNode.html" title="StructInfo of Tuple.">TupleStructInfoNode</a> </td></tr>
+<tr id="row_0_4_201_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FuncStructInfoNode.html" target="_self">FuncStructInfoNode</a></td><td class="desc">Structure information about function </td></tr>
+<tr id="row_0_4_202_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1FuncStructInfo.html" target="_self">FuncStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1FuncStructInfoNode.html" title="Structure information about function.">FuncStructInfoNode</a> </td></tr>
+<tr id="row_0_4_203_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoFunctor.html" target="_self">StructInfoFunctor</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_204_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoFunctor_3_01R_07const_01StructInfo_01_6n_00_01Args_8_8_8_08_4.html" target="_self">StructInfoFunctor&lt; R(const StructInfo &amp;n, Args...)&gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_205_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoVisitor.html" target="_self">StructInfoVisitor</a></td><td class="desc">A struct info visitor </td></tr>
+<tr id="row_0_4_206_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1StructInfoMutator.html" target="_self">StructInfoMutator</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfoMutator.html" title="StructInfoMutator that mutates struct info.">StructInfoMutator</a> that mutates struct info </td></tr>
+<tr id="row_0_4_207_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchResultNode.html" target="_self">MatchResultNode</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_208_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1MatchResult.html" target="_self">MatchResult</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1MatchResultNode.html">MatchResultNode</a> </td></tr>
+<tr id="row_0_4_209_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeTypeNode.html" target="_self">ShapeTypeNode</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_210_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ShapeType.html" target="_self">ShapeType</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_211_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TensorTypeNode.html" target="_self">TensorTypeNode</a></td><td class="desc">Dynamic version of <a class="el" href="classtvm_1_1relax_1_1TensorType.html" title="Managed reference to TensorTypeNode.">TensorType</a> </td></tr>
+<tr id="row_0_4_212_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1TensorType.html" target="_self">TensorType</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TensorTypeNode.html" title="Dynamic version of TensorType.">TensorTypeNode</a> </td></tr>
+<tr id="row_0_4_213_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectTypeNode.html" target="_self">ObjectTypeNode</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_214_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1ObjectType.html" target="_self">ObjectType</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_215_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PackedFuncTypeNode.html" target="_self">PackedFuncTypeNode</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_216_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1PackedFuncType.html" target="_self">PackedFuncType</a></td><td class="desc"></td></tr>
 <tr id="row_0_5_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_5_" class="arrow" onclick="toggleFolder('0_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_0_5_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_5_0_" class="arrow" onclick="toggleFolder('0_5_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1cuda__ipc.html" target="_self">cuda_ipc</a></td><td class="desc"></td></tr>
 <tr id="row_0_5_0_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1cuda__ipc_1_1CUDAIPCMemoryObj.html" target="_self">CUDAIPCMemoryObj</a></td><td class="desc">The CUDA IPC (interprocess communication) memory object, which internally contains data pointers to CUDA IPC memory. It is be useful for efficient all-reduce implementation </td></tr>
diff --git a/docs/reference/api/doxygen/classes.html b/docs/reference/api/doxygen/classes.html
index c087b41086c..1d764536ca8 100644
--- a/docs/reference/api/doxygen/classes.html
+++ b/docs/reference/api/doxygen/classes.html
@@ -75,7 +75,7 @@ $(function() {
 <dd><a class="el" href="classtvm_1_1BaseAttrsNode.html">BaseAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1te_1_1BaseComputeOpNode.html">BaseComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)</dd><dd><a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1BaseExprNode.html">BaseExprNode</a> (<a class="el" href="name [...]
 <dl class="classindex even">
 <dt class="alphachar"><a name="letter_C">C</a></dt>
-<dd><a class="el" href="classtvm_1_1tirx_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer_1_1CallDoc.html">CallDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer [...]
+<dd><a class="el" href="classtvm_1_1tirx_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer_1_1CallDoc.html">CallDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer [...]
 <dl class="classindex odd">
 <dt class="alphachar"><a name="letter_D">D</a></dt>
 <dd><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1Database.html">Database</a> (<a class="el" href="namespacetvm_1_1s__tir_1_1meta__schedule.html">tvm::s_tir::meta_schedule</a>)</dd><dd><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1DatabaseNode.html">DatabaseNode</a> (<a class="el" href="namespacetvm_1_1s__tir_1_1meta__schedule.html">tvm::s_tir::meta_schedule</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">DataflowBlock</a> (<a class=" [...]
diff --git a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
index 5748d8a4e25..423ee1999ab 100644
--- a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
@@ -81,7 +81,7 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::BaseAttrsNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1BaseAttrsNode__inherit__graph.svg" width="18872" height="728"><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_1BaseAttrsNode__inherit__graph.svg" width="19112" height="728"><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">
@@ -188,7 +188,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_1AttrsNodeReflAdapter.html#a4ecc2c9f98b17f656cbfe5755461e30c">tvm::AttrsNodeReflAdapter&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNodeReflAdapter.html#a4ecc2c9f98b17f656cbfe5755461e30c">tvm::AttrsNodeReflAdapter&lt; SliceScatterAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNodeReflAdapter.html#a4ecc2c9f98b17f656cbfe5755461e30c">tvm::AttrsNodeReflAdapter&lt; ScatterCollectiveAttrs &gt;</a>, <a class="el" href="cl [...]
+<p>Implemented in <a class="el" href="classtvm_1_1AttrsNodeReflAdapter.html#a4ecc2c9f98b17f656cbfe5755461e30c">tvm::AttrsNodeReflAdapter&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNodeReflAdapter.html#a4ecc2c9f98b17f656cbfe5755461e30c">tvm::AttrsNodeReflAdapter&lt; SliceScatterAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNodeReflAdapter.html#a4ecc2c9f98b17f656cbfe5755461e30c">tvm::AttrsNodeReflAdapter&lt; ScatterCollectiveAttrs &gt;</a>, <a class="el" href="cl [...]
 
 </div>
 </div>
diff --git a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__inherit__graph.svg
index 3509257711e..6aee9f7210b 100644
--- a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__inherit__graph.svg
@@ -4,25 +4,25 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::BaseAttrsNode Pages: 1 -->
-<svg width="14154pt" height="546pt"
- viewBox="0.00 0.00 14154.00 546.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="14334pt" height="546pt"
+ viewBox="0.00 0.00 14334.00 546.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 542)">
 <title>tvm::BaseAttrsNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-542 14150,-542 14150,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-542 14330,-542 14330,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
 <g id="a_node1"><a xlink:title="Base class of all attribute class.">
-<polygon fill="#bfbfbf" stroke="black" points="7219,-342.5 7219,-443.5 7381,-443.5 7381,-342.5 7219,-342.5"/>
-<text text-anchor="middle" x="7300" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseAttrsNode</text>
-<polyline fill="none" stroke="black" points="7219,-424.5 7381,-424.5 "/>
-<text text-anchor="start" x="7227" y="-412.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_s_eq_hash_kind</text>
-<polyline fill="none" stroke="black" points="7219,-405.5 7381,-405.5 "/>
-<text text-anchor="start" x="7227" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~BaseAttrsNode()</text>
-<text text-anchor="start" x="7227" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitBySeq()</text>
-<text text-anchor="start" x="7227" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="7227" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="7227" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<polygon fill="#bfbfbf" stroke="black" points="7306,-342.5 7306,-443.5 7468,-443.5 7468,-342.5 7306,-342.5"/>
+<text text-anchor="middle" x="7387" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseAttrsNode</text>
+<polyline fill="none" stroke="black" points="7306,-424.5 7468,-424.5 "/>
+<text text-anchor="start" x="7314" y="-412.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_s_eq_hash_kind</text>
+<polyline fill="none" stroke="black" points="7306,-405.5 7468,-405.5 "/>
+<text text-anchor="start" x="7314" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~BaseAttrsNode()</text>
+<text text-anchor="start" x="7314" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitBySeq()</text>
+<text text-anchor="start" x="7314" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="7314" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="7314" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 </a>
 </g>
 </g>
@@ -43,8 +43,8 @@
 <!-- Node1&#45;&gt;Node3 -->
 <g id="edge2" class="edge">
 <title>Node1&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M7208.64,-392.06C6403.72,-392.4 542.93,-391.94 185,-306 174.15,-303.4 163.1,-299.31 152.63,-294.65"/>
-<polygon fill="none" stroke="midnightblue" points="7208.73,-395.56 7218.72,-392.05 7208.72,-388.56 7208.73,-395.56"/>
+<path fill="none" stroke="midnightblue" d="M7295.8,-392.07C6485.96,-392.54 547.5,-393.01 185,-306 174.15,-303.4 163.1,-299.31 152.63,-294.65"/>
+<polygon fill="none" stroke="midnightblue" points="7295.94,-395.57 7305.94,-392.06 7295.94,-388.57 7295.94,-395.57"/>
 </g>
 <!-- Node5 -->
 <g id="node5" class="node">
@@ -63,8 +63,8 @@
 <!-- Node1&#45;&gt;Node5 -->
 <g id="edge4" class="edge">
 <title>Node1&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M7208.52,-391.95C6414.72,-391.39 714.68,-384.66 365,-306 353.34,-303.38 341.4,-299.25 330.06,-294.55"/>
-<polygon fill="none" stroke="midnightblue" points="7208.74,-395.45 7218.74,-391.96 7208.74,-388.45 7208.74,-395.45"/>
+<path fill="none" stroke="midnightblue" d="M7295.63,-391.97C6496.65,-391.53 719.26,-385.66 365,-306 353.34,-303.38 341.4,-299.25 330.06,-294.55"/>
+<polygon fill="none" stroke="midnightblue" points="7295.91,-395.47 7305.91,-391.97 7295.91,-388.47 7295.91,-395.47"/>
 </g>
 <!-- Node7 -->
 <g id="node7" class="node">
@@ -83,8 +83,8 @@
 <!-- Node1&#45;&gt;Node7 -->
 <g id="edge6" class="edge">
 <title>Node1&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M7208.65,-392C6426.48,-391.81 877.49,-387.62 538,-306 527.15,-303.39 516.11,-299.31 505.63,-294.65"/>
-<polygon fill="none" stroke="midnightblue" points="7208.72,-395.5 7218.72,-392 7208.72,-388.5 7208.72,-395.5"/>
+<path fill="none" stroke="midnightblue" d="M7295.71,-392.01C6508.13,-391.96 882.04,-388.69 538,-306 527.15,-303.39 516.1,-299.31 505.63,-294.65"/>
+<polygon fill="none" stroke="midnightblue" points="7295.85,-395.51 7305.86,-392.01 7295.86,-388.51 7295.85,-395.51"/>
 </g>
 <!-- Node9 -->
 <g id="node9" class="node">
@@ -103,8 +103,8 @@
 <!-- Node1&#45;&gt;Node9 -->
 <g id="edge8" class="edge">
 <title>Node1&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M7208.78,-392.05C6437.92,-392.3 1033.48,-391.04 704,-306 693.87,-303.38 683.61,-299.3 673.93,-294.63"/>
-<polygon fill="none" stroke="midnightblue" points="7208.99,-395.55 7218.99,-392.04 7208.98,-388.55 7208.99,-395.55"/>
+<path fill="none" stroke="midnightblue" d="M7295.78,-392.06C6519.19,-392.46 1038.01,-392.18 704,-306 693.87,-303.39 683.61,-299.3 673.93,-294.64"/>
+<polygon fill="none" stroke="midnightblue" points="7295.79,-395.56 7305.79,-392.06 7295.79,-388.56 7295.79,-395.56"/>
 </g>
 <!-- Node11 -->
 <g id="node11" class="node">
@@ -124,8 +124,8 @@
 <!-- Node1&#45;&gt;Node11 -->
 <g id="edge10" class="edge">
 <title>Node1&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M7208.96,-391.7C6453.77,-389.1 1247.37,-368.94 925,-306 917.18,-304.47 909.21,-302.44 901.29,-300.08"/>
-<polygon fill="none" stroke="midnightblue" points="7208.95,-395.2 7218.96,-391.73 7208.97,-388.2 7208.95,-395.2"/>
+<path fill="none" stroke="midnightblue" d="M7295.91,-391.72C6534.75,-389.24 1251.94,-369.8 925,-306 917.18,-304.47 909.21,-302.44 901.29,-300.08"/>
+<polygon fill="none" stroke="midnightblue" points="7295.98,-395.22 7305.99,-391.75 7296.01,-388.22 7295.98,-395.22"/>
 </g>
 <!-- Node13 -->
 <g id="node13" class="node">
@@ -144,8 +144,8 @@
 <!-- Node1&#45;&gt;Node13 -->
 <g id="edge12" class="edge">
 <title>Node1&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M7208.61,-391.81C6464.21,-390.13 1415.94,-376.19 1105,-306 1093.34,-303.37 1081.4,-299.24 1070.06,-294.53"/>
-<polygon fill="none" stroke="midnightblue" points="7208.73,-395.31 7218.73,-391.83 7208.74,-388.31 7208.73,-395.31"/>
+<path fill="none" stroke="midnightblue" d="M7295.8,-391.83C6546.19,-390.29 1420.52,-377.19 1105,-306 1093.34,-303.37 1081.4,-299.24 1070.06,-294.53"/>
+<polygon fill="none" stroke="midnightblue" points="7295.99,-395.33 7306,-391.85 7296.01,-388.33 7295.99,-395.33"/>
 </g>
 <!-- Node15 -->
 <g id="node15" class="node">
@@ -164,8 +164,8 @@
 <!-- Node1&#45;&gt;Node15 -->
 <g id="edge14" class="edge">
 <title>Node1&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M7208.7,-391.77C6477.01,-389.8 1586.54,-374.13 1285,-306 1273.34,-303.37 1261.4,-299.23 1250.06,-294.53"/>
-<polygon fill="none" stroke="midnightblue" points="7208.91,-395.27 7218.92,-391.8 7208.93,-388.27 7208.91,-395.27"/>
+<path fill="none" stroke="midnightblue" d="M7295.82,-391.79C6558.54,-389.97 1591.11,-375.13 1285,-306 1273.34,-303.37 1261.4,-299.24 1250.06,-294.53"/>
+<polygon fill="none" stroke="midnightblue" points="7295.84,-395.29 7305.85,-391.82 7295.86,-388.29 7295.84,-395.29"/>
 </g>
 <!-- Node17 -->
 <g id="node17" class="node">
@@ -184,8 +184,8 @@
 <!-- Node1&#45;&gt;Node17 -->
 <g id="edge16" class="edge">
 <title>Node1&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M7208.9,-391.73C6490.43,-389.47 1757.16,-372.08 1465,-306 1453.34,-303.36 1441.4,-299.23 1430.06,-294.52"/>
-<polygon fill="none" stroke="midnightblue" points="7208.93,-395.23 7218.94,-391.76 7208.95,-388.23 7208.93,-395.23"/>
+<path fill="none" stroke="midnightblue" d="M7295.69,-391.75C6570.41,-389.63 1761.68,-373.07 1465,-306 1453.34,-303.37 1441.4,-299.23 1430.06,-294.53"/>
+<polygon fill="none" stroke="midnightblue" points="7295.81,-395.25 7305.82,-391.78 7295.83,-388.25 7295.81,-395.25"/>
 </g>
 <!-- Node19 -->
 <g id="node19" class="node">
@@ -204,8 +204,8 @@
 <!-- Node1&#45;&gt;Node19 -->
 <g id="edge18" class="edge">
 <title>Node1&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M7208.69,-391.68C6502.22,-389.11 1927.73,-370.01 1645,-306 1633.34,-303.36 1621.4,-299.23 1610.06,-294.52"/>
-<polygon fill="none" stroke="midnightblue" points="7208.79,-395.18 7218.8,-391.72 7208.82,-388.18 7208.79,-395.18"/>
+<path fill="none" stroke="midnightblue" d="M7295.69,-391.71C6583.07,-389.28 1932.27,-371.01 1645,-306 1633.34,-303.36 1621.4,-299.23 1610.06,-294.52"/>
+<polygon fill="none" stroke="midnightblue" points="7295.89,-395.21 7305.9,-391.74 7295.91,-388.21 7295.89,-395.21"/>
 </g>
 <!-- Node21 -->
 <g id="node21" class="node">
@@ -224,8 +224,8 @@
 <!-- Node1&#45;&gt;Node21 -->
 <g id="edge20" class="edge">
 <title>Node1&#45;&gt;Node21</title>
-<path fill="none" stroke="midnightblue" d="M7208.6,-391.65C6514.71,-388.83 2097.25,-368.51 1824,-306 1812.45,-303.36 1800.63,-299.22 1789.4,-294.51"/>
-<polygon fill="none" stroke="midnightblue" points="7208.77,-395.15 7218.78,-391.69 7208.8,-388.15 7208.77,-395.15"/>
+<path fill="none" stroke="midnightblue" d="M7295.79,-391.67C6596.26,-389.02 2101.81,-369.51 1824,-306 1812.45,-303.36 1800.62,-299.22 1789.4,-294.52"/>
+<polygon fill="none" stroke="midnightblue" points="7295.8,-395.17 7305.81,-391.71 7295.83,-388.17 7295.8,-395.17"/>
 </g>
 <!-- Node23 -->
 <g id="node23" class="node">
@@ -244,8 +244,8 @@
 <!-- Node1&#45;&gt;Node23 -->
 <g id="edge22" class="edge">
 <title>Node1&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M7208.66,-391.6C6528.07,-388.46 2266.92,-366.45 2003,-306 1991.45,-303.35 1979.63,-299.22 1968.4,-294.51"/>
-<polygon fill="none" stroke="midnightblue" points="7208.88,-395.1 7218.9,-391.64 7208.91,-388.1 7208.88,-395.1"/>
+<path fill="none" stroke="midnightblue" d="M7295.78,-391.62C6609.18,-388.65 2271.47,-367.45 2003,-306 1991.45,-303.36 1979.63,-299.22 1968.4,-294.51"/>
+<polygon fill="none" stroke="midnightblue" points="7295.85,-395.12 7305.86,-391.67 7295.88,-388.12 7295.85,-395.12"/>
 </g>
 <!-- Node25 -->
 <g id="node25" class="node">
@@ -264,8 +264,8 @@
 <!-- Node1&#45;&gt;Node25 -->
 <g id="edge24" class="edge">
 <title>Node1&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M7208.92,-391.52C6542.69,-387.91 2439.69,-363.36 2185,-306 2173.24,-303.35 2161.19,-299.21 2149.73,-294.5"/>
-<polygon fill="none" stroke="midnightblue" points="7208.92,-395.02 7218.94,-391.58 7208.96,-388.02 7208.92,-395.02"/>
+<path fill="none" stroke="midnightblue" d="M7295.71,-391.55C6622.33,-388.09 2444.2,-364.34 2185,-306 2173.24,-303.35 2161.19,-299.22 2149.73,-294.51"/>
+<polygon fill="none" stroke="midnightblue" points="7295.82,-395.05 7305.84,-391.6 7295.86,-388.05 7295.82,-395.05"/>
 </g>
 <!-- Node27 -->
 <g id="node27" class="node">
@@ -284,8 +284,8 @@
 <!-- Node1&#45;&gt;Node27 -->
 <g id="edge26" class="edge">
 <title>Node1&#45;&gt;Node27</title>
-<path fill="none" stroke="midnightblue" d="M7208.56,-391.47C6554.83,-387.57 2610.16,-361.79 2365,-306 2353.44,-303.37 2341.59,-299.27 2330.33,-294.61"/>
-<polygon fill="none" stroke="midnightblue" points="7208.84,-394.97 7218.86,-391.53 7208.88,-387.97 7208.84,-394.97"/>
+<path fill="none" stroke="midnightblue" d="M7295.52,-391.5C6635.07,-387.77 2614.69,-362.78 2365,-306 2353.44,-303.37 2341.59,-299.27 2330.33,-294.61"/>
+<polygon fill="none" stroke="midnightblue" points="7295.91,-395 7305.93,-391.56 7295.95,-388 7295.91,-395"/>
 </g>
 <!-- Node29 -->
 <g id="node29" class="node">
@@ -304,8 +304,8 @@
 <!-- Node1&#45;&gt;Node29 -->
 <g id="edge28" class="edge">
 <title>Node1&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M7208.86,-391.41C6569.94,-387.16 2780.83,-359.75 2545,-306 2533.44,-303.36 2521.6,-299.27 2510.33,-294.6"/>
-<polygon fill="none" stroke="midnightblue" points="7208.92,-394.91 7218.94,-391.48 7208.96,-387.91 7208.92,-394.91"/>
+<path fill="none" stroke="midnightblue" d="M7295.74,-391.44C6649.72,-387.36 2785.34,-360.74 2545,-306 2533.44,-303.37 2521.59,-299.27 2510.33,-294.6"/>
+<polygon fill="none" stroke="midnightblue" points="7295.9,-394.94 7305.93,-391.51 7295.95,-387.94 7295.9,-394.94"/>
 </g>
 <!-- Node31 -->
 <g id="node31" class="node">
@@ -324,8 +324,8 @@
 <!-- Node1&#45;&gt;Node31 -->
 <g id="edge30" class="edge">
 <title>Node1&#45;&gt;Node31</title>
-<path fill="none" stroke="midnightblue" d="M7208.4,-391.34C6582.26,-386.71 2951.41,-357.69 2725,-306 2713.44,-303.36 2701.6,-299.26 2690.34,-294.59"/>
-<polygon fill="none" stroke="midnightblue" points="7208.69,-394.84 7218.72,-391.42 7208.74,-387.84 7208.69,-394.84"/>
+<path fill="none" stroke="midnightblue" d="M7295.18,-391.37C6661.51,-386.92 2955.9,-358.67 2725,-306 2713.44,-303.36 2701.6,-299.26 2690.33,-294.6"/>
+<polygon fill="none" stroke="midnightblue" points="7295.59,-394.88 7305.62,-391.45 7295.64,-387.88 7295.59,-394.88"/>
 </g>
 <!-- Node33 -->
 <g id="node33" class="node">
@@ -344,8 +344,8 @@
 <!-- Node1&#45;&gt;Node33 -->
 <g id="edge32" class="edge">
 <title>Node1&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M7208.61,-391.27C6597.53,-386.26 3122.08,-355.65 2905,-306 2893.44,-303.36 2881.6,-299.25 2870.34,-294.59"/>
-<polygon fill="none" stroke="midnightblue" points="7208.66,-394.77 7218.69,-391.35 7208.72,-387.77 7208.66,-394.77"/>
+<path fill="none" stroke="midnightblue" d="M7295.79,-391.31C6678.18,-386.49 3126.62,-356.64 2905,-306 2893.44,-303.36 2881.6,-299.26 2870.34,-294.59"/>
+<polygon fill="none" stroke="midnightblue" points="7295.94,-394.81 7305.97,-391.39 7296,-387.81 7295.94,-394.81"/>
 </g>
 <!-- Node35 -->
 <g id="node35" class="node">
@@ -364,8 +364,8 @@
 <!-- Node1&#45;&gt;Node35 -->
 <g id="edge34" class="edge">
 <title>Node1&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M7208.61,-391.19C6612.25,-385.78 3292.73,-353.6 3085,-306 3073.44,-303.35 3061.6,-299.25 3050.34,-294.58"/>
-<polygon fill="none" stroke="midnightblue" points="7208.84,-394.69 7218.87,-391.28 7208.9,-387.69 7208.84,-394.69"/>
+<path fill="none" stroke="midnightblue" d="M7295.18,-391.23C6690.48,-386 3297.2,-354.58 3085,-306 3073.44,-303.35 3061.6,-299.25 3050.34,-294.58"/>
+<polygon fill="none" stroke="midnightblue" points="7295.55,-394.73 7305.58,-391.32 7295.61,-387.73 7295.55,-394.73"/>
 </g>
 <!-- Node37 -->
 <g id="node37" class="node">
@@ -384,8 +384,8 @@
 <!-- Node1&#45;&gt;Node37 -->
 <g id="edge36" class="edge">
 <title>Node1&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M7208.54,-392.28C6645.49,-393.69 3660.58,-396.84 3265,-306 3253.44,-303.35 3241.6,-299.24 3230.34,-294.57"/>
-<polygon fill="none" stroke="midnightblue" points="7208.65,-395.78 7218.64,-392.25 7208.63,-388.78 7208.65,-395.78"/>
+<path fill="none" stroke="midnightblue" d="M7295.41,-392.32C6724.92,-394.04 3669.56,-398.8 3265,-306 3253.44,-303.35 3241.6,-299.24 3230.34,-294.57"/>
+<polygon fill="none" stroke="midnightblue" points="7295.65,-395.82 7305.64,-392.29 7295.63,-388.82 7295.65,-395.82"/>
 </g>
 <!-- Node39 -->
 <g id="node39" class="node">
@@ -404,8 +404,8 @@
 <!-- Node1&#45;&gt;Node39 -->
 <g id="edge38" class="edge">
 <title>Node1&#45;&gt;Node39</title>
-<path fill="none" stroke="midnightblue" d="M7208.72,-392.18C6661.06,-392.96 3821.99,-392.76 3445,-306 3433.44,-303.34 3421.6,-299.23 3410.34,-294.56"/>
-<polygon fill="none" stroke="midnightblue" points="7208.94,-395.68 7218.94,-392.16 7208.93,-388.68 7208.94,-395.68"/>
+<path fill="none" stroke="midnightblue" d="M7295.46,-392.23C6739.89,-393.32 3830.93,-394.72 3445,-306 3433.44,-303.34 3421.6,-299.23 3410.34,-294.56"/>
+<polygon fill="none" stroke="midnightblue" points="7295.83,-395.73 7305.82,-392.21 7295.81,-388.73 7295.83,-395.73"/>
 </g>
 <!-- Node41 -->
 <g id="node41" class="node">
@@ -424,8 +424,8 @@
 <!-- Node1&#45;&gt;Node41 -->
 <g id="edge40" class="edge">
 <title>Node1&#45;&gt;Node41</title>
-<path fill="none" stroke="midnightblue" d="M7208.31,-392.09C6674.84,-392.34 3982.23,-389.4 3624,-306 3612.55,-303.33 3600.82,-299.22 3589.68,-294.55"/>
-<polygon fill="none" stroke="midnightblue" points="7208.64,-395.59 7218.64,-392.09 7208.64,-388.59 7208.64,-395.59"/>
+<path fill="none" stroke="midnightblue" d="M7295.73,-392.15C6755.83,-392.71 3991.32,-391.41 3624,-306 3612.55,-303.34 3600.82,-299.22 3589.68,-294.55"/>
+<polygon fill="none" stroke="midnightblue" points="7295.81,-395.65 7305.8,-392.14 7295.8,-388.65 7295.81,-395.65"/>
 </g>
 <!-- Node43 -->
 <g id="node43" class="node">
@@ -444,8 +444,8 @@
 <!-- Node1&#45;&gt;Node43 -->
 <g id="edge42" class="edge">
 <title>Node1&#45;&gt;Node43</title>
-<path fill="none" stroke="midnightblue" d="M7208.59,-392C6691.28,-391.68 4141.77,-386.03 3802,-306 3790.65,-303.33 3779.04,-299.21 3768.01,-294.54"/>
-<polygon fill="none" stroke="midnightblue" points="7208.62,-395.5 7218.62,-392 7208.62,-388.5 7208.62,-395.5"/>
+<path fill="none" stroke="midnightblue" d="M7295.46,-392.06C6770.21,-392.07 4150.71,-388.03 3802,-306 3790.65,-303.33 3779.04,-299.22 3768.01,-294.54"/>
+<polygon fill="none" stroke="midnightblue" points="7295.64,-395.56 7305.64,-392.05 7295.64,-388.56 7295.64,-395.56"/>
 </g>
 <!-- Node45 -->
 <g id="node45" class="node">
@@ -464,8 +464,8 @@
 <!-- Node1&#45;&gt;Node45 -->
 <g id="edge44" class="edge">
 <title>Node1&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M7208.6,-391.42C6711.57,-388.01 4344.45,-368.58 4025,-306 4011.25,-303.31 3997,-299.18 3983.36,-294.5"/>
-<polygon fill="none" stroke="midnightblue" points="7208.93,-394.92 7218.95,-391.49 7208.97,-387.92 7208.93,-394.92"/>
+<path fill="none" stroke="midnightblue" d="M7295.61,-391.48C6790.73,-388.39 4353.48,-370.23 4025,-306 4011.25,-303.31 3997,-299.19 3983.36,-294.51"/>
+<polygon fill="none" stroke="midnightblue" points="7295.74,-394.99 7305.76,-391.55 7295.78,-387.99 7295.74,-394.99"/>
 </g>
 <!-- Node47 -->
 <g id="node47" class="node">
@@ -484,8 +484,8 @@
 <!-- Node1&#45;&gt;Node47 -->
 <g id="edge46" class="edge">
 <title>Node1&#45;&gt;Node47</title>
-<path fill="none" stroke="midnightblue" d="M7208.91,-391.64C6728.88,-389.45 4503.64,-375.59 4205,-306 4193.45,-303.31 4181.61,-299.18 4170.36,-294.51"/>
-<polygon fill="none" stroke="midnightblue" points="7208.89,-395.14 7218.91,-391.68 7208.92,-388.14 7208.89,-395.14"/>
+<path fill="none" stroke="midnightblue" d="M7295.75,-391.71C6807.31,-389.89 4512.56,-377.55 4205,-306 4193.45,-303.31 4181.61,-299.19 4170.35,-294.51"/>
+<polygon fill="none" stroke="midnightblue" points="7295.91,-395.21 7305.92,-391.75 7295.93,-388.21 7295.91,-395.21"/>
 </g>
 <!-- Node49 -->
 <g id="node49" class="node">
@@ -504,8 +504,8 @@
 <!-- Node1&#45;&gt;Node49 -->
 <g id="edge48" class="edge">
 <title>Node1&#45;&gt;Node49</title>
-<path fill="none" stroke="midnightblue" d="M7208.66,-391.47C6745.25,-388.49 4665.1,-371.53 4385,-306 4373.54,-303.32 4361.8,-299.23 4350.62,-294.6"/>
-<polygon fill="none" stroke="midnightblue" points="7208.96,-394.97 7218.98,-391.54 7209,-387.97 7208.96,-394.97"/>
+<path fill="none" stroke="midnightblue" d="M7295.62,-391.55C6823.77,-388.96 4674.02,-373.48 4385,-306 4373.54,-303.32 4361.8,-299.24 4350.62,-294.61"/>
+<polygon fill="none" stroke="midnightblue" points="7295.77,-395.05 7305.79,-391.61 7295.81,-388.05 7295.77,-395.05"/>
 </g>
 <!-- Node51 -->
 <g id="node51" class="node">
@@ -524,8 +524,8 @@
 <!-- Node1&#45;&gt;Node51 -->
 <g id="edge50" class="edge">
 <title>Node1&#45;&gt;Node51</title>
-<path fill="none" stroke="midnightblue" d="M7208.56,-391.28C6762.59,-387.46 4826.62,-367.47 4565,-306 4553.55,-303.31 4541.81,-299.21 4530.63,-294.58"/>
-<polygon fill="none" stroke="midnightblue" points="7208.78,-394.78 7218.81,-391.36 7208.84,-387.78 7208.78,-394.78"/>
+<path fill="none" stroke="midnightblue" d="M7295.62,-391.37C6841.15,-387.97 4835.55,-369.43 4565,-306 4553.55,-303.31 4541.81,-299.22 4530.63,-294.59"/>
+<polygon fill="none" stroke="midnightblue" points="7295.71,-394.87 7305.74,-391.45 7295.77,-387.87 7295.71,-394.87"/>
 </g>
 <!-- Node53 -->
 <g id="node53" class="node">
@@ -544,8 +544,8 @@
 <!-- Node1&#45;&gt;Node53 -->
 <g id="edge52" class="edge">
 <title>Node1&#45;&gt;Node53</title>
-<path fill="none" stroke="midnightblue" d="M7208.7,-391.06C6781.23,-386.38 4988.22,-363.43 4745,-306 4733.55,-303.3 4721.81,-299.2 4710.63,-294.56"/>
-<polygon fill="none" stroke="midnightblue" points="7208.8,-394.56 7218.84,-391.17 7208.88,-387.56 7208.8,-394.56"/>
+<path fill="none" stroke="midnightblue" d="M7295.81,-391.17C6859.66,-386.92 4997.14,-365.39 4745,-306 4733.55,-303.3 4721.81,-299.21 4710.63,-294.57"/>
+<polygon fill="none" stroke="midnightblue" points="7295.81,-394.67 7305.85,-391.27 7295.88,-387.67 7295.81,-394.67"/>
 </g>
 <!-- Node55 -->
 <g id="node55" class="node">
@@ -564,8 +564,8 @@
 <!-- Node1&#45;&gt;Node55 -->
 <g id="edge54" class="edge">
 <title>Node1&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M7208.52,-390.81C6799.66,-385.19 5149.81,-359.39 4925,-306 4913.55,-303.28 4901.82,-299.17 4890.64,-294.53"/>
-<polygon fill="none" stroke="midnightblue" points="7208.77,-394.31 7218.82,-390.95 7208.87,-387.31 7208.77,-394.31"/>
+<path fill="none" stroke="midnightblue" d="M7295.63,-390.93C6877.71,-385.78 5158.71,-361.34 4925,-306 4913.55,-303.29 4901.81,-299.18 4890.64,-294.55"/>
+<polygon fill="none" stroke="midnightblue" points="7295.8,-394.44 7305.84,-391.06 7295.89,-387.44 7295.8,-394.44"/>
 </g>
 <!-- Node57 -->
 <g id="node57" class="node">
@@ -584,8 +584,8 @@
 <!-- Node1&#45;&gt;Node57 -->
 <g id="edge56" class="edge">
 <title>Node1&#45;&gt;Node57</title>
-<path fill="none" stroke="midnightblue" d="M7208.79,-390.52C6819.99,-383.93 5311.52,-355.37 5105,-306 5093.56,-303.26 5081.82,-299.15 5070.65,-294.5"/>
-<polygon fill="none" stroke="midnightblue" points="7208.81,-394.02 7218.87,-390.69 7208.93,-387.02 7208.81,-394.02"/>
+<path fill="none" stroke="midnightblue" d="M7295.82,-390.67C6897.49,-384.56 5320.38,-357.32 5105,-306 5093.56,-303.27 5081.82,-299.16 5070.64,-294.52"/>
+<polygon fill="none" stroke="midnightblue" points="7295.8,-394.17 7305.85,-390.82 7295.91,-387.17 7295.8,-394.17"/>
 </g>
 <!-- Node59 -->
 <g id="node59" class="node">
@@ -604,8 +604,8 @@
 <!-- Node1&#45;&gt;Node59 -->
 <g id="edge58" class="edge">
 <title>Node1&#45;&gt;Node59</title>
-<path fill="none" stroke="midnightblue" d="M7208.64,-392.44C6866.87,-393.42 5664.21,-390.62 5292,-306 5279.94,-303.26 5267.51,-299.17 5255.63,-294.56"/>
-<polygon fill="none" stroke="midnightblue" points="7208.76,-395.94 7218.75,-392.41 7208.73,-388.94 7208.76,-395.94"/>
+<path fill="none" stroke="midnightblue" d="M7295.95,-390.2C6918.71,-382.5 5488.97,-350.6 5292,-306 5279.93,-303.27 5267.51,-299.19 5255.63,-294.58"/>
+<polygon fill="none" stroke="midnightblue" points="7295.93,-393.7 7306,-390.41 7296.07,-386.71 7295.93,-393.7"/>
 </g>
 <!-- Node61 -->
 <g id="node61" class="node">
@@ -624,8 +624,8 @@
 <!-- Node1&#45;&gt;Node61 -->
 <g id="edge60" class="edge">
 <title>Node1&#45;&gt;Node61</title>
-<path fill="none" stroke="midnightblue" d="M7208.85,-391.64C6889.24,-389.77 5820.83,-378.13 5487,-306 5474.22,-303.24 5461,-299.17 5448.32,-294.6"/>
-<polygon fill="none" stroke="midnightblue" points="7208.97,-395.14 7218.99,-391.7 7209.01,-388.14 7208.97,-395.14"/>
+<path fill="none" stroke="midnightblue" d="M7295.45,-391.87C6965.5,-390.79 5838.29,-381.51 5487,-306 5474.11,-303.23 5460.79,-299.13 5448.02,-294.52"/>
+<polygon fill="none" stroke="midnightblue" points="7295.9,-395.37 7305.91,-391.9 7295.93,-388.37 7295.9,-395.37"/>
 </g>
 <!-- Node63 -->
 <g id="node63" class="node">
@@ -644,8 +644,8 @@
 <!-- Node1&#45;&gt;Node63 -->
 <g id="edge62" class="edge">
 <title>Node1&#45;&gt;Node63</title>
-<path fill="none" stroke="midnightblue" d="M7208.31,-391.32C6910.11,-388.45 5970,-374.1 5675,-306 5662.94,-303.22 5650.51,-299.14 5638.61,-294.57"/>
-<polygon fill="none" stroke="midnightblue" points="7208.62,-394.82 7218.65,-391.42 7208.68,-387.82 7208.62,-394.82"/>
+<path fill="none" stroke="midnightblue" d="M7295.7,-391.61C6987.53,-389.64 5987.62,-377.72 5675,-306 5662.94,-303.23 5650.51,-299.16 5638.61,-294.6"/>
+<polygon fill="none" stroke="midnightblue" points="7295.91,-395.11 7305.93,-391.67 7295.95,-388.11 7295.91,-395.11"/>
 </g>
 <!-- Node65 -->
 <g id="node65" class="node">
@@ -664,8 +664,8 @@
 <!-- Node1&#45;&gt;Node65 -->
 <g id="edge64" class="edge">
 <title>Node1&#45;&gt;Node65</title>
-<path fill="none" stroke="midnightblue" d="M7208.2,-390.62C6933.24,-385.85 6119.43,-366.82 5862,-306 5850.05,-303.18 5837.74,-299.08 5825.96,-294.5"/>
-<polygon fill="none" stroke="midnightblue" points="7208.48,-394.13 7218.54,-390.8 7208.6,-387.13 7208.48,-394.13"/>
+<path fill="none" stroke="midnightblue" d="M7295.62,-390.99C7010.03,-387.19 6136.95,-370.47 5862,-306 5850.05,-303.2 5837.74,-299.11 5825.95,-294.54"/>
+<polygon fill="none" stroke="midnightblue" points="7295.89,-394.5 7305.94,-391.13 7295.98,-387.5 7295.89,-394.5"/>
 </g>
 <!-- Node67 -->
 <g id="node67" class="node">
@@ -684,8 +684,8 @@
 <!-- Node1&#45;&gt;Node67 -->
 <g id="edge66" class="edge">
 <title>Node1&#45;&gt;Node67</title>
-<path fill="none" stroke="midnightblue" d="M7208.84,-389.34C6960.59,-381.51 6276.49,-355.92 6057,-306 6044.45,-303.15 6031.47,-299.1 6018.99,-294.59"/>
-<polygon fill="none" stroke="midnightblue" points="7208.8,-392.84 7218.91,-389.65 7209.02,-385.84 7208.8,-392.84"/>
+<path fill="none" stroke="midnightblue" d="M7295.44,-389.81C7035.02,-382.97 6293.68,-359.27 6057,-306 6044.34,-303.15 6031.25,-299.07 6018.67,-294.53"/>
+<polygon fill="none" stroke="midnightblue" points="7295.53,-393.31 7305.62,-390.07 7295.72,-386.31 7295.53,-393.31"/>
 </g>
 <!-- Node69 -->
 <g id="node69" class="node">
@@ -704,8 +704,8 @@
 <!-- Node1&#45;&gt;Node69 -->
 <g id="edge68" class="edge">
 <title>Node1&#45;&gt;Node69</title>
-<path fill="none" stroke="midnightblue" d="M7208.46,-388.29C6986.91,-378.69 6426.7,-350.68 6245,-306 6233.27,-303.12 6221.17,-299.08 6209.54,-294.6"/>
-<polygon fill="none" stroke="midnightblue" points="7208.61,-391.8 7218.75,-388.73 7208.91,-384.8 7208.61,-391.8"/>
+<path fill="none" stroke="midnightblue" d="M7295.47,-388.94C7061.1,-380.5 6443.84,-354.24 6245,-306 6233.17,-303.13 6220.96,-299.07 6209.24,-294.56"/>
+<polygon fill="none" stroke="midnightblue" points="7295.55,-392.45 7305.67,-389.31 7295.8,-385.45 7295.55,-392.45"/>
 </g>
 <!-- Node71 -->
 <g id="node71" class="node">
@@ -724,8 +724,8 @@
 <!-- Node1&#45;&gt;Node71 -->
 <g id="edge70" class="edge">
 <title>Node1&#45;&gt;Node71</title>
-<path fill="none" stroke="midnightblue" d="M7208.42,-392.88C7047.17,-392.27 6703.28,-381.23 6425,-306 6414.18,-303.07 6403.06,-299.05 6392.38,-294.6"/>
-<polygon fill="none" stroke="midnightblue" points="7208.77,-396.38 7218.78,-392.91 7208.78,-389.38 7208.77,-396.38"/>
+<path fill="none" stroke="midnightblue" d="M7295.75,-387.8C7088.55,-377.64 6587.96,-349.29 6425,-306 6414.08,-303.1 6402.85,-299.05 6392.09,-294.57"/>
+<polygon fill="none" stroke="midnightblue" points="7295.83,-391.31 7305.99,-388.3 7296.17,-384.32 7295.83,-391.31"/>
 </g>
 <!-- Node73 -->
 <g id="node73" class="node">
@@ -744,8 +744,8 @@
 <!-- Node1&#45;&gt;Node73 -->
 <g id="edge72" class="edge">
 <title>Node1&#45;&gt;Node73</title>
-<path fill="none" stroke="midnightblue" d="M7208.68,-389.58C7074.12,-384.04 6815.74,-365.83 6605,-306 6594.4,-302.99 6583.48,-298.97 6572.97,-294.58"/>
-<polygon fill="none" stroke="midnightblue" points="7208.81,-393.09 7218.94,-389.99 7209.09,-386.09 7208.81,-393.09"/>
+<path fill="none" stroke="midnightblue" d="M7295.37,-391.35C7147.47,-388.22 6848.13,-373.24 6605,-306 6594.29,-303.04 6583.27,-299.02 6572.67,-294.6"/>
+<polygon fill="none" stroke="midnightblue" points="7295.69,-394.86 7305.76,-391.56 7295.83,-387.86 7295.69,-394.86"/>
 </g>
 <!-- Node75 -->
 <g id="node75" class="node">
@@ -764,8 +764,8 @@
 <!-- Node1&#45;&gt;Node75 -->
 <g id="edge74" class="edge">
 <title>Node1&#45;&gt;Node75</title>
-<path fill="none" stroke="midnightblue" d="M7208.45,-384.09C7104.15,-373.4 6929.46,-350.34 6785,-306 6774.73,-302.85 6764.13,-298.84 6753.88,-294.52"/>
-<polygon fill="none" stroke="midnightblue" points="7208.33,-387.6 7218.64,-385.12 7209.04,-380.63 7208.33,-387.6"/>
+<path fill="none" stroke="midnightblue" d="M7295.38,-387.12C7175.84,-378.91 6961.17,-357.81 6785,-306 6774.51,-302.92 6763.71,-298.89 6753.29,-294.52"/>
+<polygon fill="none" stroke="midnightblue" points="7295.37,-390.63 7305.58,-387.81 7295.84,-383.65 7295.37,-390.63"/>
 </g>
 <!-- Node77 -->
 <g id="node77" class="node">
@@ -784,869 +784,889 @@
 <!-- Node1&#45;&gt;Node77 -->
 <g id="edge76" class="edge">
 <title>Node1&#45;&gt;Node77</title>
-<path fill="none" stroke="midnightblue" d="M7208.87,-374.01C7139.77,-359.15 7043.03,-335.7 6961,-306 6951.74,-302.65 6942.17,-298.68 6932.85,-294.52"/>
-<polygon fill="none" stroke="midnightblue" points="7208.35,-377.48 7218.86,-376.14 7209.81,-370.64 7208.35,-377.48"/>
+<path fill="none" stroke="midnightblue" d="M7295.8,-379.6C7209.27,-366.39 7076.27,-342.33 6965,-306 6955.05,-302.75 6944.77,-298.77 6934.78,-294.53"/>
+<polygon fill="none" stroke="midnightblue" points="7295.45,-383.08 7305.86,-381.11 7296.49,-376.16 7295.45,-383.08"/>
 </g>
 <!-- Node79 -->
 <g id="node79" class="node">
 <title>Node79</title>
 <g id="a_node79"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6970,-226.5 6970,-294.5 7118,-294.5 7118,-226.5 6970,-226.5"/>
-<text text-anchor="start" x="6978" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="7044" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; OneHotAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="6970,-264.5 7118,-264.5 "/>
-<text text-anchor="middle" x="7044" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6970,-245.5 7118,-245.5 "/>
-<text text-anchor="start" x="6978" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="6974,-226.5 6974,-294.5 7122,-294.5 7122,-226.5 6974,-226.5"/>
+<text text-anchor="start" x="6982" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="7048" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; OneHotAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="6974,-264.5 7122,-264.5 "/>
+<text text-anchor="middle" x="7048" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6974,-245.5 7122,-245.5 "/>
+<text text-anchor="start" x="6982" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node79 -->
 <g id="edge78" class="edge">
 <title>Node1&#45;&gt;Node79</title>
-<path fill="none" stroke="midnightblue" d="M7209.4,-345.82C7176.23,-328.91 7139.4,-310.13 7108.92,-294.59"/>
-<polygon fill="none" stroke="midnightblue" points="7208.15,-349.11 7218.65,-350.53 7211.33,-342.87 7208.15,-349.11"/>
+<path fill="none" stroke="midnightblue" d="M7296.17,-363.7C7248.53,-348.09 7189.52,-327.53 7138,-306 7129.64,-302.5 7120.96,-298.59 7112.44,-294.58"/>
+<polygon fill="none" stroke="midnightblue" points="7295.26,-367.08 7305.85,-366.85 7297.43,-360.43 7295.26,-367.08"/>
 </g>
 <!-- Node81 -->
 <g id="node81" class="node">
 <title>Node81</title>
 <g id="a_node81"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7143,-226.5 7143,-294.5 7291,-294.5 7291,-226.5 7143,-226.5"/>
-<text text-anchor="start" x="7151" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="7217" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; NLLLossAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="7143,-264.5 7291,-264.5 "/>
-<text text-anchor="middle" x="7217" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7143,-245.5 7291,-245.5 "/>
-<text text-anchor="start" x="7151" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="7147,-226.5 7147,-294.5 7295,-294.5 7295,-226.5 7147,-226.5"/>
+<text text-anchor="start" x="7155" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="7221" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; NLLLossAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="7147,-264.5 7295,-264.5 "/>
+<text text-anchor="middle" x="7221" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7147,-245.5 7295,-245.5 "/>
+<text text-anchor="start" x="7155" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node81 -->
 <g id="edge80" class="edge">
 <title>Node1&#45;&gt;Node81</title>
-<path fill="none" stroke="midnightblue" d="M7262.84,-333.57C7254.32,-320.17 7245.55,-306.39 7237.99,-294.51"/>
-<polygon fill="none" stroke="midnightblue" points="7260.06,-335.73 7268.38,-342.29 7265.97,-331.97 7260.06,-335.73"/>
+<path fill="none" stroke="midnightblue" d="M7315.59,-335.86C7297.64,-321.75 7278.96,-307.06 7262.98,-294.51"/>
+<polygon fill="none" stroke="midnightblue" points="7313.74,-338.86 7323.77,-342.29 7318.07,-333.36 7313.74,-338.86"/>
 </g>
 <!-- Node83 -->
 <g id="node83" class="node">
 <title>Node83</title>
 <g id="a_node83"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7309,-226.5 7309,-294.5 7457,-294.5 7457,-226.5 7309,-226.5"/>
-<text text-anchor="start" x="7317" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="7383" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; BatchNormAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="7309,-264.5 7457,-264.5 "/>
-<text text-anchor="middle" x="7383" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7309,-245.5 7457,-245.5 "/>
-<text text-anchor="start" x="7317" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="7313,-226.5 7313,-294.5 7461,-294.5 7461,-226.5 7313,-226.5"/>
+<text text-anchor="start" x="7321" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="7387" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; BatchNormAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="7313,-264.5 7461,-264.5 "/>
+<text text-anchor="middle" x="7387" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7313,-245.5 7461,-245.5 "/>
+<text text-anchor="start" x="7321" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node83 -->
 <g id="edge82" class="edge">
 <title>Node1&#45;&gt;Node83</title>
-<path fill="none" stroke="midnightblue" d="M7337.16,-333.57C7345.68,-320.17 7354.45,-306.39 7362.01,-294.51"/>
-<polygon fill="none" stroke="midnightblue" points="7334.03,-331.97 7331.62,-342.29 7339.94,-335.73 7334.03,-331.97"/>
+<path fill="none" stroke="midnightblue" d="M7387,-332.03C7387,-319.12 7387,-305.93 7387,-294.51"/>
+<polygon fill="none" stroke="midnightblue" points="7383.5,-332.29 7387,-342.29 7390.5,-332.29 7383.5,-332.29"/>
 </g>
 <!-- Node85 -->
 <g id="node85" class="node">
 <title>Node85</title>
 <g id="a_node85"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7475,-226.5 7475,-294.5 7623,-294.5 7623,-226.5 7475,-226.5"/>
-<text text-anchor="start" x="7483" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="7549" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; RepeatAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="7475,-264.5 7623,-264.5 "/>
-<text text-anchor="middle" x="7549" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7475,-245.5 7623,-245.5 "/>
-<text text-anchor="start" x="7483" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="7479,-226.5 7479,-294.5 7627,-294.5 7627,-226.5 7479,-226.5"/>
+<text text-anchor="start" x="7487" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="7553" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; RepeatAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="7479,-264.5 7627,-264.5 "/>
+<text text-anchor="middle" x="7553" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7479,-245.5 7627,-245.5 "/>
+<text text-anchor="start" x="7487" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node85 -->
 <g id="edge84" class="edge">
 <title>Node1&#45;&gt;Node85</title>
-<path fill="none" stroke="midnightblue" d="M7390.15,-345.59C7414.78,-332.83 7441.45,-318.94 7466,-306 7472.94,-302.34 7480.2,-298.49 7487.41,-294.65"/>
-<polygon fill="none" stroke="midnightblue" points="7388.45,-342.53 7381.17,-350.24 7391.66,-348.75 7388.45,-342.53"/>
+<path fill="none" stroke="midnightblue" d="M7458.41,-335.86C7476.36,-321.75 7495.04,-307.06 7511.02,-294.51"/>
+<polygon fill="none" stroke="midnightblue" points="7455.93,-333.36 7450.23,-342.29 7460.26,-338.86 7455.93,-333.36"/>
 </g>
 <!-- Node87 -->
 <g id="node87" class="node">
 <title>Node87</title>
 <g id="a_node87"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7641,-226.5 7641,-294.5 7789,-294.5 7789,-226.5 7641,-226.5"/>
-<text text-anchor="start" x="7649" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="7715" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Pool1DAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="7641,-264.5 7789,-264.5 "/>
-<text text-anchor="middle" x="7715" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7641,-245.5 7789,-245.5 "/>
-<text text-anchor="start" x="7649" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="7645,-226.5 7645,-294.5 7793,-294.5 7793,-226.5 7645,-226.5"/>
+<text text-anchor="start" x="7653" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="7719" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Pool1DAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="7645,-264.5 7793,-264.5 "/>
+<text text-anchor="middle" x="7719" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7645,-245.5 7793,-245.5 "/>
+<text text-anchor="start" x="7653" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node87 -->
 <g id="edge86" class="edge">
 <title>Node1&#45;&gt;Node87</title>
-<path fill="none" stroke="midnightblue" d="M7390.99,-374.57C7458.76,-360.12 7552.85,-336.95 7632,-306 7640.37,-302.72 7648.98,-298.8 7657.34,-294.66"/>
-<polygon fill="none" stroke="midnightblue" points="7390.25,-371.15 7381.18,-376.64 7391.69,-378 7390.25,-371.15"/>
+<path fill="none" stroke="midnightblue" d="M7477.85,-364.48C7525.62,-349.05 7584.74,-328.42 7636,-306 7643.94,-302.53 7652.15,-298.58 7660.18,-294.52"/>
+<polygon fill="none" stroke="midnightblue" points="7476.6,-361.21 7468.15,-367.6 7478.74,-367.87 7476.6,-361.21"/>
 </g>
 <!-- Node89 -->
 <g id="node89" class="node">
 <title>Node89</title>
 <g id="a_node89"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7807,-226.5 7807,-294.5 7955,-294.5 7955,-226.5 7807,-226.5"/>
-<text text-anchor="start" x="7815" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="7881" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; StackAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="7807,-264.5 7955,-264.5 "/>
-<text text-anchor="middle" x="7881" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7807,-245.5 7955,-245.5 "/>
-<text text-anchor="start" x="7815" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="7811,-226.5 7811,-294.5 7959,-294.5 7959,-226.5 7811,-226.5"/>
+<text text-anchor="start" x="7819" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="7885" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; StackAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="7811,-264.5 7959,-264.5 "/>
+<text text-anchor="middle" x="7885" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7811,-245.5 7959,-245.5 "/>
+<text text-anchor="start" x="7819" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node89 -->
 <g id="edge88" class="edge">
 <title>Node1&#45;&gt;Node89</title>
-<path fill="none" stroke="midnightblue" d="M7391.56,-385.05C7493.15,-375.32 7660.85,-353.22 7798,-306 7806.97,-302.91 7816.13,-298.94 7824.94,-294.64"/>
-<polygon fill="none" stroke="midnightblue" points="7390.96,-381.59 7381.33,-386.01 7391.61,-388.56 7390.96,-381.59"/>
+<path fill="none" stroke="midnightblue" d="M7477.99,-380.83C7563.48,-368.56 7694.06,-345.19 7802,-306 7810.76,-302.82 7819.73,-298.85 7828.39,-294.6"/>
+<polygon fill="none" stroke="midnightblue" points="7477.47,-377.37 7468.06,-382.24 7478.45,-384.3 7477.47,-377.37"/>
 </g>
 <!-- Node91 -->
 <g id="node91" class="node">
 <title>Node91</title>
 <g id="a_node91"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7973,-226.5 7973,-294.5 8121,-294.5 8121,-226.5 7973,-226.5"/>
-<text text-anchor="start" x="7981" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="8047" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ScanopAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="7973,-264.5 8121,-264.5 "/>
-<text text-anchor="middle" x="8047" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7973,-245.5 8121,-245.5 "/>
-<text text-anchor="start" x="7981" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="7977,-226.5 7977,-294.5 8125,-294.5 8125,-226.5 7977,-226.5"/>
+<text text-anchor="start" x="7985" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="8051" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ScanopAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="7977,-264.5 8125,-264.5 "/>
+<text text-anchor="middle" x="8051" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7977,-245.5 8125,-245.5 "/>
+<text text-anchor="start" x="7985" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node91 -->
 <g id="edge90" class="edge">
 <title>Node1&#45;&gt;Node91</title>
-<path fill="none" stroke="midnightblue" d="M7391.58,-390.55C7521.78,-386.18 7766.52,-369.36 7964,-306 7973.34,-303 7982.86,-298.97 7991.97,-294.54"/>
-<polygon fill="none" stroke="midnightblue" points="7391.14,-387.06 7381.25,-390.88 7391.36,-394.06 7391.14,-387.06"/>
+<path fill="none" stroke="midnightblue" d="M7478.73,-388.16C7595.16,-381.1 7800.97,-361.27 7968,-306 7977.16,-302.97 7986.5,-298.97 7995.46,-294.62"/>
+<polygon fill="none" stroke="midnightblue" points="7478.21,-384.69 7468.43,-388.77 7478.62,-391.67 7478.21,-384.69"/>
 </g>
 <!-- Node93 -->
 <g id="node93" class="node">
 <title>Node93</title>
 <g id="a_node93"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8139,-226.5 8139,-294.5 8287,-294.5 8287,-226.5 8139,-226.5"/>
-<text text-anchor="start" x="8147" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="8213" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; LeakyReluAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="8139,-264.5 8287,-264.5 "/>
-<text text-anchor="middle" x="8213" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8139,-245.5 8287,-245.5 "/>
-<text text-anchor="start" x="8147" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="8143,-226.5 8143,-294.5 8291,-294.5 8291,-226.5 8143,-226.5"/>
+<text text-anchor="start" x="8151" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="8217" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; LeakyReluAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="8143,-264.5 8291,-264.5 "/>
+<text text-anchor="middle" x="8217" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8143,-245.5 8291,-245.5 "/>
+<text text-anchor="start" x="8151" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node93 -->
 <g id="edge92" class="edge">
 <title>Node1&#45;&gt;Node93</title>
-<path fill="none" stroke="midnightblue" d="M7391.24,-387.01C7577.17,-376.11 7993.84,-347.78 8130,-306 8139.53,-303.07 8149.24,-299.02 8158.49,-294.53"/>
-<polygon fill="none" stroke="midnightblue" points="7390.99,-383.52 7381.22,-387.59 7391.4,-390.51 7390.99,-383.52"/>
+<path fill="none" stroke="midnightblue" d="M7478.15,-392.43C7621.17,-390.7 7905.58,-377.51 8134,-306 8143.36,-303.07 8152.89,-299.07 8162,-294.66"/>
+<polygon fill="none" stroke="midnightblue" points="7478.06,-388.93 7468.1,-392.53 7478.13,-395.93 7478.06,-388.93"/>
 </g>
 <!-- Node95 -->
 <g id="node95" class="node">
 <title>Node95</title>
 <g id="a_node95"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8305,-226.5 8305,-294.5 8453,-294.5 8453,-226.5 8305,-226.5"/>
-<text text-anchor="start" x="8313" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="8379" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; CallTIRWithGradAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="8305,-264.5 8453,-264.5 "/>
-<text text-anchor="middle" x="8379" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8305,-245.5 8453,-245.5 "/>
-<text text-anchor="start" x="8313" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="8309,-226.5 8309,-294.5 8457,-294.5 8457,-226.5 8309,-226.5"/>
+<text text-anchor="start" x="8317" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="8383" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; CallTIRWithGradAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="8309,-264.5 8457,-264.5 "/>
+<text text-anchor="middle" x="8383" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8309,-245.5 8457,-245.5 "/>
+<text text-anchor="start" x="8317" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node95 -->
 <g id="edge94" class="edge">
 <title>Node1&#45;&gt;Node95</title>
-<path fill="none" stroke="midnightblue" d="M7391.23,-388.83C7604.01,-380.68 8127.82,-356.03 8296,-306 8305.56,-303.16 8315.28,-299.14 8324.53,-294.67"/>
-<polygon fill="none" stroke="midnightblue" points="7390.89,-385.34 7381.03,-389.22 7391.15,-392.33 7390.89,-385.34"/>
+<path fill="none" stroke="midnightblue" d="M7478.48,-387.99C7678.28,-378.49 8147.94,-351.88 8300,-306 8309.55,-303.12 8319.26,-299.08 8328.51,-294.61"/>
+<polygon fill="none" stroke="midnightblue" points="7478.13,-384.5 7468.3,-388.47 7478.46,-391.49 7478.13,-384.5"/>
 </g>
 <!-- Node97 -->
 <g id="node97" class="node">
 <title>Node97</title>
 <g id="a_node97"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8471,-226.5 8471,-294.5 8619,-294.5 8619,-226.5 8471,-226.5"/>
-<text text-anchor="start" x="8479" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="8545" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; CallTIRInplaceAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="8471,-264.5 8619,-264.5 "/>
-<text text-anchor="middle" x="8545" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8471,-245.5 8619,-245.5 "/>
-<text text-anchor="start" x="8479" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="8475,-226.5 8475,-294.5 8623,-294.5 8623,-226.5 8475,-226.5"/>
+<text text-anchor="start" x="8483" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="8549" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; CallTIRInplaceAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="8475,-264.5 8623,-264.5 "/>
+<text text-anchor="middle" x="8549" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8475,-245.5 8623,-245.5 "/>
+<text text-anchor="start" x="8483" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node97 -->
 <g id="edge96" class="edge">
 <title>Node1&#45;&gt;Node97</title>
-<path fill="none" stroke="midnightblue" d="M7391.7,-390.12C7629.54,-384.47 8261.63,-364.27 8462,-306 8471.73,-303.17 8481.62,-299.1 8491.02,-294.56"/>
-<polygon fill="none" stroke="midnightblue" points="7391.27,-386.63 7381.36,-390.37 7391.44,-393.63 7391.27,-386.63"/>
+<path fill="none" stroke="midnightblue" d="M7478.52,-389.52C7704.09,-382.65 8281.77,-360.14 8466,-306 8475.73,-303.14 8485.61,-299.06 8495,-294.51"/>
+<polygon fill="none" stroke="midnightblue" points="7478.26,-386.03 7468.37,-389.83 7478.47,-393.03 7478.26,-386.03"/>
 </g>
 <!-- Node99 -->
 <g id="node99" class="node">
 <title>Node99</title>
 <g id="a_node99"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8637,-226.5 8637,-294.5 8785,-294.5 8785,-226.5 8637,-226.5"/>
-<text text-anchor="start" x="8645" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="8711" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AstypeAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="8637,-264.5 8785,-264.5 "/>
-<text text-anchor="middle" x="8711" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8637,-245.5 8785,-245.5 "/>
-<text text-anchor="start" x="8645" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="8641,-226.5 8641,-294.5 8789,-294.5 8789,-226.5 8641,-226.5"/>
+<text text-anchor="start" x="8649" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="8715" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AstypeAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="8641,-264.5 8789,-264.5 "/>
+<text text-anchor="middle" x="8715" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8641,-245.5 8789,-245.5 "/>
+<text text-anchor="start" x="8649" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node99 -->
 <g id="edge98" class="edge">
 <title>Node1&#45;&gt;Node99</title>
-<path fill="none" stroke="midnightblue" d="M7391.29,-391.12C7651.81,-387.8 8394.95,-372.61 8628,-306 8637.75,-303.21 8647.64,-299.17 8657.04,-294.63"/>
-<polygon fill="none" stroke="midnightblue" points="7391.07,-387.62 7381.11,-391.24 7391.16,-394.62 7391.07,-387.62"/>
+<path fill="none" stroke="midnightblue" d="M7478.2,-390.66C7727.34,-386.21 8415.23,-368.46 8632,-306 8641.74,-303.19 8651.63,-299.14 8661.03,-294.6"/>
+<polygon fill="none" stroke="midnightblue" points="7478.03,-387.16 7468.1,-390.84 7478.16,-394.16 7478.03,-387.16"/>
 </g>
 <!-- Node101 -->
 <g id="node101" class="node">
 <title>Node101</title>
 <g id="a_node101"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8803,-226.5 8803,-294.5 8951,-294.5 8951,-226.5 8803,-226.5"/>
-<text text-anchor="start" x="8811" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="8877" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PixelShuffleAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="8803,-264.5 8951,-264.5 "/>
-<text text-anchor="middle" x="8877" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8803,-245.5 8951,-245.5 "/>
-<text text-anchor="start" x="8811" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="8807,-226.5 8807,-294.5 8955,-294.5 8955,-226.5 8807,-226.5"/>
+<text text-anchor="start" x="8815" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="8881" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PixelShuffleAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="8807,-264.5 8955,-264.5 "/>
+<text text-anchor="middle" x="8881" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8807,-245.5 8955,-245.5 "/>
+<text text-anchor="start" x="8815" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node101 -->
 <g id="edge100" class="edge">
 <title>Node1&#45;&gt;Node101</title>
-<path fill="none" stroke="midnightblue" d="M7391.25,-391.89C7673.31,-390.73 8528.16,-380.95 8794,-306 8803.76,-303.25 8813.66,-299.22 8823.06,-294.69"/>
-<polygon fill="none" stroke="midnightblue" points="7391.04,-388.39 7381.06,-391.92 7391.07,-395.39 7391.04,-388.39"/>
+<path fill="none" stroke="midnightblue" d="M7478.28,-391.52C7749.75,-389.31 8548.58,-376.78 8798,-306 8807.75,-303.23 8817.65,-299.2 8827.05,-294.67"/>
+<polygon fill="none" stroke="midnightblue" points="7478.05,-388.03 7468.08,-391.6 7478.1,-395.02 7478.05,-388.03"/>
 </g>
 <!-- Node103 -->
 <g id="node103" class="node">
 <title>Node103</title>
 <g id="a_node103"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8969,-226.5 8969,-294.5 9117,-294.5 9117,-226.5 8969,-226.5"/>
-<text text-anchor="start" x="8977" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="9043" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PadAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="8969,-264.5 9117,-264.5 "/>
-<text text-anchor="middle" x="9043" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8969,-245.5 9117,-245.5 "/>
-<text text-anchor="start" x="8977" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="8973,-226.5 8973,-294.5 9121,-294.5 9121,-226.5 8973,-226.5"/>
+<text text-anchor="start" x="8981" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="9047" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PadAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="8973,-264.5 9121,-264.5 "/>
+<text text-anchor="middle" x="9047" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8973,-245.5 9121,-245.5 "/>
+<text text-anchor="start" x="8981" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node103 -->
 <g id="edge102" class="edge">
 <title>Node1&#45;&gt;Node103</title>
-<path fill="none" stroke="midnightblue" d="M7391.12,-392.5C7693.46,-393.35 8661.18,-389.33 8960,-306 8969.92,-303.23 8979.99,-299.13 8989.52,-294.52"/>
-<polygon fill="none" stroke="midnightblue" points="7391.09,-389 7381.08,-392.47 7391.07,-396 7391.09,-389"/>
+<path fill="none" stroke="midnightblue" d="M7478.26,-392.21C7770.68,-392.07 8681.72,-385.13 8964,-306 8973.92,-303.22 8983.98,-299.11 8993.52,-294.5"/>
+<polygon fill="none" stroke="midnightblue" points="7478.12,-388.71 7468.12,-392.21 7478.12,-395.71 7478.12,-388.71"/>
 </g>
 <!-- Node105 -->
 <g id="node105" class="node">
 <title>Node105</title>
 <g id="a_node105"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="9135,-226.5 9135,-294.5 9283,-294.5 9283,-226.5 9135,-226.5"/>
-<text text-anchor="start" x="9143" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="9209" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; InstanceNormAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="9135,-264.5 9283,-264.5 "/>
-<text text-anchor="middle" x="9209" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="9135,-245.5 9283,-245.5 "/>
-<text text-anchor="start" x="9143" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="9139,-226.5 9139,-294.5 9287,-294.5 9287,-226.5 9139,-226.5"/>
+<text text-anchor="start" x="9147" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="9213" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; InstanceNormAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="9139,-264.5 9287,-264.5 "/>
+<text text-anchor="middle" x="9213" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="9139,-245.5 9287,-245.5 "/>
+<text text-anchor="start" x="9147" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node105 -->
 <g id="edge104" class="edge">
 <title>Node1&#45;&gt;Node105</title>
-<path fill="none" stroke="midnightblue" d="M7391.27,-390.07C7737.44,-382.41 8958.26,-352.35 9126,-306 9135.93,-303.26 9146,-299.17 9155.54,-294.56"/>
-<polygon fill="none" stroke="midnightblue" points="7390.96,-386.57 7381.04,-390.29 7391.12,-393.57 7390.96,-386.57"/>
+<path fill="none" stroke="midnightblue" d="M7478.33,-389.85C7814.32,-381.59 8970.58,-350.24 9130,-306 9139.93,-303.25 9149.99,-299.15 9159.53,-294.54"/>
+<polygon fill="none" stroke="midnightblue" points="7478.06,-386.35 7468.15,-390.09 7478.23,-393.35 7478.06,-386.35"/>
 </g>
 <!-- Node107 -->
 <g id="node107" class="node">
 <title>Node107</title>
 <g id="a_node107"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="9301,-226.5 9301,-294.5 9449,-294.5 9449,-226.5 9301,-226.5"/>
-<text text-anchor="start" x="9309" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="9375" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; DropoutAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="9301,-264.5 9449,-264.5 "/>
-<text text-anchor="middle" x="9375" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="9301,-245.5 9449,-245.5 "/>
-<text text-anchor="start" x="9309" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="9305,-226.5 9305,-294.5 9453,-294.5 9453,-226.5 9305,-226.5"/>
+<text text-anchor="start" x="9313" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="9379" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; DropoutAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="9305,-264.5 9453,-264.5 "/>
+<text text-anchor="middle" x="9379" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="9305,-245.5 9453,-245.5 "/>
+<text text-anchor="start" x="9313" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node107 -->
 <g id="edge106" class="edge">
 <title>Node1&#45;&gt;Node107</title>
-<path fill="none" stroke="midnightblue" d="M7391.21,-390.45C7757.1,-383.92 9107.56,-356.58 9292,-306 9301.93,-303.28 9312.01,-299.2 9321.54,-294.6"/>
-<polygon fill="none" stroke="midnightblue" points="7391.13,-386.95 7381.2,-390.63 7391.26,-393.95 7391.13,-386.95"/>
+<path fill="none" stroke="midnightblue" d="M7478.25,-390.27C7834.39,-383.18 9119.92,-354.46 9296,-306 9305.93,-303.27 9316,-299.18 9325.54,-294.58"/>
+<polygon fill="none" stroke="midnightblue" points="7478.16,-386.77 7468.24,-390.47 7478.3,-393.77 7478.16,-386.77"/>
 </g>
 <!-- Node109 -->
 <g id="node109" class="node">
 <title>Node109</title>
 <g id="a_node109"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="9467,-226.5 9467,-294.5 9615,-294.5 9615,-226.5 9467,-226.5"/>
-<text text-anchor="start" x="9475" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="9541" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; TopKAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="9467,-264.5 9615,-264.5 "/>
-<text text-anchor="middle" x="9541" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="9467,-245.5 9615,-245.5 "/>
-<text text-anchor="start" x="9475" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="9471,-226.5 9471,-294.5 9619,-294.5 9619,-226.5 9471,-226.5"/>
+<text text-anchor="start" x="9479" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="9545" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; TopKAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="9471,-264.5 9619,-264.5 "/>
+<text text-anchor="middle" x="9545" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="9471,-245.5 9619,-245.5 "/>
+<text text-anchor="start" x="9479" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node109 -->
 <g id="edge108" class="edge">
 <title>Node1&#45;&gt;Node109</title>
-<path fill="none" stroke="midnightblue" d="M7391.32,-390.78C7776.37,-385.29 9256.85,-360.8 9458,-306 9467.94,-303.29 9478.01,-299.22 9487.55,-294.62"/>
-<polygon fill="none" stroke="midnightblue" points="7391.01,-387.28 7381.06,-390.92 7391.11,-394.28 7391.01,-387.28"/>
+<path fill="none" stroke="midnightblue" d="M7478.24,-390.62C7853.76,-384.62 9269.21,-358.69 9462,-306 9471.94,-303.28 9482.01,-299.21 9491.55,-294.61"/>
+<polygon fill="none" stroke="midnightblue" points="7478.17,-387.12 7468.23,-390.78 7478.29,-394.12 7478.17,-387.12"/>
 </g>
 <!-- Node111 -->
 <g id="node111" class="node">
 <title>Node111</title>
 <g id="a_node111"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="9633.5,-226.5 9633.5,-294.5 9818.5,-294.5 9818.5,-226.5 9633.5,-226.5"/>
-<text text-anchor="start" x="9641.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="9726" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; MultinomialFromUniformAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="9633.5,-264.5 9818.5,-264.5 "/>
-<text text-anchor="middle" x="9726" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="9633.5,-245.5 9818.5,-245.5 "/>
-<text text-anchor="start" x="9641.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="9637.5,-226.5 9637.5,-294.5 9822.5,-294.5 9822.5,-226.5 9637.5,-226.5"/>
+<text text-anchor="start" x="9645.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="9730" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; MultinomialFromUniformAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="9637.5,-264.5 9822.5,-264.5 "/>
+<text text-anchor="middle" x="9730" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="9637.5,-245.5 9822.5,-245.5 "/>
+<text text-anchor="start" x="9645.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node111 -->
 <g id="edge110" class="edge">
 <title>Node1&#45;&gt;Node111</title>
-<path fill="none" stroke="midnightblue" d="M7391.16,-390.64C7793.94,-384.33 9403.86,-356.2 9624,-306 9635.96,-303.27 9648.26,-299.16 9660,-294.52"/>
-<polygon fill="none" stroke="midnightblue" points="7390.96,-387.14 7381.01,-390.79 7391.07,-394.14 7390.96,-387.14"/>
+<path fill="none" stroke="midnightblue" d="M7478.45,-390.5C7872.66,-383.74 9416.38,-354.41 9628,-306 9639.96,-303.26 9652.26,-299.15 9664,-294.5"/>
+<polygon fill="none" stroke="midnightblue" points="7478.17,-387 7468.23,-390.67 7478.29,-394 7478.17,-387"/>
 </g>
 <!-- Node113 -->
 <g id="node113" class="node">
 <title>Node113</title>
 <g id="a_node113"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="9837,-226.5 9837,-294.5 9985,-294.5 9985,-226.5 9837,-226.5"/>
-<text text-anchor="start" x="9845" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="9911" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv3DAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="9837,-264.5 9985,-264.5 "/>
-<text text-anchor="middle" x="9911" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="9837,-245.5 9985,-245.5 "/>
-<text text-anchor="start" x="9845" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="9841,-226.5 9841,-294.5 9989,-294.5 9989,-226.5 9841,-226.5"/>
+<text text-anchor="start" x="9849" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="9915" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv3DAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="9841,-264.5 9989,-264.5 "/>
+<text text-anchor="middle" x="9915" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="9841,-245.5 9989,-245.5 "/>
+<text text-anchor="start" x="9849" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node113 -->
 <g id="edge112" class="edge">
 <title>Node1&#45;&gt;Node113</title>
-<path fill="none" stroke="midnightblue" d="M7391.08,-391.33C7815.45,-387.86 9588.3,-369.65 9827,-306 9837.05,-303.32 9847.23,-299.27 9856.89,-294.67"/>
-<polygon fill="none" stroke="midnightblue" points="7390.98,-387.83 7381.01,-391.41 7391.03,-394.83 7390.98,-387.83"/>
+<path fill="none" stroke="midnightblue" d="M7478.47,-391.21C7894.86,-387.28 9600.8,-367.53 9831,-306 9841.04,-303.32 9851.23,-299.26 9860.88,-294.66"/>
+<polygon fill="none" stroke="midnightblue" points="7478.25,-387.71 7468.29,-391.3 7478.32,-394.71 7478.25,-387.71"/>
 </g>
 <!-- Node115 -->
 <g id="node115" class="node">
 <title>Node115</title>
 <g id="a_node115"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10003,-226.5 10003,-294.5 10151,-294.5 10151,-226.5 10003,-226.5"/>
-<text text-anchor="start" x="10011" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="10077" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; VirtualDeviceNode &gt;</text>
-<polyline fill="none" stroke="black" points="10003,-264.5 10151,-264.5 "/>
-<text text-anchor="middle" x="10077" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10003,-245.5 10151,-245.5 "/>
-<text text-anchor="start" x="10011" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="10007,-226.5 10007,-294.5 10155,-294.5 10155,-226.5 10007,-226.5"/>
+<text text-anchor="start" x="10015" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="10081" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; VirtualDeviceNode &gt;</text>
+<polyline fill="none" stroke="black" points="10007,-264.5 10155,-264.5 "/>
+<text text-anchor="middle" x="10081" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10007,-245.5 10155,-245.5 "/>
+<text text-anchor="start" x="10015" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node115 -->
 <g id="edge114" class="edge">
 <title>Node1&#45;&gt;Node115</title>
-<path fill="none" stroke="midnightblue" d="M7391.24,-391.56C7832.96,-389.09 9738.53,-374.52 9994,-306 10003.95,-303.33 10014.03,-299.28 10023.57,-294.69"/>
-<polygon fill="none" stroke="midnightblue" points="7391.06,-388.06 7381.08,-391.61 7391.1,-395.06 7391.06,-388.06"/>
+<path fill="none" stroke="midnightblue" d="M7478.59,-391.46C7912.55,-388.55 9751.03,-372.37 9998,-306 10007.95,-303.33 10018.03,-299.27 10027.57,-294.68"/>
+<polygon fill="none" stroke="midnightblue" points="7478.27,-387.96 7468.3,-391.52 7478.32,-394.96 7478.27,-387.96"/>
 </g>
 <!-- Node117 -->
 <g id="node117" class="node">
 <title>Node117</title>
 <g id="a_node117"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10169,-226.5 10169,-294.5 10317,-294.5 10317,-226.5 10169,-226.5"/>
-<text text-anchor="start" x="10177" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="10243" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; WrapParamAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="10169,-264.5 10317,-264.5 "/>
-<text text-anchor="middle" x="10243" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10169,-245.5 10317,-245.5 "/>
-<text text-anchor="start" x="10177" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="10173,-226.5 10173,-294.5 10321,-294.5 10321,-226.5 10173,-226.5"/>
+<text text-anchor="start" x="10181" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="10247" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; WrapParamAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="10173,-264.5 10321,-264.5 "/>
+<text text-anchor="middle" x="10247" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10173,-245.5 10321,-245.5 "/>
+<text text-anchor="start" x="10181" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node117 -->
 <g id="edge116" class="edge">
 <title>Node1&#45;&gt;Node117</title>
-<path fill="none" stroke="midnightblue" d="M7391.57,-391.74C7850.34,-390.1 9887.7,-378.76 10160,-306 10169.95,-303.34 10180.03,-299.3 10189.57,-294.71"/>
-<polygon fill="none" stroke="midnightblue" points="7391.33,-388.24 7381.35,-391.78 7391.36,-395.24 7391.33,-388.24"/>
+<path fill="none" stroke="midnightblue" d="M7478.11,-391.65C7927.86,-389.61 9900.06,-376.65 10164,-306 10173.95,-303.34 10184.03,-299.29 10193.57,-294.7"/>
+<polygon fill="none" stroke="midnightblue" points="7478.08,-388.15 7468.09,-391.7 7478.11,-395.15 7478.08,-388.15"/>
 </g>
 <!-- Node119 -->
 <g id="node119" class="node">
 <title>Node119</title>
 <g id="a_node119"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10335,-226.5 10335,-294.5 10483,-294.5 10483,-226.5 10335,-226.5"/>
-<text text-anchor="start" x="10343" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="10409" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; TileAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="10335,-264.5 10483,-264.5 "/>
-<text text-anchor="middle" x="10409" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10335,-245.5 10483,-245.5 "/>
-<text text-anchor="start" x="10343" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="10339,-226.5 10339,-294.5 10487,-294.5 10487,-226.5 10339,-226.5"/>
+<text text-anchor="start" x="10347" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="10413" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; TileAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="10339,-264.5 10487,-264.5 "/>
+<text text-anchor="middle" x="10413" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10339,-245.5 10487,-245.5 "/>
+<text text-anchor="start" x="10347" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node119 -->
 <g id="edge118" class="edge">
 <title>Node1&#45;&gt;Node119</title>
-<path fill="none" stroke="midnightblue" d="M7391.42,-391.9C7865.86,-391.07 10036.75,-383.03 10326,-306 10336.11,-303.31 10346.35,-299.18 10356.03,-294.5"/>
-<polygon fill="none" stroke="midnightblue" points="7391.19,-388.4 7381.2,-391.92 7391.2,-395.4 7391.19,-388.4"/>
+<path fill="none" stroke="midnightblue" d="M7478.19,-391.82C7944.24,-390.6 10049.17,-380.91 10330,-306 10339.95,-303.35 10350.03,-299.3 10359.58,-294.71"/>
+<polygon fill="none" stroke="midnightblue" points="7478.13,-388.32 7468.14,-391.85 7478.15,-395.32 7478.13,-388.32"/>
 </g>
 <!-- Node121 -->
 <g id="node121" class="node">
 <title>Node121</title>
 <g id="a_node121"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10501,-226.5 10501,-294.5 10649,-294.5 10649,-226.5 10501,-226.5"/>
-<text text-anchor="start" x="10509" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="10575" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; StridedSliceAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="10501,-264.5 10649,-264.5 "/>
-<text text-anchor="middle" x="10575" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10501,-245.5 10649,-245.5 "/>
-<text text-anchor="start" x="10509" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="10505,-226.5 10505,-294.5 10653,-294.5 10653,-226.5 10505,-226.5"/>
+<text text-anchor="start" x="10513" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="10579" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; StridedSliceAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="10505,-264.5 10653,-264.5 "/>
+<text text-anchor="middle" x="10579" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10505,-245.5 10653,-245.5 "/>
+<text text-anchor="start" x="10513" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node121 -->
 <g id="edge120" class="edge">
 <title>Node1&#45;&gt;Node121</title>
-<path fill="none" stroke="midnightblue" d="M7391.22,-392.05C7880.77,-391.98 10185.76,-387.31 10492,-306 10502.11,-303.31 10512.36,-299.19 10522.04,-294.52"/>
-<polygon fill="none" stroke="midnightblue" points="7391.03,-388.55 7381.03,-392.05 7391.03,-395.55 7391.03,-388.55"/>
+<path fill="none" stroke="midnightblue" d="M7478.19,-391.98C7959.98,-391.53 10198.23,-385.18 10496,-306 10506.11,-303.31 10516.36,-299.19 10526.03,-294.51"/>
+<polygon fill="none" stroke="midnightblue" points="7478.15,-388.48 7468.16,-391.99 7478.16,-395.48 7478.15,-388.48"/>
 </g>
 <!-- Node123 -->
 <g id="node123" class="node">
 <title>Node123</title>
 <g id="a_node123"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10667,-226.5 10667,-294.5 10815,-294.5 10815,-226.5 10667,-226.5"/>
-<text text-anchor="start" x="10675" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="10741" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SplitAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="10667,-264.5 10815,-264.5 "/>
-<text text-anchor="middle" x="10741" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10667,-245.5 10815,-245.5 "/>
-<text text-anchor="start" x="10675" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="10671,-226.5 10671,-294.5 10819,-294.5 10819,-226.5 10671,-226.5"/>
+<text text-anchor="start" x="10679" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="10745" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SplitAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="10671,-264.5 10819,-264.5 "/>
+<text text-anchor="middle" x="10745" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10671,-245.5 10819,-245.5 "/>
+<text text-anchor="start" x="10679" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node123 -->
 <g id="edge122" class="edge">
 <title>Node1&#45;&gt;Node123</title>
-<path fill="none" stroke="midnightblue" d="M7391.44,-392.18C7896.59,-392.85 10334.84,-391.58 10658,-306 10668.12,-303.32 10678.36,-299.2 10688.04,-294.53"/>
-<polygon fill="none" stroke="midnightblue" points="7391.29,-388.68 7381.28,-392.17 7391.28,-395.68 7391.29,-388.68"/>
+<path fill="none" stroke="midnightblue" d="M7478.56,-392.12C7976.45,-392.42 10347.35,-389.43 10662,-306 10672.11,-303.32 10682.36,-299.2 10692.04,-294.52"/>
+<polygon fill="none" stroke="midnightblue" points="7478.2,-388.62 7468.19,-392.11 7478.19,-395.62 7478.2,-388.62"/>
 </g>
 <!-- Node125 -->
 <g id="node125" class="node">
 <title>Node125</title>
 <g id="a_node125"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10833,-226.5 10833,-294.5 10981,-294.5 10981,-226.5 10833,-226.5"/>
-<text text-anchor="start" x="10841" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="10907" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; RMSNormAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="10833,-264.5 10981,-264.5 "/>
-<text text-anchor="middle" x="10907" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10833,-245.5 10981,-245.5 "/>
-<text text-anchor="start" x="10841" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="10837,-226.5 10837,-294.5 10985,-294.5 10985,-226.5 10837,-226.5"/>
+<text text-anchor="start" x="10845" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="10911" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; RMSNormAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="10837,-264.5 10985,-264.5 "/>
+<text text-anchor="middle" x="10911" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10837,-245.5 10985,-245.5 "/>
+<text text-anchor="start" x="10845" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node125 -->
 <g id="edge124" class="edge">
 <title>Node1&#45;&gt;Node125</title>
-<path fill="none" stroke="midnightblue" d="M7391.31,-392.3C7910.94,-393.68 10483.82,-395.87 10824,-306 10834.12,-303.33 10844.36,-299.21 10854.04,-294.54"/>
-<polygon fill="none" stroke="midnightblue" points="7391.25,-388.8 7381.24,-392.27 7391.23,-395.8 7391.25,-388.8"/>
+<path fill="none" stroke="midnightblue" d="M7478.61,-392.24C7991.56,-393.27 10496.38,-393.71 10828,-306 10838.12,-303.32 10848.36,-299.21 10858.04,-294.53"/>
+<polygon fill="none" stroke="midnightblue" points="7478.31,-388.74 7468.3,-392.22 7478.29,-395.74 7478.31,-388.74"/>
 </g>
 <!-- Node127 -->
 <g id="node127" class="node">
 <title>Node127</title>
 <g id="a_node127"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10999,-226.5 10999,-294.5 11147,-294.5 11147,-226.5 10999,-226.5"/>
-<text text-anchor="start" x="11007" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="11073" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; QuantizeAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="10999,-264.5 11147,-264.5 "/>
-<text text-anchor="middle" x="11073" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10999,-245.5 11147,-245.5 "/>
-<text text-anchor="start" x="11007" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="11003,-226.5 11003,-294.5 11151,-294.5 11151,-226.5 11003,-226.5"/>
+<text text-anchor="start" x="11011" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="11077" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; QuantizeAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="11003,-264.5 11151,-264.5 "/>
+<text text-anchor="middle" x="11077" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11003,-245.5 11151,-245.5 "/>
+<text text-anchor="start" x="11011" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node127 -->
 <g id="edge126" class="edge">
 <title>Node1&#45;&gt;Node127</title>
-<path fill="none" stroke="midnightblue" d="M7391.62,-391.07C7943.81,-385.31 10810.87,-353.22 10990,-306 11000.12,-303.33 11010.37,-299.22 11020.04,-294.55"/>
-<polygon fill="none" stroke="midnightblue" points="7391.28,-387.57 7381.32,-391.18 7391.36,-394.57 7391.28,-387.57"/>
+<path fill="none" stroke="midnightblue" d="M7478.32,-392.36C8005.21,-394.07 10645.31,-398.01 10994,-306 11004.12,-303.33 11014.36,-299.21 11024.04,-294.54"/>
+<polygon fill="none" stroke="midnightblue" points="7478.13,-388.86 7468.11,-392.32 7478.1,-395.86 7478.13,-388.86"/>
 </g>
 <!-- Node129 -->
 <g id="node129" class="node">
 <title>Node129</title>
 <g id="a_node129"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11165,-226.5 11165,-294.5 11313,-294.5 11313,-226.5 11165,-226.5"/>
-<text text-anchor="start" x="11173" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="11239" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PReluAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="11165,-264.5 11313,-264.5 "/>
-<text text-anchor="middle" x="11239" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11165,-245.5 11313,-245.5 "/>
-<text text-anchor="start" x="11173" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="11169,-226.5 11169,-294.5 11317,-294.5 11317,-226.5 11169,-226.5"/>
+<text text-anchor="start" x="11177" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="11243" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PReluAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="11169,-264.5 11317,-264.5 "/>
+<text text-anchor="middle" x="11243" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11169,-245.5 11317,-245.5 "/>
+<text text-anchor="start" x="11177" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node129 -->
 <g id="edge128" class="edge">
 <title>Node1&#45;&gt;Node129</title>
-<path fill="none" stroke="midnightblue" d="M7391.18,-391.17C7956.79,-385.86 10968.29,-355.38 11156,-306 11166.12,-303.34 11176.37,-299.23 11186.05,-294.55"/>
-<polygon fill="none" stroke="midnightblue" points="7391,-387.67 7381.04,-391.26 7391.07,-394.67 7391,-387.67"/>
+<path fill="none" stroke="midnightblue" d="M7478.45,-391.12C8037.55,-385.59 10976.59,-354.29 11160,-306 11170.12,-303.34 11180.37,-299.22 11190.04,-294.55"/>
+<polygon fill="none" stroke="midnightblue" points="7478.39,-387.62 7468.42,-391.22 7478.46,-394.62 7478.39,-387.62"/>
 </g>
 <!-- Node131 -->
 <g id="node131" class="node">
 <title>Node131</title>
 <g id="a_node131"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11331,-226.5 11331,-294.5 11501,-294.5 11501,-226.5 11331,-226.5"/>
-<text text-anchor="start" x="11339" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="11416" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; MultiboxTransformLocAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="11331,-264.5 11501,-264.5 "/>
-<text text-anchor="middle" x="11416" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11331,-245.5 11501,-245.5 "/>
-<text text-anchor="start" x="11339" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="11335,-226.5 11335,-294.5 11505,-294.5 11505,-226.5 11335,-226.5"/>
+<text text-anchor="start" x="11343" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="11420" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; MultiboxTransformLocAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="11335,-264.5 11505,-264.5 "/>
+<text text-anchor="middle" x="11420" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11335,-245.5 11505,-245.5 "/>
+<text text-anchor="start" x="11343" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node131 -->
 <g id="edge130" class="edge">
 <title>Node1&#45;&gt;Node131</title>
-<path fill="none" stroke="midnightblue" d="M7391.78,-391.12C7973.05,-385.45 11124.6,-352.59 11322,-306 11333.25,-303.35 11344.75,-299.24 11355.67,-294.57"/>
-<polygon fill="none" stroke="midnightblue" points="7391.33,-387.63 7381.36,-391.23 7391.4,-394.63 7391.33,-387.63"/>
+<path fill="none" stroke="midnightblue" d="M7478.48,-392.29C8033.72,-393.75 10940.9,-396.98 11326,-306 11337.25,-303.34 11348.74,-299.23 11359.67,-294.56"/>
+<polygon fill="none" stroke="midnightblue" points="7478.14,-388.79 7468.13,-392.26 7478.12,-395.79 7478.14,-388.79"/>
 </g>
 <!-- Node133 -->
 <g id="node133" class="node">
 <title>Node133</title>
 <g id="a_node133"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11519,-226.5 11519,-294.5 11667,-294.5 11667,-226.5 11519,-226.5"/>
-<text text-anchor="start" x="11527" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="11593" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv2DAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="11519,-264.5 11667,-264.5 "/>
-<text text-anchor="middle" x="11593" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11519,-245.5 11667,-245.5 "/>
-<text text-anchor="start" x="11527" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="11523,-226.5 11523,-294.5 11671,-294.5 11671,-226.5 11523,-226.5"/>
+<text text-anchor="start" x="11531" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="11597" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv2DAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="11523,-264.5 11671,-264.5 "/>
+<text text-anchor="middle" x="11597" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11523,-245.5 11671,-245.5 "/>
+<text text-anchor="start" x="11531" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node133 -->
 <g id="edge132" class="edge">
 <title>Node1&#45;&gt;Node133</title>
-<path fill="none" stroke="midnightblue" d="M7391.32,-391.35C7987.21,-386.93 11304.09,-359.96 11510,-306 11520.12,-303.35 11530.37,-299.24 11540.05,-294.57"/>
-<polygon fill="none" stroke="midnightblue" points="7391.04,-387.85 7381.07,-391.42 7391.09,-394.85 7391.04,-387.85"/>
+<path fill="none" stroke="midnightblue" d="M7478.4,-391.31C8067.6,-386.68 11312.37,-358.88 11514,-306 11524.12,-303.35 11534.37,-299.24 11544.05,-294.57"/>
+<polygon fill="none" stroke="midnightblue" points="7478.23,-387.81 7468.26,-391.39 7478.28,-394.81 7478.23,-387.81"/>
 </g>
 <!-- Node135 -->
 <g id="node135" class="node">
 <title>Node135</title>
 <g id="a_node135"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11685,-226.5 11685,-294.5 11833,-294.5 11833,-226.5 11685,-226.5"/>
-<text text-anchor="start" x="11693" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="11759" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SortAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="11685,-264.5 11833,-264.5 "/>
-<text text-anchor="middle" x="11759" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11685,-245.5 11833,-245.5 "/>
-<text text-anchor="start" x="11693" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="11689,-226.5 11689,-294.5 11837,-294.5 11837,-226.5 11689,-226.5"/>
+<text text-anchor="start" x="11697" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="11763" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SortAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="11689,-264.5 11837,-264.5 "/>
+<text text-anchor="middle" x="11763" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11689,-245.5 11837,-245.5 "/>
+<text text-anchor="start" x="11697" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node135 -->
 <g id="edge134" class="edge">
 <title>Node1&#45;&gt;Node135</title>
-<path fill="none" stroke="midnightblue" d="M7391.52,-391.42C8001.56,-387.39 11461.56,-362.11 11676,-306 11686.12,-303.35 11696.37,-299.25 11706.05,-294.58"/>
-<polygon fill="none" stroke="midnightblue" points="7391.43,-387.92 7381.45,-391.48 7391.48,-394.92 7391.43,-387.92"/>
+<path fill="none" stroke="midnightblue" d="M7478.66,-391.38C8082.34,-387.15 11469.85,-361.02 11680,-306 11690.12,-303.35 11700.37,-299.24 11710.05,-294.57"/>
+<polygon fill="none" stroke="midnightblue" points="7478.26,-387.88 7468.28,-391.45 7478.31,-394.88 7478.26,-387.88"/>
 </g>
 <!-- Node137 -->
 <g id="node137" class="node">
 <title>Node137</title>
 <g id="a_node137"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11851,-226.5 11851,-294.5 11999,-294.5 11999,-226.5 11851,-226.5"/>
-<text text-anchor="start" x="11859" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="11925" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv1DAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="11851,-264.5 11999,-264.5 "/>
-<text text-anchor="middle" x="11925" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11851,-245.5 11999,-245.5 "/>
-<text text-anchor="start" x="11859" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="11855,-226.5 11855,-294.5 12003,-294.5 12003,-226.5 11855,-226.5"/>
+<text text-anchor="start" x="11863" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="11929" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv1DAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="11855,-264.5 12003,-264.5 "/>
+<text text-anchor="middle" x="11929" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11855,-245.5 12003,-245.5 "/>
+<text text-anchor="start" x="11863" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node137 -->
 <g id="edge136" class="edge">
 <title>Node1&#45;&gt;Node137</title>
-<path fill="none" stroke="midnightblue" d="M7391.48,-391.49C8014.77,-387.84 11618.99,-364.26 11842,-306 11852.12,-303.36 11862.37,-299.25 11872.05,-294.58"/>
-<polygon fill="none" stroke="midnightblue" points="7391.18,-387.99 7381.2,-391.55 7391.22,-394.99 7391.18,-387.99"/>
+<path fill="none" stroke="midnightblue" d="M7478.27,-391.45C8094.35,-387.62 11627.25,-363.19 11846,-306 11856.12,-303.35 11866.37,-299.25 11876.05,-294.58"/>
+<polygon fill="none" stroke="midnightblue" points="7478.1,-387.96 7468.12,-391.52 7478.14,-394.96 7478.1,-387.96"/>
 </g>
 <!-- Node139 -->
 <g id="node139" class="node">
 <title>Node139</title>
 <g id="a_node139"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="12017,-226.5 12017,-294.5 12165,-294.5 12165,-226.5 12017,-226.5"/>
-<text text-anchor="start" x="12025" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="12091" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; BucketizeAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="12017,-264.5 12165,-264.5 "/>
-<text text-anchor="middle" x="12091" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="12017,-245.5 12165,-245.5 "/>
-<text text-anchor="start" x="12025" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="12021,-226.5 12021,-294.5 12169,-294.5 12169,-226.5 12021,-226.5"/>
+<text text-anchor="start" x="12029" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="12095" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; BucketizeAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="12021,-264.5 12169,-264.5 "/>
+<text text-anchor="middle" x="12095" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12021,-245.5 12169,-245.5 "/>
+<text text-anchor="start" x="12029" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node139 -->
 <g id="edge138" class="edge">
 <title>Node1&#45;&gt;Node139</title>
-<path fill="none" stroke="midnightblue" d="M7391.28,-391.55C8027.13,-388.27 11776.39,-366.42 12008,-306 12018.13,-303.36 12028.38,-299.26 12038.05,-294.59"/>
-<polygon fill="none" stroke="midnightblue" points="7391.24,-388.05 7381.26,-391.6 7391.27,-395.05 7391.24,-388.05"/>
+<path fill="none" stroke="midnightblue" d="M7478.64,-391.52C8108.98,-388.05 11784.72,-365.33 12012,-306 12022.12,-303.36 12032.37,-299.25 12042.05,-294.59"/>
+<polygon fill="none" stroke="midnightblue" points="7478.23,-388.02 7468.25,-391.57 7478.27,-395.02 7478.23,-388.02"/>
 </g>
 <!-- Node141 -->
 <g id="node141" class="node">
 <title>Node141</title>
 <g id="a_node141"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="12183,-226.5 12183,-294.5 12331,-294.5 12331,-226.5 12183,-226.5"/>
-<text text-anchor="start" x="12191" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="12257" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ArgsortAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="12183,-264.5 12331,-264.5 "/>
-<text text-anchor="middle" x="12257" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="12183,-245.5 12331,-245.5 "/>
-<text text-anchor="start" x="12191" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="12187,-226.5 12187,-294.5 12335,-294.5 12335,-226.5 12187,-226.5"/>
+<text text-anchor="start" x="12195" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="12261" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ArgsortAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="12187,-264.5 12335,-264.5 "/>
+<text text-anchor="middle" x="12261" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12187,-245.5 12335,-245.5 "/>
+<text text-anchor="start" x="12195" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node141 -->
 <g id="edge140" class="edge">
 <title>Node1&#45;&gt;Node141</title>
-<path fill="none" stroke="midnightblue" d="M7391.38,-391.61C8040.39,-388.69 11933.83,-368.58 12174,-306 12184.13,-303.36 12194.38,-299.26 12204.06,-294.59"/>
-<polygon fill="none" stroke="midnightblue" points="7391.14,-388.11 7381.15,-391.66 7391.17,-395.11 7391.14,-388.11"/>
+<path fill="none" stroke="midnightblue" d="M7478.35,-391.58C8120.87,-388.48 11942.11,-367.5 12178,-306 12188.13,-303.36 12198.38,-299.26 12208.06,-294.59"/>
+<polygon fill="none" stroke="midnightblue" points="7478.21,-388.08 7468.22,-391.63 7478.24,-395.08 7478.21,-388.08"/>
 </g>
 <!-- Node143 -->
 <g id="node143" class="node">
 <title>Node143</title>
 <g id="a_node143"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="12349,-226.5 12349,-294.5 12497,-294.5 12497,-226.5 12349,-226.5"/>
-<text text-anchor="start" x="12357" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="12423" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; StatisticalAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="12349,-264.5 12497,-264.5 "/>
-<text text-anchor="middle" x="12423" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="12349,-245.5 12497,-245.5 "/>
-<text text-anchor="start" x="12357" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="12353,-226.5 12353,-294.5 12501,-294.5 12501,-226.5 12353,-226.5"/>
+<text text-anchor="start" x="12361" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="12427" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; StatisticalAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="12353,-264.5 12501,-264.5 "/>
+<text text-anchor="middle" x="12427" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12353,-245.5 12501,-245.5 "/>
+<text text-anchor="start" x="12361" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node143 -->
 <g id="edge142" class="edge">
 <title>Node1&#45;&gt;Node143</title>
-<path fill="none" stroke="midnightblue" d="M7391.58,-391.66C8053.86,-389.08 12091.27,-370.73 12340,-306 12350.13,-303.36 12360.38,-299.27 12370.06,-294.6"/>
-<polygon fill="none" stroke="midnightblue" points="7391.13,-388.17 7381.15,-391.7 7391.16,-395.17 7391.13,-388.17"/>
+<path fill="none" stroke="midnightblue" d="M7478.37,-391.64C8133.7,-388.89 12099.54,-369.66 12344,-306 12354.13,-303.36 12364.38,-299.26 12374.06,-294.6"/>
+<polygon fill="none" stroke="midnightblue" points="7478.03,-388.14 7468.04,-391.68 7478.06,-395.14 7478.03,-388.14"/>
 </g>
 <!-- Node145 -->
 <g id="node145" class="node">
 <title>Node145</title>
 <g id="a_node145"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="12515,-226.5 12515,-294.5 12663,-294.5 12663,-226.5 12515,-226.5"/>
-<text text-anchor="start" x="12523" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="12589" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; LayoutTransformAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="12515,-264.5 12663,-264.5 "/>
-<text text-anchor="middle" x="12589" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="12515,-245.5 12663,-245.5 "/>
-<text text-anchor="start" x="12523" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="12519,-226.5 12519,-294.5 12667,-294.5 12667,-226.5 12519,-226.5"/>
+<text text-anchor="start" x="12527" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="12593" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; LayoutTransformAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="12519,-264.5 12667,-264.5 "/>
+<text text-anchor="middle" x="12593" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12519,-245.5 12667,-245.5 "/>
+<text text-anchor="start" x="12527" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node145 -->
 <g id="edge144" class="edge">
 <title>Node1&#45;&gt;Node145</title>
-<path fill="none" stroke="midnightblue" d="M7391.14,-391.72C8064.49,-389.48 12248.63,-372.91 12506,-306 12516.13,-303.37 12526.38,-299.27 12536.06,-294.6"/>
-<polygon fill="none" stroke="midnightblue" points="7390.99,-388.22 7381.01,-391.75 7391.02,-395.22 7390.99,-388.22"/>
+<path fill="none" stroke="midnightblue" d="M7478.26,-391.69C8145.83,-389.29 12256.94,-371.82 12510,-306 12520.13,-303.37 12530.38,-299.27 12540.06,-294.6"/>
+<polygon fill="none" stroke="midnightblue" points="7478.21,-388.19 7468.22,-391.73 7478.23,-395.19 7478.21,-388.19"/>
 </g>
 <!-- Node147 -->
 <g id="node147" class="node">
 <title>Node147</title>
 <g id="a_node147"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="12681.5,-226.5 12681.5,-294.5 12830.5,-294.5 12830.5,-226.5 12681.5,-226.5"/>
-<text text-anchor="start" x="12689.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="12756" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv1DTransposeAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="12681.5,-264.5 12830.5,-264.5 "/>
-<text text-anchor="middle" x="12756" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="12681.5,-245.5 12830.5,-245.5 "/>
-<text text-anchor="start" x="12689.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="12685.5,-226.5 12685.5,-294.5 12834.5,-294.5 12834.5,-226.5 12685.5,-226.5"/>
+<text text-anchor="start" x="12693.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="12760" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv1DTransposeAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="12685.5,-264.5 12834.5,-264.5 "/>
+<text text-anchor="middle" x="12760" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12685.5,-245.5 12834.5,-245.5 "/>
+<text text-anchor="start" x="12693.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node147 -->
 <g id="edge146" class="edge">
 <title>Node1&#45;&gt;Node147</title>
-<path fill="none" stroke="midnightblue" d="M7391.32,-391.75C8077.5,-389.75 12405.88,-374.4 12672,-306 12682.23,-303.37 12692.59,-299.27 12702.39,-294.61"/>
-<polygon fill="none" stroke="midnightblue" points="7391.24,-388.25 7381.25,-391.78 7391.26,-395.25 7391.24,-388.25"/>
+<path fill="none" stroke="midnightblue" d="M7478.23,-391.73C8158.03,-389.56 12414.17,-373.33 12676,-306 12686.23,-303.37 12696.59,-299.27 12706.39,-294.61"/>
+<polygon fill="none" stroke="midnightblue" points="7478,-388.23 7468.01,-391.76 7478.02,-395.23 7478,-388.23"/>
 </g>
 <!-- Node149 -->
 <g id="node149" class="node">
 <title>Node149</title>
 <g id="a_node149"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="12849,-226.5 12849,-294.5 12997,-294.5 12997,-226.5 12849,-226.5"/>
-<text text-anchor="start" x="12857" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="12923" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GetValidCountsAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="12849,-264.5 12997,-264.5 "/>
-<text text-anchor="middle" x="12923" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="12849,-245.5 12997,-245.5 "/>
-<text text-anchor="start" x="12857" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="12853,-226.5 12853,-294.5 13001,-294.5 13001,-226.5 12853,-226.5"/>
+<text text-anchor="start" x="12861" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="12927" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GetValidCountsAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="12853,-264.5 13001,-264.5 "/>
+<text text-anchor="middle" x="12927" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12853,-245.5 13001,-245.5 "/>
+<text text-anchor="start" x="12861" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node149 -->
 <g id="edge148" class="edge">
 <title>Node1&#45;&gt;Node149</title>
-<path fill="none" stroke="midnightblue" d="M7391.38,-391.8C8089.89,-390.11 12564.24,-376.55 12839,-306 12849.23,-303.37 12859.6,-299.28 12869.39,-294.61"/>
-<polygon fill="none" stroke="midnightblue" points="7391.12,-388.3 7381.13,-391.82 7391.14,-395.3 7391.12,-388.3"/>
+<path fill="none" stroke="midnightblue" d="M7478.38,-391.78C8170.86,-389.93 12572.54,-375.48 12843,-306 12853.23,-303.37 12863.59,-299.28 12873.39,-294.61"/>
+<polygon fill="none" stroke="midnightblue" points="7478.2,-388.28 7468.21,-391.8 7478.22,-395.28 7478.2,-388.28"/>
 </g>
 <!-- Node151 -->
 <g id="node151" class="node">
 <title>Node151</title>
 <g id="a_node151"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="13015.5,-226.5 13015.5,-294.5 13164.5,-294.5 13164.5,-226.5 13015.5,-226.5"/>
-<text text-anchor="start" x="13023.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="13090" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv2DTransposeAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="13015.5,-264.5 13164.5,-264.5 "/>
-<text text-anchor="middle" x="13090" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="13015.5,-245.5 13164.5,-245.5 "/>
-<text text-anchor="start" x="13023.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="13019.5,-226.5 13019.5,-294.5 13168.5,-294.5 13168.5,-226.5 13019.5,-226.5"/>
+<text text-anchor="start" x="13027.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="13094" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv2DTransposeAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="13019.5,-264.5 13168.5,-264.5 "/>
+<text text-anchor="middle" x="13094" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="13019.5,-245.5 13168.5,-245.5 "/>
+<text text-anchor="start" x="13027.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node151 -->
 <g id="edge150" class="edge">
 <title>Node1&#45;&gt;Node151</title>
-<path fill="none" stroke="midnightblue" d="M7391.33,-391.84C8101.63,-390.46 12722.57,-378.71 13006,-306 13016.23,-303.38 13026.6,-299.28 13036.39,-294.62"/>
-<polygon fill="none" stroke="midnightblue" points="7391.15,-388.34 7381.16,-391.86 7391.16,-395.34 7391.15,-388.34"/>
+<path fill="none" stroke="midnightblue" d="M7478.11,-391.82C8181.76,-390.29 12730.84,-377.65 13010,-306 13020.23,-303.37 13030.6,-299.28 13040.39,-294.62"/>
+<polygon fill="none" stroke="midnightblue" points="7478.02,-388.32 7468.03,-391.84 7478.04,-395.32 7478.02,-388.32"/>
 </g>
 <!-- Node153 -->
 <g id="node153" class="node">
 <title>Node153</title>
 <g id="a_node153"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="13183,-226.5 13183,-294.5 13331,-294.5 13331,-226.5 13183,-226.5"/>
-<text text-anchor="start" x="13191" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="13257" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PermuteDimsAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="13183,-264.5 13331,-264.5 "/>
-<text text-anchor="middle" x="13257" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="13183,-245.5 13331,-245.5 "/>
-<text text-anchor="start" x="13191" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="13187,-226.5 13187,-294.5 13335,-294.5 13335,-226.5 13187,-226.5"/>
+<text text-anchor="start" x="13195" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="13261" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PermuteDimsAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="13187,-264.5 13335,-264.5 "/>
+<text text-anchor="middle" x="13261" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="13187,-245.5 13335,-245.5 "/>
+<text text-anchor="start" x="13195" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node153 -->
 <g id="edge152" class="edge">
 <title>Node1&#45;&gt;Node153</title>
-<path fill="none" stroke="midnightblue" d="M7391.16,-391.88C8112.64,-390.81 12880.87,-380.87 13173,-306 13183.23,-303.38 13193.6,-299.29 13203.39,-294.62"/>
-<polygon fill="none" stroke="midnightblue" points="7391.08,-388.38 7381.08,-391.9 7391.09,-395.38 7391.08,-388.38"/>
+<path fill="none" stroke="midnightblue" d="M7478.26,-391.86C8194.25,-390.64 12889.2,-379.8 13177,-306 13187.23,-303.38 13197.6,-299.28 13207.39,-294.62"/>
+<polygon fill="none" stroke="midnightblue" points="7478,-388.36 7468.01,-391.88 7478.01,-395.36 7478,-388.36"/>
 </g>
 <!-- Node155 -->
 <g id="node155" class="node">
 <title>Node155</title>
 <g id="a_node155"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="13349,-226.5 13349,-294.5 13497,-294.5 13497,-226.5 13349,-226.5"/>
-<text text-anchor="start" x="13357" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="13423" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GroupNormAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="13349,-264.5 13497,-264.5 "/>
-<text text-anchor="middle" x="13423" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="13349,-245.5 13497,-245.5 "/>
-<text text-anchor="start" x="13357" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="13353,-226.5 13353,-294.5 13501,-294.5 13501,-226.5 13353,-226.5"/>
+<text text-anchor="start" x="13361" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="13427" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GroupNormAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="13353,-264.5 13501,-264.5 "/>
+<text text-anchor="middle" x="13427" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="13353,-245.5 13501,-245.5 "/>
+<text text-anchor="start" x="13361" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node155 -->
 <g id="edge154" class="edge">
 <title>Node1&#45;&gt;Node155</title>
-<path fill="none" stroke="midnightblue" d="M7391.42,-391.93C8125.46,-391.25 13039.43,-383.77 13340,-306 13350.13,-303.38 13360.38,-299.29 13370.06,-294.62"/>
-<polygon fill="none" stroke="midnightblue" points="7391.17,-388.43 7381.18,-391.94 7391.18,-395.43 7391.17,-388.43"/>
+<path fill="none" stroke="midnightblue" d="M7478.31,-391.92C8206.21,-391.09 13047.72,-382.69 13344,-306 13354.13,-303.38 13364.38,-299.29 13374.06,-294.62"/>
+<polygon fill="none" stroke="midnightblue" points="7478.15,-388.42 7468.15,-391.93 7478.15,-395.42 7478.15,-388.42"/>
 </g>
 <!-- Node157 -->
 <g id="node157" class="node">
 <title>Node157</title>
 <g id="a_node157"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="13515,-226.5 13515,-294.5 13663,-294.5 13663,-226.5 13515,-226.5"/>
-<text text-anchor="start" x="13523" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="13589" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GatherNDAttrs &gt;</text>
-<polyline fill="none" stroke="black" points="13515,-264.5 13663,-264.5 "/>
-<text text-anchor="middle" x="13589" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="13515,-245.5 13663,-245.5 "/>
-<text text-anchor="start" x="13523" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<polygon fill="white" stroke="black" points="13519,-226.5 13519,-294.5 13667,-294.5 13667,-226.5 13519,-226.5"/>
+<text text-anchor="start" x="13527" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="13593" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GatherNDAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="13519,-264.5 13667,-264.5 "/>
+<text text-anchor="middle" x="13593" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="13519,-245.5 13667,-245.5 "/>
+<text text-anchor="start" x="13527" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node157 -->
 <g id="edge156" class="edge">
 <title>Node1&#45;&gt;Node157</title>
-<path fill="none" stroke="midnightblue" d="M7391.3,-391.97C8136.29,-391.57 13196.79,-385.94 13506,-306 13516.13,-303.38 13526.38,-299.29 13536.06,-294.63"/>
-<polygon fill="none" stroke="midnightblue" points="7391.16,-388.47 7381.17,-391.98 7391.17,-395.47 7391.16,-388.47"/>
+<path fill="none" stroke="midnightblue" d="M7478.24,-391.95C8217.34,-391.41 13205.1,-384.86 13510,-306 13520.13,-303.38 13530.38,-299.29 13540.06,-294.63"/>
+<polygon fill="none" stroke="midnightblue" points="7478.18,-388.45 7468.18,-391.96 7478.19,-395.45 7478.18,-388.45"/>
 </g>
 <!-- Node159 -->
 <g id="node159" class="node">
 <title>Node159</title>
-<g id="a_node159"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title="Adapter for AttrsNode with the new reflection API.">
-<polygon fill="white" stroke="black" points="13681,-226.5 13681,-294.5 13829,-294.5 13829,-226.5 13681,-226.5"/>
-<text text-anchor="start" x="13689" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="13755" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; DerivedType &gt;</text>
-<polyline fill="none" stroke="black" points="13681,-264.5 13829,-264.5 "/>
-<text text-anchor="middle" x="13755" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="13681,-245.5 13829,-245.5 "/>
-<text text-anchor="start" x="13689" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<g id="a_node159"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="13685.5,-226.5 13685.5,-294.5 13834.5,-294.5 13834.5,-226.5 13685.5,-226.5"/>
+<text text-anchor="start" x="13693.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="13760" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv3DTransposeAttrs &gt;</text>
+<polyline fill="none" stroke="black" points="13685.5,-264.5 13834.5,-264.5 "/>
+<text text-anchor="middle" x="13760" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="13685.5,-245.5 13834.5,-245.5 "/>
+<text text-anchor="start" x="13693.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node159 -->
 <g id="edge158" class="edge">
 <title>Node1&#45;&gt;Node159</title>
-<path fill="none" stroke="midnightblue" d="M7391.07,-392C8146.47,-391.89 13354.14,-388.12 13672,-306 13682.13,-303.38 13692.38,-299.29 13702.07,-294.63"/>
-<polygon fill="none" stroke="midnightblue" points="7391.06,-388.5 7381.06,-392.01 7391.06,-395.5 7391.06,-388.5"/>
-</g>
-<!-- Node160 -->
-<g id="node160" class="node">
-<title>Node160</title>
-<g id="a_node160"><a xlink:href="classtvm_1_1DictAttrsNode.html" target="_top" xlink:title="Specialized attribute type that is backed by a map. The DictAttrsNode implements the Attrs behavior,...">
-<polygon fill="white" stroke="black" points="13847,-215.5 13847,-305.5 14009,-305.5 14009,-215.5 13847,-215.5"/>
-<text text-anchor="middle" x="13928" y="-293.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DictAttrsNode</text>
-<polyline fill="none" stroke="black" points="13847,-286.5 14009,-286.5 "/>
-<text text-anchor="start" x="13855" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dict</text>
-<polyline fill="none" stroke="black" points="13847,-267.5 14009,-267.5 "/>
-<text text-anchor="start" x="13855" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="13855" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="13855" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="13855" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterReflection()</text>
-</a>
-</g>
-</g>
-<!-- Node1&#45;&gt;Node160 -->
-<g id="edge159" class="edge">
-<title>Node1&#45;&gt;Node160</title>
-<path fill="none" stroke="midnightblue" d="M7391.3,-391.95C8158.52,-391.42 13510.2,-384.89 13838,-306 13840.97,-305.29 13843.95,-304.46 13846.93,-303.55"/>
-<polygon fill="none" stroke="midnightblue" points="7391.14,-388.45 7381.14,-391.96 7391.14,-395.45 7391.14,-388.45"/>
+<path fill="none" stroke="midnightblue" d="M7478.33,-391.97C8229.06,-391.62 13362.29,-386.25 13676,-306 13686.23,-303.38 13696.6,-299.29 13706.39,-294.63"/>
+<polygon fill="none" stroke="midnightblue" points="7478.12,-388.47 7468.12,-391.98 7478.12,-395.47 7478.12,-388.47"/>
+</g>
+<!-- Node161 -->
+<g id="node161" class="node">
+<title>Node161</title>
+<g id="a_node161"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title="Adapter for AttrsNode with the new reflection API.">
+<polygon fill="white" stroke="black" points="13853,-226.5 13853,-294.5 14001,-294.5 14001,-226.5 13853,-226.5"/>
+<text text-anchor="start" x="13861" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="13927" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; DerivedType &gt;</text>
+<polyline fill="none" stroke="black" points="13853,-264.5 14001,-264.5 "/>
+<text text-anchor="middle" x="13927" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="13853,-245.5 14001,-245.5 "/>
+<text text-anchor="start" x="13861" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+</a>
+</g>
+</g>
+<!-- Node1&#45;&gt;Node161 -->
+<g id="edge160" class="edge">
+<title>Node1&#45;&gt;Node161</title>
+<path fill="none" stroke="midnightblue" d="M7478.37,-392.01C8240.45,-391.93 13520.61,-388.4 13843,-306 13853.23,-303.38 13863.6,-299.3 13873.39,-294.63"/>
+<polygon fill="none" stroke="midnightblue" points="7478.27,-388.51 7468.27,-392.01 7478.27,-395.51 7478.27,-388.51"/>
+</g>
+<!-- Node162 -->
+<g id="node162" class="node">
+<title>Node162</title>
+<g id="a_node162"><a xlink:href="classtvm_1_1DictAttrsNode.html" target="_top" xlink:title="Specialized attribute type that is backed by a map. The DictAttrsNode implements the Attrs behavior,...">
+<polygon fill="white" stroke="black" points="14019,-215.5 14019,-305.5 14181,-305.5 14181,-215.5 14019,-215.5"/>
+<text text-anchor="middle" x="14100" y="-293.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DictAttrsNode</text>
+<polyline fill="none" stroke="black" points="14019,-286.5 14181,-286.5 "/>
+<text text-anchor="start" x="14027" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dict</text>
+<polyline fill="none" stroke="black" points="14019,-267.5 14181,-267.5 "/>
+<text text-anchor="start" x="14027" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="14027" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="14027" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="14027" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterReflection()</text>
+</a>
+</g>
+</g>
+<!-- Node1&#45;&gt;Node162 -->
+<g id="edge161" class="edge">
+<title>Node1&#45;&gt;Node162</title>
+<path fill="none" stroke="midnightblue" d="M7478.27,-391.97C8251,-391.57 13677.76,-385.93 14010,-306 14012.97,-305.29 14015.95,-304.46 14018.93,-303.55"/>
+<polygon fill="none" stroke="midnightblue" points="7478.04,-388.47 7468.04,-391.97 7478.04,-395.47 7478.04,-388.47"/>
 </g>
 <!-- Node2 -->
 <g id="node2" class="node">
 <title>Node2</title>
 <g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="7276,-480.5 7276,-537.5 7324,-537.5 7324,-480.5 7276,-480.5"/>
-<text text-anchor="middle" x="7300" y="-525.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
-<polyline fill="none" stroke="#bfbfbf" points="7276,-518.5 7324,-518.5 "/>
-<text text-anchor="middle" x="7300" y="-506.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="7276,-499.5 7324,-499.5 "/>
-<text text-anchor="middle" x="7300" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="#bfbfbf" points="7363,-480.5 7363,-537.5 7411,-537.5 7411,-480.5 7363,-480.5"/>
+<text text-anchor="middle" x="7387" y="-525.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
+<polyline fill="none" stroke="#bfbfbf" points="7363,-518.5 7411,-518.5 "/>
+<text text-anchor="middle" x="7387" y="-506.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="7363,-499.5 7411,-499.5 "/>
+<text text-anchor="middle" x="7387" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node1 -->
 <g id="edge1" class="edge">
 <title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M7300,-470.35C7300,-461.8 7300,-452.58 7300,-443.61"/>
-<polygon fill="none" stroke="midnightblue" points="7296.5,-470.4 7300,-480.4 7303.5,-470.4 7296.5,-470.4"/>
+<path fill="none" stroke="midnightblue" d="M7387,-470.35C7387,-461.8 7387,-452.58 7387,-443.61"/>
+<polygon fill="none" stroke="midnightblue" points="7383.5,-470.4 7387,-480.4 7390.5,-470.4 7383.5,-470.4"/>
 </g>
 <!-- Node4 -->
 <g id="node4" class="node">
@@ -2545,8 +2565,8 @@
 <!-- Node79&#45;&gt;Node80 -->
 <g id="edge79" class="edge">
 <title>Node79&#45;&gt;Node80</title>
-<path fill="none" stroke="midnightblue" d="M7043.23,-215.84C7042.78,-190.91 7042.23,-159.73 7041.78,-134.71"/>
-<polygon fill="none" stroke="midnightblue" points="7039.73,-216.17 7043.41,-226.11 7046.73,-216.05 7039.73,-216.17"/>
+<path fill="none" stroke="midnightblue" d="M7046.19,-215.84C7045.16,-190.91 7043.87,-159.73 7042.83,-134.71"/>
+<polygon fill="none" stroke="midnightblue" points="7042.71,-216.26 7046.62,-226.11 7049.7,-215.97 7042.71,-216.26"/>
 </g>
 <!-- Node82 -->
 <g id="node82" class="node">
@@ -2567,8 +2587,8 @@
 <!-- Node81&#45;&gt;Node82 -->
 <g id="edge81" class="edge">
 <title>Node81&#45;&gt;Node82</title>
-<path fill="none" stroke="midnightblue" d="M7218.03,-215.84C7218.62,-190.91 7219.36,-159.73 7219.95,-134.71"/>
-<polygon fill="none" stroke="midnightblue" points="7214.53,-216.03 7217.79,-226.11 7221.53,-216.2 7214.53,-216.03"/>
+<path fill="none" stroke="midnightblue" d="M7221,-215.84C7221,-190.91 7221,-159.73 7221,-134.71"/>
+<polygon fill="none" stroke="midnightblue" points="7217.5,-216.11 7221,-226.11 7224.5,-216.11 7217.5,-216.11"/>
 </g>
 <!-- Node84 -->
 <g id="node84" class="node">
@@ -2593,8 +2613,8 @@
 <!-- Node83&#45;&gt;Node84 -->
 <g id="edge83" class="edge">
 <title>Node83&#45;&gt;Node84</title>
-<path fill="none" stroke="midnightblue" d="M7387.62,-216.16C7389.54,-198.08 7391.82,-176.66 7393.95,-156.68"/>
-<polygon fill="none" stroke="midnightblue" points="7384.14,-215.8 7386.56,-226.11 7391.1,-216.54 7384.14,-215.8"/>
+<path fill="none" stroke="midnightblue" d="M7390.61,-215.91C7392.1,-197.88 7393.87,-176.57 7395.52,-156.68"/>
+<polygon fill="none" stroke="midnightblue" points="7387.1,-215.86 7389.77,-226.11 7394.08,-216.43 7387.1,-215.86"/>
 </g>
 <!-- Node86 -->
 <g id="node86" class="node">
@@ -2615,8 +2635,8 @@
 <!-- Node85&#45;&gt;Node86 -->
 <g id="edge85" class="edge">
 <title>Node85&#45;&gt;Node86</title>
-<path fill="none" stroke="midnightblue" d="M7557.2,-216.18C7561.93,-191.19 7567.87,-159.85 7572.63,-134.71"/>
-<polygon fill="none" stroke="midnightblue" points="7553.74,-215.63 7555.32,-226.11 7560.62,-216.94 7553.74,-215.63"/>
+<path fill="none" stroke="midnightblue" d="M7560.18,-216.18C7564.32,-191.19 7569.51,-159.85 7573.68,-134.71"/>
+<polygon fill="none" stroke="midnightblue" points="7556.71,-215.67 7558.53,-226.11 7563.62,-216.82 7556.71,-215.67"/>
 </g>
 <!-- Node88 -->
 <g id="node88" class="node">
@@ -2643,8 +2663,8 @@
 <!-- Node87&#45;&gt;Node88 -->
 <g id="edge87" class="edge">
 <title>Node87&#45;&gt;Node88</title>
-<path fill="none" stroke="midnightblue" d="M7726.78,-216.22C7730.83,-201.36 7735.48,-184.25 7740.03,-167.53"/>
-<polygon fill="none" stroke="midnightblue" points="7723.34,-215.54 7724.09,-226.11 7730.09,-217.38 7723.34,-215.54"/>
+<path fill="none" stroke="midnightblue" d="M7729.76,-216.22C7733.45,-201.36 7737.7,-184.25 7741.86,-167.53"/>
+<polygon fill="none" stroke="midnightblue" points="7726.31,-215.56 7727.3,-226.11 7733.11,-217.25 7726.31,-215.56"/>
 </g>
 <!-- Node90 -->
 <g id="node90" class="node">
@@ -2664,8 +2684,8 @@
 <!-- Node89&#45;&gt;Node90 -->
 <g id="edge89" class="edge">
 <title>Node89&#45;&gt;Node90</title>
-<path fill="none" stroke="midnightblue" d="M7896.25,-216.56C7905.8,-189.63 7918.03,-155.21 7927.28,-129.14"/>
-<polygon fill="none" stroke="midnightblue" points="7892.9,-215.52 7892.85,-226.11 7899.5,-217.86 7892.9,-215.52"/>
+<path fill="none" stroke="midnightblue" d="M7899.23,-216.56C7908.15,-189.63 7919.56,-155.21 7928.2,-129.14"/>
+<polygon fill="none" stroke="midnightblue" points="7895.89,-215.52 7896.06,-226.11 7902.53,-217.72 7895.89,-215.52"/>
 </g>
 <!-- Node92 -->
 <g id="node92" class="node">
@@ -2687,8 +2707,8 @@
 <!-- Node91&#45;&gt;Node92 -->
 <g id="edge91" class="edge">
 <title>Node91&#45;&gt;Node92</title>
-<path fill="none" stroke="midnightblue" d="M8065.69,-216.82C8075.9,-193.5 8088.6,-164.49 8099.25,-140.16"/>
-<polygon fill="none" stroke="midnightblue" points="8062.42,-215.55 8061.62,-226.11 8068.84,-218.35 8062.42,-215.55"/>
+<path fill="none" stroke="midnightblue" d="M8068.68,-216.82C8078.34,-193.5 8090.35,-164.49 8100.43,-140.16"/>
+<polygon fill="none" stroke="midnightblue" points="8065.42,-215.53 8064.83,-226.11 8071.89,-218.21 8065.42,-215.53"/>
 </g>
 <!-- Node94 -->
 <g id="node94" class="node">
@@ -2708,8 +2728,8 @@
 <!-- Node93&#45;&gt;Node94 -->
 <g id="edge93" class="edge">
 <title>Node93&#45;&gt;Node94</title>
-<path fill="none" stroke="midnightblue" d="M8235.18,-216.91C8249.22,-189.94 8267.24,-155.33 8280.88,-129.14"/>
-<polygon fill="none" stroke="midnightblue" points="8231.9,-215.62 8230.39,-226.11 8238.11,-218.86 8231.9,-215.62"/>
+<path fill="none" stroke="midnightblue" d="M8238.17,-216.91C8251.58,-189.94 8268.78,-155.33 8281.79,-129.14"/>
+<polygon fill="none" stroke="midnightblue" points="8234.91,-215.6 8233.6,-226.11 8241.18,-218.71 8234.91,-215.6"/>
 </g>
 <!-- Node96 -->
 <g id="node96" class="node">
@@ -2731,8 +2751,8 @@
 <!-- Node95&#45;&gt;Node96 -->
 <g id="edge95" class="edge">
 <title>Node95&#45;&gt;Node96</title>
-<path fill="none" stroke="midnightblue" d="M8404.38,-217.44C8418.52,-194.02 8436.21,-164.71 8451.03,-140.16"/>
-<polygon fill="none" stroke="midnightblue" points="8401.32,-215.74 8399.15,-226.11 8407.32,-219.36 8401.32,-215.74"/>
+<path fill="none" stroke="midnightblue" d="M8407.39,-217.44C8420.97,-194.02 8437.97,-164.71 8452.2,-140.16"/>
+<polygon fill="none" stroke="midnightblue" points="8404.35,-215.7 8402.36,-226.11 8410.41,-219.22 8404.35,-215.7"/>
 </g>
 <!-- Node98 -->
 <g id="node98" class="node">
@@ -2753,8 +2773,8 @@
 <!-- Node97&#45;&gt;Node98 -->
 <g id="edge97" class="edge">
 <title>Node97&#45;&gt;Node98</title>
-<path fill="none" stroke="midnightblue" d="M8573.6,-217.83C8590.93,-192.59 8613.02,-160.4 8630.65,-134.71"/>
-<polygon fill="none" stroke="midnightblue" points="8570.69,-215.89 8567.92,-226.11 8576.46,-219.85 8570.69,-215.89"/>
+<path fill="none" stroke="midnightblue" d="M8576.83,-217.5C8593.53,-192.31 8614.75,-160.29 8631.7,-134.71"/>
+<polygon fill="none" stroke="midnightblue" points="8573.73,-215.84 8571.13,-226.11 8579.57,-219.71 8573.73,-215.84"/>
 </g>
 <!-- Node100 -->
 <g id="node100" class="node">
@@ -2774,8 +2794,8 @@
 <!-- Node99&#45;&gt;Node100 -->
 <g id="edge99" class="edge">
 <title>Node99&#45;&gt;Node100</title>
-<path fill="none" stroke="midnightblue" d="M8742.95,-217.97C8763.81,-190.84 8790.87,-155.67 8811.27,-129.14"/>
-<polygon fill="none" stroke="midnightblue" points="8740.01,-216.05 8736.68,-226.11 8745.56,-220.32 8740.01,-216.05"/>
+<path fill="none" stroke="midnightblue" d="M8745.96,-217.97C8766.19,-190.84 8792.41,-155.67 8812.19,-129.14"/>
+<polygon fill="none" stroke="midnightblue" points="8743.06,-216 8739.89,-226.11 8748.68,-220.19 8743.06,-216"/>
 </g>
 <!-- Node102 -->
 <g id="node102" class="node">
@@ -2796,8 +2816,8 @@
 <!-- Node101&#45;&gt;Node102 -->
 <g id="edge101" class="edge">
 <title>Node101&#45;&gt;Node102</title>
-<path fill="none" stroke="midnightblue" d="M8911.94,-218.49C8933.54,-193.15 8961.25,-160.63 8983.33,-134.71"/>
-<polygon fill="none" stroke="midnightblue" points="8909.27,-216.23 8905.45,-226.11 8914.6,-220.77 8909.27,-216.23"/>
+<path fill="none" stroke="midnightblue" d="M8915.24,-218.16C8936.2,-192.87 8963,-160.52 8984.38,-134.71"/>
+<polygon fill="none" stroke="midnightblue" points="8912.34,-216.18 8908.66,-226.11 8917.73,-220.64 8912.34,-216.18"/>
 </g>
 <!-- Node104 -->
 <g id="node104" class="node">
@@ -2819,8 +2839,8 @@
 <!-- Node103&#45;&gt;Node104 -->
 <g id="edge103" class="edge">
 <title>Node103&#45;&gt;Node104</title>
-<path fill="none" stroke="midnightblue" d="M9081.17,-218.68C9103.25,-195.05 9131.22,-165.14 9154.57,-140.16"/>
-<polygon fill="none" stroke="midnightblue" points="9078.49,-216.42 9074.22,-226.11 9083.6,-221.2 9078.49,-216.42"/>
+<path fill="none" stroke="midnightblue" d="M9084.2,-218.68C9105.73,-195.05 9132.98,-165.14 9155.75,-140.16"/>
+<polygon fill="none" stroke="midnightblue" points="9081.57,-216.36 9077.43,-226.11 9086.75,-221.08 9081.57,-216.36"/>
 </g>
 <!-- Node106 -->
 <g id="node106" class="node">
@@ -2845,8 +2865,8 @@
 <!-- Node105&#45;&gt;Node106 -->
 <g id="edge105" class="edge">
 <title>Node105&#45;&gt;Node106</title>
-<path fill="none" stroke="midnightblue" d="M9250.39,-218.88C9263.39,-206.12 9277.8,-191.97 9291,-179 9298.35,-171.78 9306.03,-164.23 9313.68,-156.71"/>
-<polygon fill="none" stroke="midnightblue" points="9247.6,-216.71 9242.92,-226.22 9252.51,-221.71 9247.6,-216.71"/>
+<path fill="none" stroke="midnightblue" d="M9253.35,-218.91C9271.88,-200.27 9294.33,-177.68 9315.21,-156.68"/>
+<polygon fill="none" stroke="midnightblue" points="9250.76,-216.55 9246.19,-226.11 9255.72,-221.49 9250.76,-216.55"/>
 </g>
 <!-- Node108 -->
 <g id="node108" class="node">
@@ -2866,8 +2886,8 @@
 <!-- Node107&#45;&gt;Node108 -->
 <g id="edge107" class="edge">
 <title>Node107&#45;&gt;Node108</title>
-<path fill="none" stroke="midnightblue" d="M9424.07,-219.62C9439.33,-206.89 9456.06,-192.57 9471,-179 9488.52,-163.09 9507.27,-144.85 9523.1,-129.08"/>
-<polygon fill="none" stroke="midnightblue" points="9421.7,-217.04 9416.25,-226.12 9426.18,-222.42 9421.7,-217.04"/>
+<path fill="none" stroke="midnightblue" d="M9425.89,-219.4C9440.5,-206.66 9456.56,-192.4 9471,-179 9488.19,-163.05 9506.73,-144.98 9522.49,-129.34"/>
+<polygon fill="none" stroke="midnightblue" points="9423.19,-217.11 9417.94,-226.31 9427.78,-222.39 9423.19,-217.11"/>
 </g>
 <!-- Node110 -->
 <g id="node110" class="node">
@@ -2891,8 +2911,8 @@
 <!-- Node109&#45;&gt;Node110 -->
 <g id="edge109" class="edge">
 <title>Node109&#45;&gt;Node110</title>
-<path fill="none" stroke="midnightblue" d="M9597.71,-220.41C9615.2,-207.71 9634.26,-193.22 9651,-179 9661.19,-170.34 9671.63,-160.79 9681.63,-151.25"/>
-<polygon fill="none" stroke="midnightblue" points="9595.33,-217.81 9589.26,-226.49 9599.42,-223.49 9595.33,-217.81"/>
+<path fill="none" stroke="midnightblue" d="M9599.3,-220.35C9616.22,-207.61 9634.71,-193.1 9651,-179 9661.11,-170.25 9671.51,-160.65 9681.49,-151.1"/>
+<polygon fill="none" stroke="midnightblue" points="9597.05,-217.67 9591.13,-226.46 9601.24,-223.27 9597.05,-217.67"/>
 </g>
 <!-- Node112 -->
 <g id="node112" class="node">
@@ -2913,8 +2933,8 @@
 <!-- Node111&#45;&gt;Node112 -->
 <g id="edge111" class="edge">
 <title>Node111&#45;&gt;Node112</title>
-<path fill="none" stroke="midnightblue" d="M9779.76,-220.3C9796.52,-207.55 9814.84,-193.05 9831,-179 9846.88,-165.2 9863.5,-149.3 9878.08,-134.83"/>
-<polygon fill="none" stroke="midnightblue" points="9777.54,-217.59 9771.67,-226.41 9781.76,-223.17 9777.54,-217.59"/>
+<path fill="none" stroke="midnightblue" d="M9781.81,-219.9C9797.86,-207.18 9815.42,-192.8 9831,-179 9846.75,-165.05 9863.34,-149.12 9877.93,-134.65"/>
+<polygon fill="none" stroke="midnightblue" points="9779.26,-217.45 9773.56,-226.39 9783.59,-222.95 9779.26,-217.45"/>
 </g>
 <!-- Node114 -->
 <g id="node114" class="node">
@@ -2941,8 +2961,8 @@
 <!-- Node113&#45;&gt;Node114 -->
 <g id="edge113" class="edge">
 <title>Node113&#45;&gt;Node114</title>
-<path fill="none" stroke="midnightblue" d="M9962.26,-219.84C9978.16,-207.12 9995.55,-192.76 10011,-179 10015.09,-175.36 10019.24,-171.58 10023.4,-167.73"/>
-<polygon fill="none" stroke="midnightblue" points="9959.75,-217.37 9954.1,-226.33 9964.11,-222.84 9959.75,-217.37"/>
+<path fill="none" stroke="midnightblue" d="M9964.07,-219.62C9979.33,-206.89 9996.06,-192.57 10011,-179 10015.06,-175.32 10019.18,-171.51 10023.31,-167.64"/>
+<polygon fill="none" stroke="midnightblue" points="9961.7,-217.04 9956.25,-226.12 9966.18,-222.42 9961.7,-217.04"/>
 </g>
 <!-- Node116 -->
 <g id="node116" class="node">
@@ -2968,8 +2988,8 @@
 <!-- Node115&#45;&gt;Node116 -->
 <g id="edge115" class="edge">
 <title>Node115&#45;&gt;Node116</title>
-<path fill="none" stroke="midnightblue" d="M10136.38,-220.29C10154.38,-207.69 10173.9,-193.28 10191,-179 10197.39,-173.66 10203.87,-167.96 10210.26,-162.12"/>
-<polygon fill="none" stroke="midnightblue" points="10133.9,-217.75 10127.68,-226.32 10137.89,-223.5 10133.9,-217.75"/>
+<path fill="none" stroke="midnightblue" d="M10137.71,-220.41C10155.2,-207.71 10174.26,-193.22 10191,-179 10197.26,-173.68 10203.62,-168.02 10209.91,-162.23"/>
+<polygon fill="none" stroke="midnightblue" points="10135.33,-217.81 10129.26,-226.49 10139.42,-223.49 10135.33,-217.81"/>
 </g>
 <!-- Node118 -->
 <g id="node118" class="node">
@@ -2989,8 +3009,8 @@
 <!-- Node117&#45;&gt;Node118 -->
 <g id="edge117" class="edge">
 <title>Node117&#45;&gt;Node118</title>
-<path fill="none" stroke="midnightblue" d="M10310.05,-221.11C10330.26,-208.55 10352.08,-193.96 10371,-179 10389.91,-164.05 10409.18,-145.6 10425.02,-129.43"/>
-<polygon fill="none" stroke="midnightblue" points="10308.19,-218.15 10301.5,-226.37 10311.85,-224.11 10308.19,-218.15"/>
+<path fill="none" stroke="midnightblue" d="M10311.86,-220.88C10331.44,-208.3 10352.61,-193.77 10371,-179 10389.8,-163.91 10409.06,-145.45 10424.91,-129.3"/>
+<polygon fill="none" stroke="midnightblue" points="10309.85,-218.01 10303.28,-226.32 10313.6,-223.91 10309.85,-218.01"/>
 </g>
 <!-- Node120 -->
 <g id="node120" class="node">
@@ -3010,8 +3030,8 @@
 <!-- Node119&#45;&gt;Node120 -->
 <g id="edge119" class="edge">
 <title>Node119&#45;&gt;Node120</title>
-<path fill="none" stroke="midnightblue" d="M10479.9,-221.54C10508.67,-205.68 10538.14,-188.71 10551,-179 10570.42,-164.35 10589.92,-145.77 10605.78,-129.41"/>
-<polygon fill="none" stroke="midnightblue" points="10478.1,-218.54 10471.01,-226.42 10481.46,-224.68 10478.1,-218.54"/>
+<path fill="none" stroke="midnightblue" d="M10482.24,-221.22C10510.08,-205.39 10538.52,-188.54 10551,-179 10570.33,-164.23 10589.81,-145.63 10605.69,-129.3"/>
+<polygon fill="none" stroke="midnightblue" points="10480.22,-218.34 10473.24,-226.31 10483.67,-224.43 10480.22,-218.34"/>
 </g>
 <!-- Node122 -->
 <g id="node122" class="node">
@@ -3032,8 +3052,8 @@
 <!-- Node121&#45;&gt;Node122 -->
 <g id="edge121" class="edge">
 <title>Node121&#45;&gt;Node122</title>
-<path fill="none" stroke="midnightblue" d="M10645.06,-221.72C10649.43,-219.43 10653.77,-217.18 10658,-215 10690.17,-198.45 10701.51,-199.95 10731,-179 10748.87,-166.31 10766.51,-150.03 10781.37,-134.9"/>
-<polygon fill="none" stroke="midnightblue" points="10643.29,-218.7 10636.07,-226.46 10646.55,-224.89 10643.29,-218.7"/>
+<path fill="none" stroke="midnightblue" d="M10649.72,-221.51C10653.87,-219.31 10657.99,-217.12 10662,-215 10692.58,-198.83 10703.03,-199.35 10731,-179 10748.72,-166.11 10766.33,-149.78 10781.21,-134.68"/>
+<polygon fill="none" stroke="midnightblue" points="10647.78,-218.58 10640.6,-226.37 10651.07,-224.76 10647.78,-218.58"/>
 </g>
 <!-- Node124 -->
 <g id="node124" class="node">
@@ -3054,8 +3074,8 @@
 <!-- Node123&#45;&gt;Node124 -->
 <g id="edge123" class="edge">
 <title>Node123&#45;&gt;Node124</title>
-<path fill="none" stroke="midnightblue" d="M10809.99,-221.84C10814.71,-219.48 10819.41,-217.17 10824,-215 10861.82,-197.09 10876.1,-202.1 10911,-179 10929.64,-166.66 10947.71,-150.11 10962.71,-134.65"/>
-<polygon fill="none" stroke="midnightblue" points="10808.25,-218.8 10800.93,-226.46 10811.43,-225.04 10808.25,-218.8"/>
+<path fill="none" stroke="midnightblue" d="M10814.67,-221.61C10819.16,-219.34 10823.63,-217.11 10828,-215 10864.19,-197.49 10877.66,-201.48 10911,-179 10929.35,-166.63 10947.23,-150.24 10962.16,-134.94"/>
+<polygon fill="none" stroke="midnightblue" points="10812.74,-218.67 10805.44,-226.35 10815.94,-224.89 10812.74,-218.67"/>
 </g>
 <!-- Node126 -->
 <g id="node126" class="node">
@@ -3076,8 +3096,8 @@
 <!-- Node125&#45;&gt;Node126 -->
 <g id="edge125" class="edge">
 <title>Node125&#45;&gt;Node126</title>
-<path fill="none" stroke="midnightblue" d="M10975.59,-221.71C10980.43,-219.36 10985.26,-217.1 10990,-215 11033.57,-195.69 11050.62,-204.3 11091,-179 11110.13,-167.02 11128.43,-150.35 11143.48,-134.71"/>
-<polygon fill="none" stroke="midnightblue" points="10973.71,-218.74 10966.31,-226.33 10976.82,-225.01 10973.71,-218.74"/>
+<path fill="none" stroke="midnightblue" d="M10979.62,-221.78C10984.45,-219.42 10989.28,-217.13 10994,-215 11035.92,-196.09 11052.19,-203.67 11091,-179 11110.05,-166.89 11128.34,-150.2 11143.4,-134.57"/>
+<polygon fill="none" stroke="midnightblue" points="10977.73,-218.82 10970.35,-226.42 10980.86,-225.08 10977.73,-218.82"/>
 </g>
 <!-- Node128 -->
 <g id="node128" class="node">
@@ -3098,8 +3118,8 @@
 <!-- Node127&#45;&gt;Node128 -->
 <g id="edge127" class="edge">
 <title>Node127&#45;&gt;Node128</title>
-<path fill="none" stroke="midnightblue" d="M11140.55,-221.95C11145.72,-219.48 11150.91,-217.14 11156,-215 11205.38,-194.25 11225.07,-206.54 11271,-179 11290.55,-167.28 11309.06,-150.48 11324.16,-134.65"/>
-<polygon fill="none" stroke="midnightblue" points="11138.72,-218.95 11131.27,-226.49 11141.8,-225.24 11138.72,-218.95"/>
+<path fill="none" stroke="midnightblue" d="M11144.86,-221.87C11149.94,-219.44 11155.02,-217.12 11160,-215 11207.71,-194.67 11226.66,-205.9 11271,-179 11290.48,-167.18 11308.99,-150.36 11324.1,-134.55"/>
+<polygon fill="none" stroke="midnightblue" points="11143.19,-218.79 11135.76,-226.34 11146.28,-225.07 11143.19,-218.79"/>
 </g>
 <!-- Node130 -->
 <g id="node130" class="node">
@@ -3119,8 +3139,8 @@
 <!-- Node129&#45;&gt;Node130 -->
 <g id="edge129" class="edge">
 <title>Node129&#45;&gt;Node130</title>
-<path fill="none" stroke="midnightblue" d="M11305.79,-222.09C11311.21,-219.55 11316.65,-217.15 11322,-215 11377.23,-192.8 11399.48,-208.81 11451,-179 11473.19,-166.16 11493.9,-146.57 11509.84,-129.08"/>
-<polygon fill="none" stroke="midnightblue" points="11304.2,-218.97 11296.72,-226.48 11307.25,-225.27 11304.2,-218.97"/>
+<path fill="none" stroke="midnightblue" d="M11310.49,-221.82C11315.68,-219.38 11320.89,-217.08 11326,-215 11379.55,-193.22 11401.08,-208.16 11451,-179 11473.14,-166.07 11493.84,-146.47 11509.79,-129"/>
+<polygon fill="none" stroke="midnightblue" points="11308.68,-218.81 11301.2,-226.32 11311.73,-225.11 11308.68,-218.81"/>
 </g>
 <!-- Node132 -->
 <g id="node132" class="node">
@@ -3144,8 +3164,8 @@
 <!-- Node131&#45;&gt;Node132 -->
 <g id="edge131" class="edge">
 <title>Node131&#45;&gt;Node132</title>
-<path fill="none" stroke="midnightblue" d="M11492.13,-222.27C11498.13,-219.7 11504.14,-217.25 11510,-215 11562.4,-194.94 11582.6,-207.38 11631,-179 11643.93,-171.42 11656.41,-161.62 11667.77,-151.32"/>
-<polygon fill="none" stroke="midnightblue" points="11490.48,-219.17 11482.72,-226.39 11493.29,-225.58 11490.48,-219.17"/>
+<path fill="none" stroke="midnightblue" d="M11496.15,-222.33C11502.15,-219.75 11508.15,-217.27 11514,-215 11564.72,-195.31 11584.2,-206.74 11631,-179 11643.89,-171.36 11656.36,-161.53 11667.71,-151.22"/>
+<polygon fill="none" stroke="midnightblue" points="11494.5,-219.24 11486.75,-226.47 11497.32,-225.64 11494.5,-219.24"/>
 </g>
 <!-- Node134 -->
 <g id="node134" class="node">
@@ -3172,8 +3192,8 @@
 <!-- Node133&#45;&gt;Node134 -->
 <g id="edge133" class="edge">
 <title>Node133&#45;&gt;Node134</title>
-<path fill="none" stroke="midnightblue" d="M11659.75,-222C11665.18,-219.48 11670.64,-217.11 11676,-215 11734.59,-191.97 11758.27,-210.12 11813,-179 11818.91,-175.64 11824.7,-171.8 11830.33,-167.64"/>
-<polygon fill="none" stroke="midnightblue" points="11658.17,-218.88 11650.67,-226.36 11661.2,-225.19 11658.17,-218.88"/>
+<path fill="none" stroke="midnightblue" d="M11663.77,-222.04C11669.19,-219.51 11674.65,-217.13 11680,-215 11736.91,-192.39 11759.88,-209.46 11813,-179 11818.89,-175.62 11824.68,-171.76 11830.3,-167.59"/>
+<polygon fill="none" stroke="midnightblue" points="11662.18,-218.92 11654.7,-226.42 11665.22,-225.23 11662.18,-218.92"/>
 </g>
 <!-- Node136 -->
 <g id="node136" class="node">
@@ -3194,8 +3214,8 @@
 <!-- Node135&#45;&gt;Node136 -->
 <g id="edge135" class="edge">
 <title>Node135&#45;&gt;Node136</title>
-<path fill="none" stroke="midnightblue" d="M11825.4,-222C11830.94,-219.46 11836.52,-217.08 11842,-215 11906.49,-190.5 11932.64,-212.41 11993,-179 12013.13,-167.86 12031.89,-150.97 12047.01,-134.92"/>
-<polygon fill="none" stroke="midnightblue" points="11823.67,-218.95 11816.15,-226.41 11826.68,-225.27 11823.67,-218.95"/>
+<path fill="none" stroke="midnightblue" d="M11829.42,-222.03C11834.95,-219.49 11840.52,-217.1 11846,-215 11908.81,-190.92 11934.25,-211.75 11993,-179 12013.1,-167.8 12031.85,-150.89 12046.98,-134.85"/>
+<polygon fill="none" stroke="midnightblue" points="11827.68,-218.99 11820.17,-226.46 11830.7,-225.3 11827.68,-218.99"/>
 </g>
 <!-- Node138 -->
 <g id="node138" class="node">
@@ -3222,8 +3242,8 @@
 <!-- Node137&#45;&gt;Node138 -->
 <g id="edge137" class="edge">
 <title>Node137&#45;&gt;Node138</title>
-<path fill="none" stroke="midnightblue" d="M11991.06,-222.02C11996.71,-219.45 12002.4,-217.07 12008,-215 12078.42,-189.02 12106.98,-214.71 12173,-179 12179.17,-175.66 12185.2,-171.78 12191.03,-167.53"/>
-<polygon fill="none" stroke="midnightblue" points="11989.17,-219.04 11981.64,-226.48 11992.17,-225.36 11989.17,-219.04"/>
+<path fill="none" stroke="midnightblue" d="M11995.37,-221.91C12000.92,-219.39 12006.5,-217.04 12012,-215 12080.72,-189.44 12108.6,-214.06 12173,-179 12179.06,-175.7 12185,-171.87 12190.74,-167.7"/>
+<polygon fill="none" stroke="midnightblue" points="11993.65,-218.86 11986.11,-226.3 11996.64,-225.18 11993.65,-218.86"/>
 </g>
 <!-- Node140 -->
 <g id="node140" class="node">
@@ -3244,8 +3264,8 @@
 <!-- Node139&#45;&gt;Node140 -->
 <g id="edge139" class="edge">
 <title>Node139&#45;&gt;Node140</title>
-<path fill="none" stroke="midnightblue" d="M12157.03,-221.91C12162.68,-219.37 12168.38,-217.02 12174,-215 12250.36,-187.53 12281.31,-217.03 12353,-179 12373.52,-168.11 12392.48,-151.07 12407.65,-134.83"/>
-<polygon fill="none" stroke="midnightblue" points="12155.15,-218.93 12147.59,-226.35 12158.13,-225.26 12155.15,-218.93"/>
+<path fill="none" stroke="midnightblue" d="M12161.04,-221.94C12166.69,-219.39 12172.39,-217.03 12178,-215 12252.66,-187.96 12282.93,-216.37 12353,-179 12373.5,-168.07 12392.45,-151.02 12407.62,-134.79"/>
+<polygon fill="none" stroke="midnightblue" points="12159.16,-218.96 12151.6,-226.39 12162.14,-225.29 12159.16,-218.96"/>
 </g>
 <!-- Node142 -->
 <g id="node142" class="node">
@@ -3267,8 +3287,8 @@
 <!-- Node141&#45;&gt;Node142 -->
 <g id="edge141" class="edge">
 <title>Node141&#45;&gt;Node142</title>
-<path fill="none" stroke="midnightblue" d="M12322.28,-222.15C12328.17,-219.5 12334.13,-217.07 12340,-215 12422.31,-186.04 12455.63,-219.35 12533,-179 12551.46,-169.37 12568.61,-154.7 12582.89,-140.06"/>
-<polygon fill="none" stroke="midnightblue" points="12320.66,-219.04 12313.1,-226.47 12323.63,-225.38 12320.66,-219.04"/>
+<path fill="none" stroke="midnightblue" d="M12326.29,-222.17C12332.18,-219.52 12338.13,-217.08 12344,-215 12424.61,-186.47 12457.26,-218.68 12533,-179 12551.44,-169.34 12568.59,-154.66 12582.86,-140.02"/>
+<polygon fill="none" stroke="midnightblue" points="12324.66,-219.07 12317.11,-226.5 12327.64,-225.4 12324.66,-219.07"/>
 </g>
 <!-- Node144 -->
 <g id="node144" class="node">
@@ -3289,8 +3309,8 @@
 <!-- Node143&#45;&gt;Node144 -->
 <g id="edge143" class="edge">
 <title>Node143&#45;&gt;Node144</title>
-<path fill="none" stroke="midnightblue" d="M12488.25,-222.07C12494.15,-219.44 12500.12,-217.03 12506,-215 12594.28,-184.55 12629.94,-221.67 12713,-179 12733.86,-168.28 12753,-151.07 12768.22,-134.65"/>
-<polygon fill="none" stroke="midnightblue" points="12486.64,-218.96 12479.06,-226.37 12489.6,-225.3 12486.64,-218.96"/>
+<path fill="none" stroke="midnightblue" d="M12492.26,-222.09C12498.15,-219.46 12504.12,-217.04 12510,-215 12596.57,-184.98 12631.57,-221.01 12713,-179 12733.84,-168.25 12752.98,-151.03 12768.2,-134.62"/>
+<polygon fill="none" stroke="midnightblue" points="12490.64,-218.98 12483.07,-226.39 12493.61,-225.32 12490.64,-218.98"/>
 </g>
 <!-- Node146 -->
 <g id="node146" class="node">
@@ -3314,8 +3334,8 @@
 <!-- Node145&#45;&gt;Node146 -->
 <g id="edge145" class="edge">
 <title>Node145&#45;&gt;Node146</title>
-<path fill="none" stroke="midnightblue" d="M12654.23,-222C12660.13,-219.39 12666.11,-217 12672,-215 12766.25,-183.05 12804.24,-224 12893,-179 12906.88,-171.96 12919.98,-162.02 12931.67,-151.33"/>
-<polygon fill="none" stroke="midnightblue" points="12652.62,-218.89 12645.03,-226.28 12655.57,-225.24 12652.62,-218.89"/>
+<path fill="none" stroke="midnightblue" d="M12658.23,-222.02C12664.14,-219.4 12670.11,-217.01 12676,-215 12768.54,-183.48 12805.87,-223.34 12893,-179 12906.87,-171.94 12919.96,-161.99 12931.65,-151.3"/>
+<polygon fill="none" stroke="midnightblue" points="12656.63,-218.91 12649.04,-226.3 12659.58,-225.25 12656.63,-218.91"/>
 </g>
 <!-- Node148 -->
 <g id="node148" class="node">
@@ -3344,8 +3364,8 @@
 <!-- Node147&#45;&gt;Node148 -->
 <g id="edge147" class="edge">
 <title>Node147&#45;&gt;Node148</title>
-<path fill="none" stroke="midnightblue" d="M12821.71,-222.09C12827.78,-219.43 12833.93,-217.01 12840,-215 12939.46,-182.02 12979.35,-226 13073,-179 13076.04,-177.48 13079.03,-175.81 13081.99,-174.03"/>
-<polygon fill="none" stroke="midnightblue" points="12819.87,-219.09 12812.25,-226.45 12822.8,-225.44 12819.87,-219.09"/>
+<path fill="none" stroke="midnightblue" d="M12825.71,-222.11C12831.79,-219.45 12837.94,-217.02 12844,-215 12941.75,-182.44 12980.98,-225.33 13073,-179 13076.03,-177.47 13079.03,-175.81 13081.98,-174.02"/>
+<polygon fill="none" stroke="midnightblue" points="12823.88,-219.1 12816.26,-226.47 12826.81,-225.46 12823.88,-219.1"/>
 </g>
 <!-- Node150 -->
 <g id="node150" class="node">
@@ -3368,8 +3388,8 @@
 <!-- Node149&#45;&gt;Node150 -->
 <g id="edge149" class="edge">
 <title>Node149&#45;&gt;Node150</title>
-<path fill="none" stroke="midnightblue" d="M12987.88,-222.03C12993.9,-219.38 12999.99,-216.98 13006,-215 13111.36,-180.27 13153.64,-228.34 13253,-179 13269.49,-170.81 13284.84,-158.47 13298.04,-145.58"/>
-<polygon fill="none" stroke="midnightblue" points="12986.13,-218.98 12978.53,-226.37 12989.07,-225.34 12986.13,-218.98"/>
+<path fill="none" stroke="midnightblue" d="M12991.89,-222.04C12997.9,-219.39 13003.99,-216.99 13010,-215 13113.65,-180.7 13155.27,-227.67 13253,-179 13269.48,-170.79 13284.83,-158.45 13298.03,-145.56"/>
+<polygon fill="none" stroke="midnightblue" points="12990.13,-219 12982.54,-226.39 12993.08,-225.35 12990.13,-219"/>
 </g>
 <!-- Node152 -->
 <g id="node152" class="node">
@@ -3398,8 +3418,8 @@
 <!-- Node151&#45;&gt;Node152 -->
 <g id="edge151" class="edge">
 <title>Node151&#45;&gt;Node152</title>
-<path fill="none" stroke="midnightblue" d="M13155.68,-221.99C13161.76,-219.35 13167.92,-216.97 13174,-215 13284.58,-179.25 13328.74,-230.34 13433,-179 13435.95,-177.55 13438.86,-175.96 13441.73,-174.26"/>
-<polygon fill="none" stroke="midnightblue" points="13153.85,-218.98 13146.21,-226.32 13156.76,-225.35 13153.85,-218.98"/>
+<path fill="none" stroke="midnightblue" d="M13159.68,-222.01C13165.76,-219.37 13171.92,-216.97 13178,-215 13286.87,-179.68 13330.37,-229.67 13433,-179 13435.95,-177.54 13438.86,-175.96 13441.73,-174.26"/>
+<polygon fill="none" stroke="midnightblue" points="13157.85,-218.99 13150.22,-226.34 13160.77,-225.36 13157.85,-218.99"/>
 </g>
 <!-- Node154 -->
 <g id="node154" class="node">
@@ -3419,8 +3439,8 @@
 <!-- Node153&#45;&gt;Node154 -->
 <g id="edge153" class="edge">
 <title>Node153&#45;&gt;Node154</title>
-<path fill="none" stroke="midnightblue" d="M13321.11,-222.27C13327.37,-219.51 13333.73,-217.02 13340,-215 13456.49,-177.48 13502.87,-232.37 13613,-179 13636.8,-167.47 13658.28,-147.3 13674.39,-129.13"/>
-<polygon fill="none" stroke="midnightblue" points="13319.64,-219.09 13312.04,-226.48 13322.58,-225.44 13319.64,-219.09"/>
+<path fill="none" stroke="midnightblue" d="M13325.12,-222.28C13331.37,-219.52 13337.73,-217.03 13344,-215 13458.78,-177.91 13504.51,-231.71 13613,-179 13636.79,-167.44 13658.27,-147.28 13674.38,-129.11"/>
+<polygon fill="none" stroke="midnightblue" points="13323.64,-219.11 13316.04,-226.49 13326.59,-225.46 13323.64,-219.11"/>
 </g>
 <!-- Node156 -->
 <g id="node156" class="node">
@@ -3445,8 +3465,8 @@
 <!-- Node155&#45;&gt;Node156 -->
 <g id="edge155" class="edge">
 <title>Node155&#45;&gt;Node156</title>
-<path fill="none" stroke="midnightblue" d="M13487.1,-222.22C13493.36,-219.47 13499.72,-217 13506,-215 13628.92,-175.86 13677.73,-234.87 13794,-179 13805.92,-173.27 13817.25,-165.37 13827.61,-156.62"/>
-<polygon fill="none" stroke="midnightblue" points="13485.63,-219.05 13478.02,-226.42 13488.57,-225.4 13485.63,-219.05"/>
+<path fill="none" stroke="midnightblue" d="M13491.1,-222.23C13497.36,-219.48 13503.72,-217.01 13510,-215 13631.2,-176.29 13679.37,-234.2 13794,-179 13805.91,-173.26 13817.24,-165.35 13827.6,-156.61"/>
+<polygon fill="none" stroke="midnightblue" points="13489.63,-219.06 13482.03,-226.44 13492.57,-225.41 13489.63,-219.06"/>
 </g>
 <!-- Node158 -->
 <g id="node158" class="node">
@@ -3466,8 +3486,38 @@
 <!-- Node157&#45;&gt;Node158 -->
 <g id="edge157" class="edge">
 <title>Node157&#45;&gt;Node158</title>
-<path fill="none" stroke="midnightblue" d="M13653.09,-222.18C13659.35,-219.44 13665.71,-216.98 13672,-215 13801.35,-174.25 13852.75,-237.7 13975,-179 13998.71,-167.62 14019.96,-147.46 14035.86,-129.26"/>
-<polygon fill="none" stroke="midnightblue" points="13651.62,-219 13644,-226.37 13654.55,-225.36 13651.62,-219"/>
+<path fill="none" stroke="midnightblue" d="M13657.09,-222.19C13663.35,-219.45 13669.72,-216.99 13676,-215 13803.63,-174.68 13854.38,-237.03 13975,-179 13998.7,-167.6 14019.95,-147.44 14035.85,-129.24"/>
+<polygon fill="none" stroke="midnightblue" points="13655.62,-219.01 13648.01,-226.38 13658.56,-225.37 13655.62,-219.01"/>
+</g>
+<!-- Node160 -->
+<g id="node160" class="node">
+<title>Node160</title>
+<g id="a_node160"><a xlink:href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html" target="_top" xlink:title="Attributes used in Conv3dTranspose operator.">
+<polygon fill="white" stroke="black" points="14164,-0.5 14164,-178.5 14326,-178.5 14326,-0.5 14164,-0.5"/>
+<text text-anchor="start" x="14172" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv3DTranspose</text>
+<text text-anchor="middle" x="14245" y="-155.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polyline fill="none" stroke="black" points="14164,-148.5 14326,-148.5 "/>
+<text text-anchor="start" x="14172" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
+<text text-anchor="start" x="14172" y="-125.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
+<text text-anchor="start" x="14172" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ output_padding</text>
+<text text-anchor="start" x="14172" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
+<text text-anchor="start" x="14172" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ groups</text>
+<text text-anchor="start" x="14172" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ data_layout</text>
+<text text-anchor="start" x="14172" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kernel_layout</text>
+<text text-anchor="start" x="14172" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
+<text text-anchor="start" x="14172" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
+<polyline fill="none" stroke="black" points="14164,-41.5 14326,-41.5 "/>
+<text text-anchor="start" x="14172" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="14172" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="14172" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterReflection()</text>
+</a>
+</g>
+</g>
+<!-- Node159&#45;&gt;Node160 -->
+<g id="edge159" class="edge">
+<title>Node159&#45;&gt;Node160</title>
+<path fill="none" stroke="midnightblue" d="M13824.88,-222.17C13831.21,-219.43 13837.65,-216.97 13844,-215 13976.88,-173.72 14029.47,-239.04 14155,-179 14157.97,-177.58 14160.89,-176.03 14163.77,-174.35"/>
+<polygon fill="none" stroke="midnightblue" points="13823.34,-219.02 13815.69,-226.35 13826.24,-225.39 13823.34,-219.02"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/functions_d.html b/docs/reference/api/doxygen/functions_d.html
index c13c6b0a13b..104b7a68644 100644
--- a/docs/reference/api/doxygen/functions_d.html
+++ b/docs/reference/api/doxygen/functions_d.html
@@ -83,6 +83,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a8e5d45b932335eea51cee20384f46fc6">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#a573204aa9993bfeb59c82e6b3d172836">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#ac958cdd4986050b9cd09e00a998308a4">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a88c17bc3c35f8b93eb72710bcec88461">tvm::relax::Conv3DTransposeAttrs</a>
 </li>
 <li>data_path
 : <a class="el" href="structtvm_1_1runtime_1_1vm_1_1TensorCacheMetadata_1_1FileRecord.html#a630e4d0a3ffefdfad6be242064eb3c3d">tvm::runtime::vm::TensorCacheMetadata::FileRecord</a>
@@ -321,7 +322,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1DictAttrsNode.html#af348aa9a0f2095a34c82be2a97e6e8fc">tvm::DictAttrsNode</a>
 </li>
 <li>DictAttrs()
-: <a class="el" href="classtvm_1_1DictAttrs.html#ae7a8b87b44eda534913f28d6c7ef8d07">tvm::DictAttrs</a>
+: <a class="el" href="classtvm_1_1DictAttrs.html#aaba8e5c4c42eb8160df2e5e988174222">tvm::DictAttrs</a>
 </li>
 <li>DictDoc()
 : <a class="el" href="classtvm_1_1script_1_1printer_1_1DictDoc.html#a8cedc24d34db6c6a185912bb41df562d">tvm::script::printer::DictDoc</a>
@@ -332,6 +333,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a450ce3662daf2272d34d3ce216690529">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#a48841fafbd36f396eddf010a0d1fdeac">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#a85b0bc9457dcd101576fd4dcfaddecef">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a1c9b5bfd4f56ace5324f02f54b015c21">tvm::relax::Conv3DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool1DAttrs.html#a0b6aecea11768b1b287f8c8d2d12054a">tvm::relax::Pool1DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool2DAttrs.html#a624d4f3ce226a19419ceafb8bb33fb48">tvm::relax::Pool2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool3DAttrs.html#abc57b05c62bc9fe728bb434e7c6a486a">tvm::relax::Pool3DAttrs</a>
diff --git a/docs/reference/api/doxygen/functions_func_r.html b/docs/reference/api/doxygen/functions_func_r.html
index 2d59b47d042..bae6997dc15 100644
--- a/docs/reference/api/doxygen/functions_func_r.html
+++ b/docs/reference/api/doxygen/functions_func_r.html
@@ -181,6 +181,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a7759b5126bdd9576388380c6d5c25cff">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#ad0835e0bf6ce5dc1a357070276d70584">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#a819f18e1da557a55876a8d8b7ef78cd0">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a7bf3540f8fcb20faf53cbafd2ec0e3b5">tvm::relax::Conv3DTransposeAttrs</a>
 , <a class="el" href="classtvm_1_1relax_1_1DataflowBlockNode.html#a7834d0aef5b3aca35c3352bee78e4546">tvm::relax::DataflowBlockNode</a>
 , <a class="el" href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html#a8ebfa683b7ddde17e3f77d985fb10cd3">tvm::relax::DataflowBlockRewriteNode</a>
 , <a class="el" href="classtvm_1_1relax_1_1DataflowVarNode.html#aaeac81543f7e5b8edc85b52a2c9a0746">tvm::relax::DataflowVarNode</a>
diff --git a/docs/reference/api/doxygen/functions_func_t.html b/docs/reference/api/doxygen/functions_func_t.html
index 1e873dfb74a..73c7e8178c3 100644
--- a/docs/reference/api/doxygen/functions_func_t.html
+++ b/docs/reference/api/doxygen/functions_func_t.html
@@ -410,6 +410,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a275aca8ad34dd8aae0ac5cd408b19a2a">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#ab9ec051dc0a5c2cfd94679a23fe2321b">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#ac145e0f41b5727b510beff8c757b444e">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a809d238b9aa2179318862e4ef2616d6c">tvm::relax::Conv3DTransposeAttrs</a>
 , <a class="el" href="classtvm_1_1relax_1_1DataflowBlockNode.html#a5d58e4b5718ecd9752b83d5c01a11573">tvm::relax::DataflowBlockNode</a>
 , <a class="el" href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html#adf84cecd9b57015ad27acc1b0b7baf4d">tvm::relax::DataflowBlockRewriteNode</a>
 , <a class="el" href="classtvm_1_1relax_1_1DataflowVarNode.html#aba6f7768daca31f0df853e6271a85a74">tvm::relax::DataflowVarNode</a>
diff --git a/docs/reference/api/doxygen/functions_g.html b/docs/reference/api/doxygen/functions_g.html
index 92eed724f88..ed3184ac146 100644
--- a/docs/reference/api/doxygen/functions_g.html
+++ b/docs/reference/api/doxygen/functions_g.html
@@ -125,7 +125,7 @@ $(function() {
 </li>
 <li>GetAttr()
 : <a class="el" href="classtvm_1_1BaseFuncNode.html#a1afd6de8033c73bf347fd95bd4ac84ef">tvm::BaseFuncNode</a>
-, <a class="el" href="classtvm_1_1DictAttrs.html#af63d14a1a6ffeb1c6fc403f46df8c13a">tvm::DictAttrs</a>
+, <a class="el" href="classtvm_1_1DictAttrs.html#ad186f731f94d6b6dcd37dacddcfc714a">tvm::DictAttrs</a>
 , <a class="el" href="classtvm_1_1IRModuleNode.html#aaffe875c27fa552e7168392abd020263">tvm::IRModuleNode</a>
 , <a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html#a5f6b8a00427c81eacf9b708d9a9ee308">tvm::runtime::DeviceAPI</a>
 , <a class="el" href="classtvm_1_1TargetNode.html#ac353db3a3ba3f24513d9e5bc8eee3f3b">tvm::TargetNode</a>
@@ -151,7 +151,7 @@ $(function() {
 </li>
 <li>GetConfig()
 : <a class="el" href="classtvm_1_1TargetTag.html#afacebb1b68f5430473c5b7cc01be970f">tvm::TargetTag</a>
-, <a class="el" href="classtvm_1_1transform_1_1PassContextNode.html#a9e7620b6f0c125b10714572a71d0648f">tvm::transform::PassContextNode</a>
+, <a class="el" href="classtvm_1_1transform_1_1PassContextNode.html#acaca748f92e0a85ca7709af5427c27f8">tvm::transform::PassContextNode</a>
 </li>
 <li>GetConsumers()
 : <a class="el" href="classtvm_1_1s__tir_1_1ScheduleNode.html#a3b444cb2e0ce585d4ae807641fd7d34f">tvm::s_tir::ScheduleNode</a>
@@ -340,6 +340,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a7f8f5711016c942115a871029de8ffd8">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#a99538212971606a8bb675ebaed3719c0">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#af25aed9eda55736e18ebb0f944f92567">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a3a8eab68f34cd961ffd6c7e57e6e53b0">tvm::relax::Conv3DTransposeAttrs</a>
 </li>
 <li>GT()
 : <a class="el" href="classtvm_1_1tirx_1_1GT.html#ac4bb99bdf797cadfcde73bb36138068d">tvm::tirx::GT</a>
diff --git a/docs/reference/api/doxygen/functions_k.html b/docs/reference/api/doxygen/functions_k.html
index 9ed59843c17..ef6ebdd2c0b 100644
--- a/docs/reference/api/doxygen/functions_k.html
+++ b/docs/reference/api/doxygen/functions_k.html
@@ -108,6 +108,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a5958b2a79298fe97a4629e74a33382c9">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#a1494ddb3b45084220828e1ebbe62a998">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#a1246c9b97778ecf2719c9bc6d6c1813f">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a9b96fe32ecd4393c0128dcdd438c498e">tvm::relax::Conv3DTransposeAttrs</a>
 </li>
 <li>key
 : <a class="el" href="structtvm_1_1ir_1_1ConfigSchema_1_1OptionEntry.html#a02e039fb92f6b02600261b0919630dc8">tvm::ir::ConfigSchema::OptionEntry</a>
diff --git a/docs/reference/api/doxygen/functions_o.html b/docs/reference/api/doxygen/functions_o.html
index 7db13a754df..0d9d5a0f6de 100644
--- a/docs/reference/api/doxygen/functions_o.html
+++ b/docs/reference/api/doxygen/functions_o.html
@@ -204,7 +204,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1transform_1_1PassContext.html#ab10baf6f7bcbd6e0e4b295399bc9f3a9">tvm::transform::PassContext</a>
 , <a class="el" href="classtvm_1_1transform_1_1Sequential.html#a326b2bc7ce7710e22a91265b3aff37a0">tvm::transform::Sequential</a>
 , <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#ab0177fd981b51149651e8912e6bf1b68">tvm::TypedEnvFunc&lt; R(Args...)&gt;</a>
-, <a class="el" href="classtvm_1_1With.html#ad09ae9255869b0273672f44f23944bc3">tvm::With&lt; ContextType &gt;</a>
+, <a class="el" href="classtvm_1_1With.html#a51c3e4f1087edf083a7ddccfdbc96d55">tvm::With&lt; ContextType &gt;</a>
 </li>
 <li>operator&lt;&lt;()
 : <a class="el" href="classtvm_1_1DiagnosticBuilder.html#aa92a3f9039d464fbefaed90b0e255e84">tvm::DiagnosticBuilder</a>
@@ -215,7 +215,7 @@ $(function() {
 <li>operator=()
 : <a class="el" href="classtvm_1_1arith_1_1Analyzer.html#a9dccc7d98b8b9465390e10436d3a9178">tvm::arith::Analyzer</a>
 , <a class="el" href="classtvm_1_1Integer.html#ad538a2ae6f636b3ce38fb4162b1c2549">tvm::Integer</a>
-, <a class="el" href="classtvm_1_1relax_1_1NestedMsg.html#a682c082ae802d10b1882d20cdd84e1e4">tvm::relax::NestedMsg&lt; T &gt;</a>
+, <a class="el" href="classtvm_1_1relax_1_1NestedMsg.html#a46c69e0cd645bc622a9c5dbb12b8e77e">tvm::relax::NestedMsg&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1DataType.html#a3453c3a99d0bb6fcebf5a3629c8d37bb">tvm::runtime::DataType</a>
 , <a class="el" href="classtvm_1_1runtime_1_1NVTXScopedRange.html#ade0f97a768e9cc3c053f6c0e6ab40699">tvm::runtime::NVTXScopedRange</a>
 , <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#aab332907b9f98876f441f6403b801187">tvm::TypedEnvFunc&lt; R(Args...)&gt;</a>
@@ -274,6 +274,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a450e0146551f5aa4388b727e133519e1">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#aea45305cf179f2ef3c8252f102609171">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#ab32d5d93c6fe6cf888bfb21b540b55c7">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a7da1b79aaa8c9e2a0d55346a64bd9c83">tvm::relax::Conv3DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1MatmulAttrs.html#a6eff616f8ae7a4efd57223247869b156">tvm::relax::MatmulAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1QuantizeAttrs.html#aec3286c3bb60b82b5513774a68f5ce4f">tvm::relax::QuantizeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Resize2DAttrs.html#a3e3661b184ec3ca8826d53f0d2e794cd">tvm::relax::Resize2DAttrs</a>
@@ -291,6 +292,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a1ce02a0e48bff647ddc7c59d5349e5c0">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#ac7640d300bbfe6a4d4988c6fcc9b15dd">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#a4ab8936788d6126b561fffdc7f7e978b">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a09f9836f7ad7d48afe907a494eb5ede3">tvm::relax::Conv3DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool1DAttrs.html#ac5fbc2cf96e822b8aa47ec31c31fb60c">tvm::relax::Pool1DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool2DAttrs.html#a7239605f070b0992e14465e3b3fdc5d3">tvm::relax::Pool2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool3DAttrs.html#a0c40f14106c571c3c05a158234fd0360">tvm::relax::Pool3DAttrs</a>
@@ -313,6 +315,7 @@ $(function() {
 <li>output_padding
 : <a class="el" href="structtvm_1_1relax_1_1Conv1DTransposeAttrs.html#a8842c90343cbf4c4644ccc0d2e07c709">tvm::relax::Conv1DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#ab7414b5cecdc03bd7cea639908831894">tvm::relax::Conv2DTransposeAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#afac4f4bd778f1ee0f8201518b33cd293">tvm::relax::Conv3DTransposeAttrs</a>
 </li>
 <li>output_placeholders
 : <a class="el" href="classtvm_1_1te_1_1ExternOpNode.html#ab42996729238838b98500120959f51ce">tvm::te::ExternOpNode</a>
diff --git a/docs/reference/api/doxygen/functions_p.html b/docs/reference/api/doxygen/functions_p.html
index d028f216826..b86423020b4 100644
--- a/docs/reference/api/doxygen/functions_p.html
+++ b/docs/reference/api/doxygen/functions_p.html
@@ -89,6 +89,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#aacda7e6521ac0043a9c35f6e7bc37c3b">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#a7cd4d854b259cf225718d75f14d6d9d5">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#aca8e544bbd5103e5d128fb9a9c764cf7">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a0b17573862264cc2342ce9f34f7b3ddc">tvm::relax::Conv3DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool1DAttrs.html#a934bb0fe60e4cedcfdb4f2e252c0ee36">tvm::relax::Pool1DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool2DAttrs.html#aaed6fb6d7554cd36d35f5e3426f0c64b">tvm::relax::Pool2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool3DAttrs.html#ae64c96b582640be26afcc24342ff90ef">tvm::relax::Pool3DAttrs</a>
@@ -132,7 +133,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1transform_1_1SequentialNode.html#ae78f131a5e8a1d3143ff4671c45af2ac">tvm::transform::SequentialNode</a>
 </li>
 <li>PassContext()
-: <a class="el" href="classtvm_1_1transform_1_1PassContext.html#a906dadb55586afece28d71d3436fdf1d">tvm::transform::PassContext</a>
+: <a class="el" href="classtvm_1_1transform_1_1PassContext.html#af45542bf74990d839ecb926b0f750c53">tvm::transform::PassContext</a>
 </li>
 <li>PassContextNode()
 : <a class="el" href="classtvm_1_1transform_1_1PassContextNode.html#aa91df8069b6573e72305ab57e9bc620f">tvm::transform::PassContextNode</a>
diff --git a/docs/reference/api/doxygen/functions_r.html b/docs/reference/api/doxygen/functions_r.html
index 66f6d17620a..c790754f111 100644
--- a/docs/reference/api/doxygen/functions_r.html
+++ b/docs/reference/api/doxygen/functions_r.html
@@ -77,7 +77,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1Range.html#a9d58cccc53897fee0c80ab1437da1f0f">tvm::Range</a>
 </li>
 <li>RangeNode()
-: <a class="el" href="classtvm_1_1RangeNode.html#ab845f7ed4ed85e360b730df3450d1aab">tvm::RangeNode</a>
+: <a class="el" href="classtvm_1_1RangeNode.html#a4bbc33969cb484c20306da1d2b9fa1fd">tvm::RangeNode</a>
 </li>
 <li>ranges
 : <a class="el" href="classtvm_1_1arith_1_1IntConstraintsNode.html#a91a45d8a95a6deecbc881abb4ba3b38f">tvm::arith::IntConstraintsNode</a>
@@ -224,6 +224,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a7759b5126bdd9576388380c6d5c25cff">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#ad0835e0bf6ce5dc1a357070276d70584">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#a819f18e1da557a55876a8d8b7ef78cd0">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a7bf3540f8fcb20faf53cbafd2ec0e3b5">tvm::relax::Conv3DTransposeAttrs</a>
 , <a class="el" href="classtvm_1_1relax_1_1DataflowBlockNode.html#a7834d0aef5b3aca35c3352bee78e4546">tvm::relax::DataflowBlockNode</a>
 , <a class="el" href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html#a8ebfa683b7ddde17e3f77d985fb10cd3">tvm::relax::DataflowBlockRewriteNode</a>
 , <a class="el" href="classtvm_1_1relax_1_1DataflowVarNode.html#aaeac81543f7e5b8edc85b52a2c9a0746">tvm::relax::DataflowVarNode</a>
@@ -537,7 +538,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCallback.html#a43e452fff8359b90a4540e06752bc5b2">tvm::s_tir::meta_schedule::MeasureCallback</a>
 </li>
 <li>RemoveRV()
-: <a class="el" href="classtvm_1_1s__tir_1_1ScheduleNode.html#ab91003c91e2ae6a61d0cc9c073c183dd">tvm::s_tir::ScheduleNode</a>
+: <a class="el" href="classtvm_1_1s__tir_1_1ScheduleNode.html#a17bf570d65247ad55d4945ed86c5dd8b">tvm::s_tir::ScheduleNode</a>
 </li>
 <li>RemoveUnused()
 : <a class="el" href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html#ab6be9b473fac12d08365487089d9776a">tvm::relax::DataflowBlockRewriteNode</a>
diff --git a/docs/reference/api/doxygen/functions_s.html b/docs/reference/api/doxygen/functions_s.html
index 2a50187cc5f..06828ab876d 100644
--- a/docs/reference/api/doxygen/functions_s.html
+++ b/docs/reference/api/doxygen/functions_s.html
@@ -258,7 +258,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1ir_1_1ConfigSchema.html#a6022a9eb81fe52e9fe879442b8da99e1">tvm::ir::ConfigSchema</a>
 </li>
 <li>set_fallback()
-: <a class="el" href="classtvm_1_1script_1_1printer_1_1IRDocsifierFunctor.html#a27680aed8d4a7014870951bc3c53d7b4">tvm::script::printer::IRDocsifierFunctor&lt; R, Args &gt;</a>
+: <a class="el" href="classtvm_1_1script_1_1printer_1_1IRDocsifierFunctor.html#acf54fd25ac61d1528a7b2ba50583c43f">tvm::script::printer::IRDocsifierFunctor&lt; R, Args &gt;</a>
 </li>
 <li>set_is_pure()
 : <a class="el" href="classtvm_1_1s__tir_1_1InstructionKindRegEntry.html#ad6c916721cc9e734f01de1b16d803b60">tvm::s_tir::InstructionKindRegEntry</a>
@@ -559,7 +559,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1script_1_1printer_1_1StmtDoc.html#adec8d59e41d8a4093fb310089bf2c3ba">tvm::script::printer::StmtDoc</a>
 </li>
 <li>StmtNode()
-: <a class="el" href="classtvm_1_1tirx_1_1StmtNode.html#a813b36d5b9d1f83085515b2a9abd7756">tvm::tirx::StmtNode</a>
+: <a class="el" href="classtvm_1_1tirx_1_1StmtNode.html#a93524f007313a50107df74db46979532">tvm::tirx::StmtNode</a>
 </li>
 <li>stmts
 : <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html#a776930fd20b0f6d935f1ea97b29805dd">tvm::script::ir_builder::tirx::TIRFrameNode</a>
@@ -610,6 +610,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a390bb0486d41940aaed52e3f877b34c8">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#aa6d437fccdd4fe789e6f5efef00c0f9e">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#a6b32db38d9d0eeee9c4f48309382e283">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a1a8bc43468c0938d8e864bd6c308fb84">tvm::relax::Conv3DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool1DAttrs.html#a0384467e39106099ec8fc68bc4cdda9b">tvm::relax::Pool1DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool2DAttrs.html#ac9e9b721830f02b9a18f38dc4f9bf803">tvm::relax::Pool2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool3DAttrs.html#a003885afb1b73dc92edfad3b8b2a85cf">tvm::relax::Pool3DAttrs</a>
diff --git a/docs/reference/api/doxygen/functions_t.html b/docs/reference/api/doxygen/functions_t.html
index 77e35097571..beff09dc8e7 100644
--- a/docs/reference/api/doxygen/functions_t.html
+++ b/docs/reference/api/doxygen/functions_t.html
@@ -137,7 +137,7 @@ $(function() {
 : <a class="el" href="structtvm_1_1relax_1_1distributed_1_1Axis.html#af05e0215bba34ea04ed67a5bedf9f8d0">tvm::relax::distributed::Axis</a>
 </li>
 <li>Tensor()
-: <a class="el" href="classtvm_1_1runtime_1_1Tensor.html#a13828a9652f856b2e654c143cd29eee6">tvm::runtime::Tensor</a>
+: <a class="el" href="classtvm_1_1runtime_1_1Tensor.html#ad14da2a37cb889330560417225fe8625">tvm::runtime::Tensor</a>
 , <a class="el" href="classtvm_1_1te_1_1Tensor.html#a27b4276ab6a34d81f93ec4a1098873bc">tvm::te::Tensor</a>
 </li>
 <li>tensor_sinfo
@@ -318,7 +318,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1TaskSchedulerNode.html#a6a0d8cdf714b5fe0f7490d3df3a62a21">tvm::s_tir::meta_schedule::TaskSchedulerNode</a>
 </li>
 <li>TuneContext()
-: <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuneContext.html#a2094efef26cad0433a43cbd145ab0f65">tvm::s_tir::meta_schedule::TuneContext</a>
+: <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuneContext.html#a6d67cd0d78eb565b1e3e7adfad73e3a0">tvm::s_tir::meta_schedule::TuneContext</a>
 </li>
 <li>TuningRecord()
 : <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuningRecord.html#a949675c555b5880580082b0dc856c5c0">tvm::s_tir::meta_schedule::TuningRecord</a>
@@ -546,6 +546,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a275aca8ad34dd8aae0ac5cd408b19a2a">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#ab9ec051dc0a5c2cfd94679a23fe2321b">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#ac145e0f41b5727b510beff8c757b444e">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a809d238b9aa2179318862e4ef2616d6c">tvm::relax::Conv3DTransposeAttrs</a>
 , <a class="el" href="classtvm_1_1relax_1_1DataflowBlockNode.html#a5d58e4b5718ecd9752b83d5c01a11573">tvm::relax::DataflowBlockNode</a>
 , <a class="el" href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html#adf84cecd9b57015ad27acc1b0b7baf4d">tvm::relax::DataflowBlockRewriteNode</a>
 , <a class="el" href="classtvm_1_1relax_1_1DataflowVarNode.html#aba6f7768daca31f0df853e6271a85a74">tvm::relax::DataflowVarNode</a>
diff --git a/docs/reference/api/doxygen/functions_vars_d.html b/docs/reference/api/doxygen/functions_vars_d.html
index fa5609514d3..be8bb425ad7 100644
--- a/docs/reference/api/doxygen/functions_vars_d.html
+++ b/docs/reference/api/doxygen/functions_vars_d.html
@@ -82,6 +82,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a8e5d45b932335eea51cee20384f46fc6">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#a573204aa9993bfeb59c82e6b3d172836">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#ac958cdd4986050b9cd09e00a998308a4">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a88c17bc3c35f8b93eb72710bcec88461">tvm::relax::Conv3DTransposeAttrs</a>
 </li>
 <li>data_path
 : <a class="el" href="structtvm_1_1runtime_1_1vm_1_1TensorCacheMetadata_1_1FileRecord.html#a630e4d0a3ffefdfad6be242064eb3c3d">tvm::runtime::vm::TensorCacheMetadata::FileRecord</a>
@@ -182,6 +183,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a450ce3662daf2272d34d3ce216690529">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#a48841fafbd36f396eddf010a0d1fdeac">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#a85b0bc9457dcd101576fd4dcfaddecef">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a1c9b5bfd4f56ace5324f02f54b015c21">tvm::relax::Conv3DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool1DAttrs.html#a0b6aecea11768b1b287f8c8d2d12054a">tvm::relax::Pool1DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool2DAttrs.html#a624d4f3ce226a19419ceafb8bb33fb48">tvm::relax::Pool2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool3DAttrs.html#abc57b05c62bc9fe728bb434e7c6a486a">tvm::relax::Pool3DAttrs</a>
diff --git a/docs/reference/api/doxygen/functions_vars_g.html b/docs/reference/api/doxygen/functions_vars_g.html
index 24680bbf99f..b0cf6728eca 100644
--- a/docs/reference/api/doxygen/functions_vars_g.html
+++ b/docs/reference/api/doxygen/functions_vars_g.html
@@ -87,6 +87,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a7f8f5711016c942115a871029de8ffd8">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#a99538212971606a8bb675ebaed3719c0">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#af25aed9eda55736e18ebb0f944f92567">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a3a8eab68f34cd961ffd6c7e57e6e53b0">tvm::relax::Conv3DTransposeAttrs</a>
 </li>
 </ul>
 </div><!-- contents -->
diff --git a/docs/reference/api/doxygen/functions_vars_k.html b/docs/reference/api/doxygen/functions_vars_k.html
index f040f18de5c..044406f0c5d 100644
--- a/docs/reference/api/doxygen/functions_vars_k.html
+++ b/docs/reference/api/doxygen/functions_vars_k.html
@@ -87,6 +87,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a5958b2a79298fe97a4629e74a33382c9">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#a1494ddb3b45084220828e1ebbe62a998">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#a1246c9b97778ecf2719c9bc6d6c1813f">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a9b96fe32ecd4393c0128dcdd438c498e">tvm::relax::Conv3DTransposeAttrs</a>
 </li>
 <li>key
 : <a class="el" href="structtvm_1_1ir_1_1ConfigSchema_1_1OptionEntry.html#a02e039fb92f6b02600261b0919630dc8">tvm::ir::ConfigSchema::OptionEntry</a>
diff --git a/docs/reference/api/doxygen/functions_vars_o.html b/docs/reference/api/doxygen/functions_vars_o.html
index d2cadaa7a3d..dbfd7279102 100644
--- a/docs/reference/api/doxygen/functions_vars_o.html
+++ b/docs/reference/api/doxygen/functions_vars_o.html
@@ -103,6 +103,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a450e0146551f5aa4388b727e133519e1">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#aea45305cf179f2ef3c8252f102609171">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#ab32d5d93c6fe6cf888bfb21b540b55c7">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a7da1b79aaa8c9e2a0d55346a64bd9c83">tvm::relax::Conv3DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1MatmulAttrs.html#a6eff616f8ae7a4efd57223247869b156">tvm::relax::MatmulAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1QuantizeAttrs.html#aec3286c3bb60b82b5513774a68f5ce4f">tvm::relax::QuantizeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Resize2DAttrs.html#a3e3661b184ec3ca8826d53f0d2e794cd">tvm::relax::Resize2DAttrs</a>
@@ -120,6 +121,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a1ce02a0e48bff647ddc7c59d5349e5c0">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#ac7640d300bbfe6a4d4988c6fcc9b15dd">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#a4ab8936788d6126b561fffdc7f7e978b">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a09f9836f7ad7d48afe907a494eb5ede3">tvm::relax::Conv3DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool1DAttrs.html#ac5fbc2cf96e822b8aa47ec31c31fb60c">tvm::relax::Pool1DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool2DAttrs.html#a7239605f070b0992e14465e3b3fdc5d3">tvm::relax::Pool2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool3DAttrs.html#a0c40f14106c571c3c05a158234fd0360">tvm::relax::Pool3DAttrs</a>
@@ -134,6 +136,7 @@ $(function() {
 <li>output_padding
 : <a class="el" href="structtvm_1_1relax_1_1Conv1DTransposeAttrs.html#a8842c90343cbf4c4644ccc0d2e07c709">tvm::relax::Conv1DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#ab7414b5cecdc03bd7cea639908831894">tvm::relax::Conv2DTransposeAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#afac4f4bd778f1ee0f8201518b33cd293">tvm::relax::Conv3DTransposeAttrs</a>
 </li>
 <li>output_placeholders
 : <a class="el" href="classtvm_1_1te_1_1ExternOpNode.html#ab42996729238838b98500120959f51ce">tvm::te::ExternOpNode</a>
diff --git a/docs/reference/api/doxygen/functions_vars_p.html b/docs/reference/api/doxygen/functions_vars_p.html
index 13531754d90..47f1e5d1b60 100644
--- a/docs/reference/api/doxygen/functions_vars_p.html
+++ b/docs/reference/api/doxygen/functions_vars_p.html
@@ -80,6 +80,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#aacda7e6521ac0043a9c35f6e7bc37c3b">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#a7cd4d854b259cf225718d75f14d6d9d5">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#aca8e544bbd5103e5d128fb9a9c764cf7">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a0b17573862264cc2342ce9f34f7b3ddc">tvm::relax::Conv3DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool1DAttrs.html#a934bb0fe60e4cedcfdb4f2e252c0ee36">tvm::relax::Pool1DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool2DAttrs.html#aaed6fb6d7554cd36d35f5e3426f0c64b">tvm::relax::Pool2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool3DAttrs.html#ae64c96b582640be26afcc24342ff90ef">tvm::relax::Pool3DAttrs</a>
diff --git a/docs/reference/api/doxygen/functions_vars_s.html b/docs/reference/api/doxygen/functions_vars_s.html
index d874da1846d..50428029897 100644
--- a/docs/reference/api/doxygen/functions_vars_s.html
+++ b/docs/reference/api/doxygen/functions_vars_s.html
@@ -260,6 +260,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a390bb0486d41940aaed52e3f877b34c8">tvm::relax::Conv2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#aa6d437fccdd4fe789e6f5efef00c0f9e">tvm::relax::Conv2DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Conv3DAttrs.html#a6b32db38d9d0eeee9c4f48309382e283">tvm::relax::Conv3DAttrs</a>
+, <a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html#a1a8bc43468c0938d8e864bd6c308fb84">tvm::relax::Conv3DTransposeAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool1DAttrs.html#a0384467e39106099ec8fc68bc4cdda9b">tvm::relax::Pool1DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool2DAttrs.html#ac9e9b721830f02b9a18f38dc4f9bf803">tvm::relax::Pool2DAttrs</a>
 , <a class="el" href="structtvm_1_1relax_1_1Pool3DAttrs.html#a003885afb1b73dc92edfad3b8b2a85cf">tvm::relax::Pool3DAttrs</a>
diff --git a/docs/reference/api/doxygen/hierarchy.html b/docs/reference/api/doxygen/hierarchy.html
index ed39d6525d5..bd40a968ffc 100644
--- a/docs/reference/api/doxygen/hierarchy.html
+++ b/docs/reference/api/doxygen/hierarchy.html
@@ -380,8 +380,10 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
 <tr id="row_120_1_76_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1GroupNormAttrs.html" target="_self">tvm::relax::GroupNormAttrs</a></td><td class="desc">Attributes used in group_norm operator </td></tr>
 <tr id="row_120_1_77_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_120_1_77_" class="arrow" onclick="toggleFolder('120_1_77_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNodeReflAdapter.html" target="_self">tvm::AttrsNodeReflAdapter&lt; GatherNDAttrs &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_120_1_77_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1GatherNDAttrs.html" target="_self">tvm::relax::GatherNDAttrs</a></td><td class="desc">Attributes used in gather_nd operators </td></tr>
-<tr id="row_120_1_78_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNodeReflAdapter.html" target="_self">tvm::AttrsNodeReflAdapter&lt; DerivedType &gt;</a></td><td class="desc">Adapter for AttrsNode with the new reflection API </td></tr>
-<tr id="row_120_1_79_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1DictAttrsNode.html" target="_self">tvm::DictAttrsNode</a></td><td class="desc">Specialized attribute type that is backed by a map. The <a class="el" href="classtvm_1_1DictAttrsNode.html" title="Specialized attribute type that is backed by a map. The DictAttrsNode implements the Attr [...]
+<tr id="row_120_1_78_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_120_1_78_" class="arrow" onclick="toggleFolder('120_1_78_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNodeReflAdapter.html" target="_self">tvm::AttrsNodeReflAdapter&lt; Conv3DTransposeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_120_1_78_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html" target="_self">tvm::relax::Conv3DTransposeAttrs</a></td><td class="desc">Attributes used in Conv3dTranspose operator </td></tr>
+<tr id="row_120_1_79_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNodeReflAdapter.html" target="_self">tvm::AttrsNodeReflAdapter&lt; DerivedType &gt;</a></td><td class="desc">Adapter for AttrsNode with the new reflection API </td></tr>
+<tr id="row_120_1_80_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1DictAttrsNode.html" target="_self">tvm::DictAttrsNode</a></td><td class="desc">Specialized attribute type that is backed by a map. The <a class="el" href="classtvm_1_1DictAttrsNode.html" title="Specialized attribute type that is backed by a map. The DictAttrsNode implements the Attr [...]
 <tr id="row_120_2_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_120_2_" class="arrow" onclick="toggleFolder('120_2_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1BaseExprNode.html" target="_self">tvm::BaseExprNode</a></td><td class="desc">Base type of all the expressions </td></tr>
 <tr id="row_120_2_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_120_2_0_" class="arrow" onclick="toggleFolder('120_2_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PrimExprNode.html" target="_self">tvm::PrimExprNode</a></td><td class="desc">Base node of all primitive expressions </td></tr>
 <tr id="row_120_2_0_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_120_2_0_0_" class="arrow" onclick="toggleFolder('120_2_0_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1BinaryOpNode.html" target="_self">tvm::tirx::BinaryOpNode&lt; AddNode &gt;</a></td><td class="desc"></td></tr>
diff --git a/docs/reference/api/doxygen/inherit_graph_10.svg b/docs/reference/api/doxygen/inherit_graph_10.svg
index 48f030f2191..12281ece454 100644
--- a/docs/reference/api/doxygen/inherit_graph_10.svg
+++ b/docs/reference/api/doxygen/inherit_graph_10.svg
@@ -4,17 +4,17 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: Graphical Class Hierarchy Pages: 1 -->
-<svg width="1170pt" height="10179pt"
- viewBox="0.00 0.00 1170.00 10178.50" 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 10174.5)">
+<svg width="1170pt" height="10238pt"
+ viewBox="0.00 0.00 1170.00 10237.50" 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 10233.5)">
 <title>Graphical Class Hierarchy</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-10174.5 1166,-10174.5 1166,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-10233.5 1166,-10233.5 1166,4 -4,4"/>
 <!-- Node151 -->
 <g id="node1" class="node">
 <title>Node151</title>
 <g id="a_node1"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="0,-2652.5 0,-2671.5 48,-2671.5 48,-2652.5 0,-2652.5"/>
-<text text-anchor="middle" x="24" y="-2659.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
+<polygon fill="white" stroke="#bfbfbf" points="0,-2651.5 0,-2670.5 48,-2670.5 48,-2651.5 0,-2651.5"/>
+<text text-anchor="middle" x="24" y="-2658.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
 </a>
 </g>
 </g>
@@ -22,7310 +22,7342 @@
 <g id="node2" class="node">
 <title>Node0</title>
 <g id="a_node2"><a xlink:href="classtvm_1_1AttrFieldInfoNode.html" target="_top" xlink:title="Information about attribute fields in string representations.">
-<polygon fill="white" stroke="black" points="121,-8186.5 121,-8205.5 249,-8205.5 249,-8186.5 121,-8186.5"/>
-<text text-anchor="middle" x="185" y="-8193.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrFieldInfoNode</text>
+<polygon fill="white" stroke="black" points="121,-8221.5 121,-8240.5 249,-8240.5 249,-8221.5 121,-8221.5"/>
+<text text-anchor="middle" x="185" y="-8228.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrFieldInfoNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node0 -->
 <g id="edge1" class="edge">
 <title>Node151&#45;&gt;Node0</title>
-<path fill="none" stroke="midnightblue" d="M25.04,-2681.73C25.74,-3038.72 36.56,-8120.32 84,-8177 93.24,-8188.04 106.74,-8193.98 120.84,-8196.95"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.54,-2681.59 25.02,-2671.6 21.54,-2681.61 28.54,-2681.59"/>
+<path fill="none" stroke="midnightblue" d="M25.04,-2680.86C25.72,-3040.18 36.26,-8154.95 84,-8212 93.24,-8223.04 106.74,-8228.98 120.84,-8231.95"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.54,-2680.65 25.02,-2670.66 21.54,-2680.67 28.54,-2680.65"/>
 </g>
 <!-- Node153 -->
 <g id="node3" class="node">
 <title>Node153</title>
 <g id="a_node3"><a xlink:href="classtvm_1_1BaseAttrsNode.html" target="_top" xlink:title="Base class of all attribute class.">
-<polygon fill="white" stroke="black" points="127.5,-8148.5 127.5,-8167.5 242.5,-8167.5 242.5,-8148.5 127.5,-8148.5"/>
-<text text-anchor="middle" x="185" y="-8155.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseAttrsNode</text>
+<polygon fill="white" stroke="black" points="127.5,-8183.5 127.5,-8202.5 242.5,-8202.5 242.5,-8183.5 127.5,-8183.5"/>
+<text text-anchor="middle" x="185" y="-8190.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseAttrsNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node153 -->
 <g id="edge2" class="edge">
 <title>Node151&#45;&gt;Node153</title>
-<path fill="none" stroke="midnightblue" d="M25.5,-2682.17C29.6,-2845.64 57.91,-3971.06 84,-4885 123.74,-6277.24 179.01,-8002.42 183.68,-8148.1"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.99,-2681.63 25.24,-2671.72 21.99,-2681.8 28.99,-2681.63"/>
+<path fill="none" stroke="midnightblue" d="M25.51,-2681.17C29.62,-2844.64 58.06,-3970.06 84,-4884 123.99,-6292.99 179.14,-8039.26 183.7,-8183.44"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.99,-2680.63 25.24,-2670.72 22,-2680.81 28.99,-2680.63"/>
 </g>
-<!-- Node312 -->
-<g id="node162" class="node">
-<title>Node312</title>
-<g id="a_node162"><a xlink:href="classtvm_1_1BaseExprNode.html" target="_top" xlink:title="Base type of all the expressions.">
-<polygon fill="white" stroke="black" points="128.5,-4856.5 128.5,-4875.5 241.5,-4875.5 241.5,-4856.5 128.5,-4856.5"/>
-<text text-anchor="middle" x="185" y="-4863.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExprNode</text>
-</a>
-</g>
-</g>
-<!-- Node151&#45;&gt;Node312 -->
-<g id="edge161" class="edge">
-<title>Node151&#45;&gt;Node312</title>
-<path fill="none" stroke="midnightblue" d="M25.19,-2681.67C27.28,-2896.69 46.87,-4803.37 84,-4847 94.94,-4859.85 111.63,-4865.76 128.26,-4868.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.69,-2681.5 25.09,-2671.54 21.69,-2681.57 28.69,-2681.5"/>
-</g>
-<!-- Node387 -->
-<g id="node237" class="node">
-<title>Node387</title>
-<g id="a_node237"><a xlink:href="classtvm_1_1DiagnosticContextNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="106,-4818.5 106,-4837.5 264,-4837.5 264,-4818.5 106,-4818.5"/>
-<text text-anchor="middle" x="185" y="-4825.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DiagnosticContextNode</text>
-</a>
-</g>
-</g>
-<!-- Node151&#45;&gt;Node387 -->
-<g id="edge236" class="edge">
-<title>Node151&#45;&gt;Node387</title>
-<path fill="none" stroke="midnightblue" d="M25.2,-2681.97C27.39,-2896.41 47.55,-4766.18 84,-4809 89.84,-4815.86 97.33,-4820.74 105.56,-4824.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.7,-2681.8 25.1,-2671.84 21.7,-2681.88 28.7,-2681.8"/>
-</g>
-<!-- Node388 -->
-<g id="node238" class="node">
-<title>Node388</title>
-<g id="a_node238"><a xlink:href="classtvm_1_1DiagnosticNode.html" target="_top" xlink:title="A compiler diagnostic message.">
-<polygon fill="white" stroke="black" points="125.5,-4780.5 125.5,-4799.5 244.5,-4799.5 244.5,-4780.5 125.5,-4780.5"/>
-<text text-anchor="middle" x="185" y="-4787.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DiagnosticNode</text>
+<!-- Node314 -->
+<g id="node164" class="node">
+<title>Node314</title>
+<g id="a_node164"><a xlink:href="classtvm_1_1BaseExprNode.html" target="_top" xlink:title="Base type of all the expressions.">
+<polygon fill="white" stroke="black" points="128.5,-4855.5 128.5,-4874.5 241.5,-4874.5 241.5,-4855.5 128.5,-4855.5"/>
+<text text-anchor="middle" x="185" y="-4862.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExprNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node388 -->
-<g id="edge237" class="edge">
-<title>Node151&#45;&gt;Node388</title>
-<path fill="none" stroke="midnightblue" d="M25.21,-2681.94C27.49,-2894.09 48.2,-4728.96 84,-4771 94.31,-4783.11 109.73,-4789.05 125.4,-4791.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.71,-2681.63 25.1,-2671.67 21.71,-2681.7 28.71,-2681.63"/>
+<!-- Node151&#45;&gt;Node314 -->
+<g id="edge163" class="edge">
+<title>Node151&#45;&gt;Node314</title>
+<path fill="none" stroke="midnightblue" d="M25.19,-2680.67C27.28,-2895.69 46.87,-4802.37 84,-4846 94.94,-4858.85 111.63,-4864.76 128.26,-4867.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.69,-2680.5 25.09,-2670.54 21.69,-2680.57 28.69,-2680.5"/>
 </g>
 <!-- Node389 -->
 <g id="node239" class="node">
 <title>Node389</title>
-<g id="a_node239"><a xlink:href="classtvm_1_1DiagnosticRendererNode.html" target="_top" xlink:title="Display diagnostics in a given display format.">
-<polygon fill="white" stroke="black" points="103,-4742.5 103,-4761.5 267,-4761.5 267,-4742.5 103,-4742.5"/>
-<text text-anchor="middle" x="185" y="-4749.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DiagnosticRendererNode</text>
+<g id="a_node239"><a xlink:href="classtvm_1_1DiagnosticContextNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="106,-4817.5 106,-4836.5 264,-4836.5 264,-4817.5 106,-4817.5"/>
+<text text-anchor="middle" x="185" y="-4824.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DiagnosticContextNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node389 -->
 <g id="edge238" class="edge">
 <title>Node151&#45;&gt;Node389</title>
-<path fill="none" stroke="midnightblue" d="M25.22,-2682.22C27.6,-2893.58 48.87,-4691.77 84,-4733 89.16,-4739.05 95.59,-4743.56 102.7,-4746.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.72,-2681.91 25.11,-2671.95 21.72,-2681.99 28.72,-2681.91"/>
+<path fill="none" stroke="midnightblue" d="M25.2,-2680.97C27.39,-2895.41 47.55,-4765.18 84,-4808 89.84,-4814.86 97.33,-4819.74 105.56,-4823.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.7,-2680.8 25.1,-2670.84 21.7,-2680.88 28.7,-2680.8"/>
 </g>
 <!-- Node390 -->
 <g id="node240" class="node">
 <title>Node390</title>
-<g id="a_node240"><a xlink:href="classtvm_1_1EnvFuncNode.html" target="_top" xlink:title="A serializable function backed by TVM&#39;s global environment.">
-<polygon fill="white" stroke="black" points="131,-4704.5 131,-4723.5 239,-4723.5 239,-4704.5 131,-4704.5"/>
-<text text-anchor="middle" x="185" y="-4711.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::EnvFuncNode</text>
+<g id="a_node240"><a xlink:href="classtvm_1_1DiagnosticNode.html" target="_top" xlink:title="A compiler diagnostic message.">
+<polygon fill="white" stroke="black" points="125.5,-4779.5 125.5,-4798.5 244.5,-4798.5 244.5,-4779.5 125.5,-4779.5"/>
+<text text-anchor="middle" x="185" y="-4786.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DiagnosticNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node390 -->
 <g id="edge239" class="edge">
 <title>Node151&#45;&gt;Node390</title>
-<path fill="none" stroke="midnightblue" d="M25.23,-2681.85C27.68,-2889.33 49.5,-4654.54 84,-4695 95.52,-4708.51 113.41,-4714.35 130.89,-4716.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.73,-2681.73 25.11,-2671.77 21.73,-2681.81 28.73,-2681.73"/>
+<path fill="none" stroke="midnightblue" d="M25.21,-2680.94C27.49,-2893.09 48.2,-4727.96 84,-4770 94.31,-4782.11 109.73,-4788.05 125.4,-4790.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.71,-2680.63 25.1,-2670.67 21.71,-2680.7 28.71,-2680.63"/>
 </g>
 <!-- Node391 -->
 <g id="node241" class="node">
 <title>Node391</title>
-<g id="a_node241"><a xlink:href="classtvm_1_1GlobalInfoNode.html" target="_top" xlink:title="GlobalInfo are globally static object that are referred by the IR itself. Base node for all global in...">
-<polygon fill="white" stroke="black" points="126,-4666.5 126,-4685.5 244,-4685.5 244,-4666.5 126,-4666.5"/>
-<text text-anchor="middle" x="185" y="-4673.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalInfoNode</text>
+<g id="a_node241"><a xlink:href="classtvm_1_1DiagnosticRendererNode.html" target="_top" xlink:title="Display diagnostics in a given display format.">
+<polygon fill="white" stroke="black" points="103,-4741.5 103,-4760.5 267,-4760.5 267,-4741.5 103,-4741.5"/>
+<text text-anchor="middle" x="185" y="-4748.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DiagnosticRendererNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node391 -->
 <g id="edge240" class="edge">
 <title>Node151&#45;&gt;Node391</title>
-<path fill="none" stroke="midnightblue" d="M24.88,-2681.98C23.75,-2885.55 16.37,-4577.73 84,-4657 94.44,-4669.23 110.09,-4675.17 125.93,-4677.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.38,-2681.85 24.94,-2671.83 21.38,-2681.81 28.38,-2681.85"/>
+<path fill="none" stroke="midnightblue" d="M25.22,-2681.22C27.6,-2892.58 48.87,-4690.77 84,-4732 89.16,-4738.05 95.59,-4742.56 102.7,-4745.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.72,-2680.91 25.11,-2670.95 21.72,-2680.99 28.72,-2680.91"/>
 </g>
-<!-- Node395 -->
-<g id="node245" class="node">
-<title>Node395</title>
-<g id="a_node245"><a xlink:href="classtvm_1_1GlobalVarSupplyNode.html" target="_top" xlink:title="GlobalVarSupply can be used to generate unique GlobalVars.">
-<polygon fill="white" stroke="black" points="111,-4628.5 111,-4647.5 259,-4647.5 259,-4628.5 111,-4628.5"/>
-<text text-anchor="middle" x="185" y="-4635.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalVarSupplyNode</text>
+<!-- Node392 -->
+<g id="node242" class="node">
+<title>Node392</title>
+<g id="a_node242"><a xlink:href="classtvm_1_1EnvFuncNode.html" target="_top" xlink:title="A serializable function backed by TVM&#39;s global environment.">
+<polygon fill="white" stroke="black" points="131,-4703.5 131,-4722.5 239,-4722.5 239,-4703.5 131,-4703.5"/>
+<text text-anchor="middle" x="185" y="-4710.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::EnvFuncNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node395 -->
-<g id="edge244" class="edge">
-<title>Node151&#45;&gt;Node395</title>
-<path fill="none" stroke="midnightblue" d="M24.89,-2681.9C23.89,-2882.95 17.67,-4541.29 84,-4619 91.06,-4627.27 100.49,-4632.66 110.76,-4636.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.39,-2681.66 24.95,-2671.64 21.39,-2681.63 28.39,-2681.66"/>
+<!-- Node151&#45;&gt;Node392 -->
+<g id="edge241" class="edge">
+<title>Node151&#45;&gt;Node392</title>
+<path fill="none" stroke="midnightblue" d="M25.23,-2680.85C27.68,-2888.33 49.5,-4653.54 84,-4694 95.52,-4707.51 113.41,-4713.35 130.89,-4715.44"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.73,-2680.73 25.11,-2670.77 21.73,-2680.81 28.73,-2680.73"/>
 </g>
-<!-- Node396 -->
-<g id="node246" class="node">
-<title>Node396</title>
-<g id="a_node246"><a xlink:href="classtvm_1_1IRModuleNode.html" target="_top" xlink:title="IRModule that holds functions and type definitions.">
-<polygon fill="white" stroke="black" points="128.5,-4590.5 128.5,-4609.5 241.5,-4609.5 241.5,-4590.5 128.5,-4590.5"/>
-<text text-anchor="middle" x="185" y="-4597.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IRModuleNode</text>
+<!-- Node393 -->
+<g id="node243" class="node">
+<title>Node393</title>
+<g id="a_node243"><a xlink:href="classtvm_1_1GlobalInfoNode.html" target="_top" xlink:title="GlobalInfo are globally static object that are referred by the IR itself. Base node for all global in...">
+<polygon fill="white" stroke="black" points="126,-4665.5 126,-4684.5 244,-4684.5 244,-4665.5 126,-4665.5"/>
+<text text-anchor="middle" x="185" y="-4672.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalInfoNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node396 -->
-<g id="edge245" class="edge">
-<title>Node151&#45;&gt;Node396</title>
-<path fill="none" stroke="midnightblue" d="M24.9,-2682.12C24.04,-2881.97 19,-4504.9 84,-4581 94.96,-4593.83 111.66,-4599.74 128.29,-4602.09"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.4,-2681.91 24.95,-2671.89 21.4,-2681.88 28.4,-2681.91"/>
+<!-- Node151&#45;&gt;Node393 -->
+<g id="edge242" class="edge">
+<title>Node151&#45;&gt;Node393</title>
+<path fill="none" stroke="midnightblue" d="M24.88,-2680.98C23.75,-2884.55 16.37,-4576.73 84,-4656 94.44,-4668.23 110.09,-4674.17 125.93,-4676.74"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.38,-2680.85 24.94,-2670.83 21.38,-2680.81 28.38,-2680.85"/>
 </g>
 <!-- Node397 -->
 <g id="node247" class="node">
 <title>Node397</title>
-<g id="a_node247"><a xlink:href="classtvm_1_1NameSupplyNode.html" target="_top" xlink:title="NameSupply can be used to generate unique names.">
-<polygon fill="white" stroke="black" points="120,-4552.5 120,-4571.5 250,-4571.5 250,-4552.5 120,-4552.5"/>
-<text text-anchor="middle" x="185" y="-4559.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::NameSupplyNode</text>
+<g id="a_node247"><a xlink:href="classtvm_1_1GlobalVarSupplyNode.html" target="_top" xlink:title="GlobalVarSupply can be used to generate unique GlobalVars.">
+<polygon fill="white" stroke="black" points="111,-4627.5 111,-4646.5 259,-4646.5 259,-4627.5 111,-4627.5"/>
+<text text-anchor="middle" x="185" y="-4634.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalVarSupplyNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node397 -->
 <g id="edge246" class="edge">
 <title>Node151&#45;&gt;Node397</title>
-<path fill="none" stroke="midnightblue" d="M24.92,-2681.72C24.19,-2877.62 20.26,-4468.42 84,-4543 93.13,-4553.68 106.23,-4559.56 119.96,-4562.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.42,-2681.71 24.96,-2671.7 21.42,-2681.69 28.42,-2681.71"/>
+<path fill="none" stroke="midnightblue" d="M24.89,-2680.9C23.89,-2881.95 17.67,-4540.29 84,-4618 91.06,-4626.27 100.49,-4631.66 110.76,-4635.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.39,-2680.66 24.95,-2670.64 21.39,-2680.63 28.39,-2680.66"/>
 </g>
 <!-- Node398 -->
 <g id="node248" class="node">
 <title>Node398</title>
-<g id="a_node248"><a xlink:href="classtvm_1_1PrimExprConvertibleNode.html" target="_top" xlink:title="Base class for other IR constructs that can be converted to PrimExpr. This is useful for the FFI to c...">
-<polygon fill="white" stroke="black" points="101,-4514.5 101,-4533.5 269,-4533.5 269,-4514.5 101,-4514.5"/>
-<text text-anchor="middle" x="185" y="-4521.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExprConvertibleNode</text>
+<g id="a_node248"><a xlink:href="classtvm_1_1IRModuleNode.html" target="_top" xlink:title="IRModule that holds functions and type definitions.">
+<polygon fill="white" stroke="black" points="128.5,-4589.5 128.5,-4608.5 241.5,-4608.5 241.5,-4589.5 128.5,-4589.5"/>
+<text text-anchor="middle" x="185" y="-4596.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IRModuleNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node398 -->
 <g id="edge247" class="edge">
 <title>Node151&#45;&gt;Node398</title>
-<path fill="none" stroke="midnightblue" d="M24.93,-2681.61C24.34,-2874.82 21.55,-4431.98 84,-4505 88.71,-4510.51 94.47,-4514.74 100.84,-4517.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.43,-2681.51 24.96,-2671.5 21.43,-2681.49 28.43,-2681.51"/>
+<path fill="none" stroke="midnightblue" d="M24.9,-2681.12C24.04,-2880.97 19,-4503.9 84,-4580 94.96,-4592.83 111.66,-4598.74 128.29,-4601.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.4,-2680.91 24.95,-2670.89 21.4,-2680.88 28.4,-2680.91"/>
 </g>
-<!-- Node403 -->
-<g id="node253" class="node">
-<title>Node403</title>
-<g id="a_node253"><a xlink:href="classtvm_1_1RangeNode.html" target="_top" xlink:title="range over one dimension">
-<polygon fill="white" stroke="black" points="136,-4476.5 136,-4495.5 234,-4495.5 234,-4476.5 136,-4476.5"/>
-<text text-anchor="middle" x="185" y="-4483.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::RangeNode</text>
+<!-- Node399 -->
+<g id="node249" class="node">
+<title>Node399</title>
+<g id="a_node249"><a xlink:href="classtvm_1_1NameSupplyNode.html" target="_top" xlink:title="NameSupply can be used to generate unique names.">
+<polygon fill="white" stroke="black" points="120,-4551.5 120,-4570.5 250,-4570.5 250,-4551.5 120,-4551.5"/>
+<text text-anchor="middle" x="185" y="-4558.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::NameSupplyNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node403 -->
-<g id="edge252" class="edge">
-<title>Node151&#45;&gt;Node403</title>
-<path fill="none" stroke="midnightblue" d="M24.95,-2681.79C24.5,-2873.54 22.88,-4395.58 84,-4467 96.64,-4481.77 116.88,-4487.35 135.86,-4488.92"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.45,-2681.74 24.97,-2671.73 21.45,-2681.72 28.45,-2681.74"/>
+<!-- Node151&#45;&gt;Node399 -->
+<g id="edge248" class="edge">
+<title>Node151&#45;&gt;Node399</title>
+<path fill="none" stroke="midnightblue" d="M24.92,-2680.72C24.19,-2876.62 20.26,-4467.42 84,-4542 93.13,-4552.68 106.23,-4558.56 119.96,-4561.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.42,-2680.71 24.96,-2670.7 21.42,-2680.69 28.42,-2680.71"/>
 </g>
-<!-- Node404 -->
-<g id="node254" class="node">
-<title>Node404</title>
-<g id="a_node254"><a xlink:href="classtvm_1_1SourceMapObj.html" target="_top" xlink:title="Stores locations in frontend source that generated a node.">
-<polygon fill="white" stroke="black" points="128.5,-4438.5 128.5,-4457.5 241.5,-4457.5 241.5,-4438.5 128.5,-4438.5"/>
-<text text-anchor="middle" x="185" y="-4445.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceMapObj</text>
+<!-- Node400 -->
+<g id="node250" class="node">
+<title>Node400</title>
+<g id="a_node250"><a xlink:href="classtvm_1_1PrimExprConvertibleNode.html" target="_top" xlink:title="Base class for other IR constructs that can be converted to PrimExpr. This is useful for the FFI to c...">
+<polygon fill="white" stroke="black" points="101,-4513.5 101,-4532.5 269,-4532.5 269,-4513.5 101,-4513.5"/>
+<text text-anchor="middle" x="185" y="-4520.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExprConvertibleNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node404 -->
-<g id="edge253" class="edge">
-<title>Node151&#45;&gt;Node404</title>
-<path fill="none" stroke="midnightblue" d="M24.96,-2681.66C24.66,-2870.58 24.17,-4359.14 84,-4429 94.98,-4441.82 111.68,-4447.72 128.31,-4450.07"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.46,-2681.53 24.98,-2671.52 21.46,-2681.52 28.46,-2681.53"/>
+<!-- Node151&#45;&gt;Node400 -->
+<g id="edge249" class="edge">
+<title>Node151&#45;&gt;Node400</title>
+<path fill="none" stroke="midnightblue" d="M24.93,-2680.61C24.34,-2873.82 21.55,-4430.98 84,-4504 88.71,-4509.51 94.47,-4513.74 100.84,-4516.96"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.43,-2680.51 24.96,-2670.5 21.43,-2680.49 28.43,-2680.51"/>
 </g>
 <!-- Node405 -->
 <g id="node255" class="node">
 <title>Node405</title>
-<g id="a_node255"><a xlink:href="classtvm_1_1SourceNameNode.html" target="_top" xlink:title="The name of a source fragment.">
-<polygon fill="white" stroke="black" points="120,-4400.5 120,-4419.5 250,-4419.5 250,-4400.5 120,-4400.5"/>
-<text text-anchor="middle" x="185" y="-4407.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceNameNode</text>
+<g id="a_node255"><a xlink:href="classtvm_1_1RangeNode.html" target="_top" xlink:title="range over one dimension">
+<polygon fill="white" stroke="black" points="136,-4475.5 136,-4494.5 234,-4494.5 234,-4475.5 136,-4475.5"/>
+<text text-anchor="middle" x="185" y="-4482.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::RangeNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node405 -->
 <g id="edge254" class="edge">
 <title>Node151&#45;&gt;Node405</title>
-<path fill="none" stroke="midnightblue" d="M24.97,-2681.8C24.82,-2869.07 25.49,-4322.73 84,-4391 93.14,-4401.67 106.25,-4407.54 119.98,-4410.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.47,-2681.74 24.98,-2671.73 21.47,-2681.73 28.47,-2681.74"/>
+<path fill="none" stroke="midnightblue" d="M24.95,-2680.79C24.5,-2872.54 22.88,-4394.58 84,-4466 96.64,-4480.77 116.88,-4486.35 135.86,-4487.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.45,-2680.74 24.97,-2670.73 21.45,-2680.72 28.45,-2680.74"/>
 </g>
 <!-- Node406 -->
 <g id="node256" class="node">
 <title>Node406</title>
-<g id="a_node256"><a xlink:href="classtvm_1_1SourceNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="134.5,-4362.5 134.5,-4381.5 235.5,-4381.5 235.5,-4362.5 134.5,-4362.5"/>
-<text text-anchor="middle" x="185" y="-4369.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceNode</text>
+<g id="a_node256"><a xlink:href="classtvm_1_1SourceMapObj.html" target="_top" xlink:title="Stores locations in frontend source that generated a node.">
+<polygon fill="white" stroke="black" points="128.5,-4437.5 128.5,-4456.5 241.5,-4456.5 241.5,-4437.5 128.5,-4437.5"/>
+<text text-anchor="middle" x="185" y="-4444.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceMapObj</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node406 -->
 <g id="edge255" class="edge">
 <title>Node151&#45;&gt;Node406</title>
-<path fill="none" stroke="midnightblue" d="M24.99,-2681.64C24.98,-2865.94 26.78,-4286.28 84,-4353 96.31,-4367.35 115.8,-4373.03 134.32,-4374.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.49,-2681.52 24.99,-2671.52 21.49,-2681.52 28.49,-2681.52"/>
+<path fill="none" stroke="midnightblue" d="M24.96,-2680.66C24.66,-2869.58 24.17,-4358.14 84,-4428 94.98,-4440.82 111.68,-4446.72 128.31,-4449.07"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.46,-2680.53 24.98,-2670.52 21.46,-2680.52 28.46,-2680.53"/>
 </g>
 <!-- Node407 -->
 <g id="node257" class="node">
 <title>Node407</title>
-<g id="a_node257"><a xlink:href="classtvm_1_1SpanNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node.">
-<polygon fill="white" stroke="black" points="139,-4324.5 139,-4343.5 231,-4343.5 231,-4324.5 139,-4324.5"/>
-<text text-anchor="middle" x="185" y="-4331.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SpanNode</text>
+<g id="a_node257"><a xlink:href="classtvm_1_1SourceNameNode.html" target="_top" xlink:title="The name of a source fragment.">
+<polygon fill="white" stroke="black" points="120,-4399.5 120,-4418.5 250,-4418.5 250,-4399.5 120,-4399.5"/>
+<text text-anchor="middle" x="185" y="-4406.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceNameNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node407 -->
 <g id="edge256" class="edge">
 <title>Node151&#45;&gt;Node407</title>
-<path fill="none" stroke="midnightblue" d="M25.01,-2681.76C25.15,-2864.19 28.09,-4249.87 84,-4315 97.35,-4330.55 119.14,-4335.91 138.97,-4337.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.51,-2681.7 25,-2671.71 21.51,-2681.71 28.51,-2681.7"/>
+<path fill="none" stroke="midnightblue" d="M24.97,-2680.8C24.82,-2868.07 25.49,-4321.73 84,-4390 93.14,-4400.67 106.25,-4406.54 119.98,-4409.57"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.47,-2680.74 24.98,-2670.73 21.47,-2680.73 28.47,-2680.74"/>
+</g>
+<!-- Node408 -->
+<g id="node258" class="node">
+<title>Node408</title>
+<g id="a_node258"><a xlink:href="classtvm_1_1SourceNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="134.5,-4361.5 134.5,-4380.5 235.5,-4380.5 235.5,-4361.5 134.5,-4361.5"/>
+<text text-anchor="middle" x="185" y="-4368.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceNode</text>
+</a>
+</g>
+</g>
+<!-- Node151&#45;&gt;Node408 -->
+<g id="edge257" class="edge">
+<title>Node151&#45;&gt;Node408</title>
+<path fill="none" stroke="midnightblue" d="M24.99,-2680.64C24.98,-2864.94 26.78,-4285.28 84,-4352 96.31,-4366.35 115.8,-4372.03 134.32,-4373.77"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.49,-2680.52 24.99,-2670.52 21.49,-2680.52 28.49,-2680.52"/>
 </g>
 <!-- Node409 -->
 <g id="node259" class="node">
 <title>Node409</title>
-<g id="a_node259"><a xlink:href="classtvm_1_1TargetKindNode.html" target="_top" xlink:title="Target kind, specifies the kind of the target.">
-<polygon fill="white" stroke="black" points="125.5,-4286.5 125.5,-4305.5 244.5,-4305.5 244.5,-4286.5 125.5,-4286.5"/>
-<text text-anchor="middle" x="185" y="-4293.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetKindNode</text>
+<g id="a_node259"><a xlink:href="classtvm_1_1SpanNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node.">
+<polygon fill="white" stroke="black" points="139,-4323.5 139,-4342.5 231,-4342.5 231,-4323.5 139,-4323.5"/>
+<text text-anchor="middle" x="185" y="-4330.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SpanNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node409 -->
 <g id="edge258" class="edge">
 <title>Node151&#45;&gt;Node409</title>
-<path fill="none" stroke="midnightblue" d="M25.02,-2682.13C25.33,-2863.67 29.43,-4213.49 84,-4277 94.36,-4289.06 109.8,-4294.99 125.46,-4297.61"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.52,-2681.88 25.01,-2671.89 21.52,-2681.89 28.52,-2681.88"/>
-</g>
-<!-- Node410 -->
-<g id="node260" class="node">
-<title>Node410</title>
-<g id="a_node260"><a xlink:href="classtvm_1_1TargetNode.html" target="_top" xlink:title="Compilation target.">
-<polygon fill="white" stroke="black" points="136,-4248.5 136,-4267.5 234,-4267.5 234,-4248.5 136,-4248.5"/>
-<text text-anchor="middle" x="185" y="-4255.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetNode</text>
-</a>
-</g>
-</g>
-<!-- Node151&#45;&gt;Node410 -->
-<g id="edge259" class="edge">
-<title>Node151&#45;&gt;Node410</title>
-<path fill="none" stroke="midnightblue" d="M25.04,-2681.65C25.5,-2858.92 30.69,-4177 84,-4239 96.67,-4253.74 116.92,-4259.32 135.89,-4260.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.54,-2681.64 25.02,-2671.65 21.54,-2681.66 28.54,-2681.64"/>
+<path fill="none" stroke="midnightblue" d="M25.01,-2680.76C25.15,-2863.19 28.09,-4248.87 84,-4314 97.35,-4329.55 119.14,-4334.91 138.97,-4336.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.51,-2680.7 25,-2670.71 21.51,-2680.71 28.51,-2680.7"/>
 </g>
 <!-- Node411 -->
 <g id="node261" class="node">
 <title>Node411</title>
-<g id="a_node261"><a xlink:href="classtvm_1_1TargetTagNode.html" target="_top" xlink:title="A target tag.">
-<polygon fill="white" stroke="black" points="128,-4210.5 128,-4229.5 242,-4229.5 242,-4210.5 128,-4210.5"/>
-<text text-anchor="middle" x="185" y="-4217.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetTagNode</text>
+<g id="a_node261"><a xlink:href="classtvm_1_1TargetKindNode.html" target="_top" xlink:title="Target kind, specifies the kind of the target.">
+<polygon fill="white" stroke="black" points="125.5,-4285.5 125.5,-4304.5 244.5,-4304.5 244.5,-4285.5 125.5,-4285.5"/>
+<text text-anchor="middle" x="185" y="-4292.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetKindNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node411 -->
 <g id="edge260" class="edge">
 <title>Node151&#45;&gt;Node411</title>
-<path fill="none" stroke="midnightblue" d="M25.06,-2681.98C25.69,-2858.1 32.02,-4140.61 84,-4201 94.89,-4213.66 111.37,-4219.56 127.83,-4221.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.56,-2681.8 25.03,-2671.81 21.56,-2681.82 28.56,-2681.8"/>
+<path fill="none" stroke="midnightblue" d="M25.02,-2681.13C25.33,-2862.67 29.43,-4212.49 84,-4276 94.36,-4288.06 109.8,-4293.99 125.46,-4296.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.52,-2680.88 25.01,-2670.89 21.52,-2680.89 28.52,-2680.88"/>
 </g>
 <!-- Node412 -->
 <g id="node262" class="node">
 <title>Node412</title>
-<g id="a_node262"><a xlink:href="classtvm_1_1TypeNode.html" target="_top" xlink:title="Type is the base type of all types.">
-<polygon fill="white" stroke="black" points="140,-4172.5 140,-4191.5 230,-4191.5 230,-4172.5 140,-4172.5"/>
-<text text-anchor="middle" x="185" y="-4179.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TypeNode</text>
+<g id="a_node262"><a xlink:href="classtvm_1_1TargetNode.html" target="_top" xlink:title="Compilation target.">
+<polygon fill="white" stroke="black" points="136,-4247.5 136,-4266.5 234,-4266.5 234,-4247.5 136,-4247.5"/>
+<text text-anchor="middle" x="185" y="-4254.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node412 -->
 <g id="edge261" class="edge">
 <title>Node151&#45;&gt;Node412</title>
-<path fill="none" stroke="midnightblue" d="M25.08,-2681.74C25.87,-2854.51 33.3,-4104.15 84,-4163 97.55,-4178.73 119.73,-4184.02 139.76,-4185.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.58,-2681.55 25.04,-2671.57 21.58,-2681.58 28.58,-2681.55"/>
+<path fill="none" stroke="midnightblue" d="M25.04,-2680.65C25.5,-2857.92 30.69,-4176 84,-4238 96.67,-4252.74 116.92,-4258.32 135.89,-4259.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.54,-2680.64 25.02,-2670.65 21.54,-2680.66 28.54,-2680.64"/>
 </g>
-<!-- Node422 -->
-<g id="node272" class="node">
-<title>Node422</title>
-<g id="a_node272"><a xlink:href="classtvm_1_1arith_1_1ConstIntBoundNode.html" target="_top" xlink:title="Constant integer up and lower bound(inclusive). Useful for value bound analysis.">
-<polygon fill="white" stroke="black" points="101.5,-4134.5 101.5,-4153.5 268.5,-4153.5 268.5,-4134.5 101.5,-4134.5"/>
-<text text-anchor="middle" x="185" y="-4141.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::ConstIntBoundNode</text>
+<!-- Node413 -->
+<g id="node263" class="node">
+<title>Node413</title>
+<g id="a_node263"><a xlink:href="classtvm_1_1TargetTagNode.html" target="_top" xlink:title="A target tag.">
+<polygon fill="white" stroke="black" points="128,-4209.5 128,-4228.5 242,-4228.5 242,-4209.5 128,-4209.5"/>
+<text text-anchor="middle" x="185" y="-4216.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetTagNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node422 -->
-<g id="edge271" class="edge">
-<title>Node151&#45;&gt;Node422</title>
-<path fill="none" stroke="midnightblue" d="M25.1,-2681.77C26.06,-2852.13 34.6,-4067.72 84,-4125 88.85,-4130.62 94.8,-4134.91 101.35,-4138.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.6,-2681.69 25.05,-2671.7 21.6,-2681.72 28.6,-2681.69"/>
+<!-- Node151&#45;&gt;Node413 -->
+<g id="edge262" class="edge">
+<title>Node151&#45;&gt;Node413</title>
+<path fill="none" stroke="midnightblue" d="M25.06,-2680.98C25.69,-2857.1 32.02,-4139.61 84,-4200 94.89,-4212.66 111.37,-4218.56 127.83,-4220.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.56,-2680.8 25.03,-2670.81 21.56,-2680.82 28.56,-2680.8"/>
 </g>
-<!-- Node423 -->
-<g id="node273" class="node">
-<title>Node423</title>
-<g id="a_node273"><a xlink:href="classtvm_1_1arith_1_1IntConstraintsNode.html" target="_top" xlink:title="Represent integer constrains including (integer) variables, their ranges and the relations between th...">
-<polygon fill="white" stroke="black" points="103,-4096.5 103,-4115.5 267,-4115.5 267,-4096.5 103,-4096.5"/>
-<text text-anchor="middle" x="185" y="-4103.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntConstraintsNode</text>
+<!-- Node414 -->
+<g id="node264" class="node">
+<title>Node414</title>
+<g id="a_node264"><a xlink:href="classtvm_1_1TypeNode.html" target="_top" xlink:title="Type is the base type of all types.">
+<polygon fill="white" stroke="black" points="140,-4171.5 140,-4190.5 230,-4190.5 230,-4171.5 140,-4171.5"/>
+<text text-anchor="middle" x="185" y="-4178.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TypeNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node423 -->
-<g id="edge272" class="edge">
-<title>Node151&#45;&gt;Node423</title>
-<path fill="none" stroke="midnightblue" d="M25.12,-2682.02C26.26,-2850.81 35.93,-4031.32 84,-4087 89.2,-4093.02 95.66,-4097.51 102.77,-4100.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.62,-2681.8 25.06,-2671.83 21.62,-2681.85 28.62,-2681.8"/>
+<!-- Node151&#45;&gt;Node414 -->
+<g id="edge263" class="edge">
+<title>Node151&#45;&gt;Node414</title>
+<path fill="none" stroke="midnightblue" d="M25.08,-2680.74C25.87,-2853.51 33.3,-4103.15 84,-4162 97.55,-4177.73 119.73,-4183.02 139.76,-4184.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.58,-2680.55 25.04,-2670.57 21.58,-2680.58 28.58,-2680.55"/>
 </g>
 <!-- Node424 -->
 <g id="node274" class="node">
 <title>Node424</title>
-<g id="a_node274"><a xlink:href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html" target="_top" xlink:title="We can have different set of variables to represent the same constraints. For example,...">
-<polygon fill="white" stroke="black" points="115.5,-4047 115.5,-4077 254.5,-4077 254.5,-4047 115.5,-4047"/>
-<text text-anchor="start" x="123.5" y="-4065" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntConstraints</text>
-<text text-anchor="middle" x="185" y="-4054" font-family="Helvetica,sans-Serif" font-size="10.00">TransformNode</text>
+<g id="a_node274"><a xlink:href="classtvm_1_1arith_1_1ConstIntBoundNode.html" target="_top" xlink:title="Constant integer up and lower bound(inclusive). Useful for value bound analysis.">
+<polygon fill="white" stroke="black" points="101.5,-4133.5 101.5,-4152.5 268.5,-4152.5 268.5,-4133.5 101.5,-4133.5"/>
+<text text-anchor="middle" x="185" y="-4140.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::ConstIntBoundNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node424 -->
 <g id="edge273" class="edge">
 <title>Node151&#45;&gt;Node424</title>
-<path fill="none" stroke="midnightblue" d="M25.18,-2682.05C26.76,-2847.47 39.19,-3982.08 84,-4037 92.03,-4046.84 103.3,-4053.15 115.39,-4057.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.68,-2681.81 25.09,-2671.84 21.68,-2681.87 28.68,-2681.81"/>
+<path fill="none" stroke="midnightblue" d="M25.1,-2680.77C26.06,-2851.13 34.6,-4066.72 84,-4124 88.85,-4129.62 94.8,-4133.91 101.35,-4137.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.6,-2680.69 25.05,-2670.7 21.6,-2680.72 28.6,-2680.69"/>
 </g>
 <!-- Node425 -->
 <g id="node275" class="node">
 <title>Node425</title>
-<g id="a_node275"><a xlink:href="classtvm_1_1arith_1_1IntGroupBoundsNode.html" target="_top" xlink:title="Represent integer grouped bounds which are classified into lower bounds (inclusive),...">
-<polygon fill="white" stroke="black" points="98,-4008.5 98,-4027.5 272,-4027.5 272,-4008.5 98,-4008.5"/>
-<text text-anchor="middle" x="185" y="-4015.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntGroupBoundsNode</text>
+<g id="a_node275"><a xlink:href="classtvm_1_1arith_1_1IntConstraintsNode.html" target="_top" xlink:title="Represent integer constrains including (integer) variables, their ranges and the relations between th...">
+<polygon fill="white" stroke="black" points="103,-4095.5 103,-4114.5 267,-4114.5 267,-4095.5 103,-4095.5"/>
+<text text-anchor="middle" x="185" y="-4102.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntConstraintsNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node425 -->
 <g id="edge274" class="edge">
 <title>Node151&#45;&gt;Node425</title>
-<path fill="none" stroke="midnightblue" d="M25.18,-2682C26.74,-2844.75 38.93,-3946.95 84,-3999 87.93,-4003.54 92.58,-4007.21 97.7,-4010.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.68,-2681.55 25.08,-2671.58 21.68,-2681.61 28.68,-2681.55"/>
+<path fill="none" stroke="midnightblue" d="M25.12,-2681.02C26.26,-2849.81 35.93,-4030.32 84,-4086 89.2,-4092.02 95.66,-4096.51 102.77,-4099.82"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.62,-2680.8 25.06,-2670.83 21.62,-2680.85 28.62,-2680.8"/>
 </g>
 <!-- Node426 -->
 <g id="node276" class="node">
 <title>Node426</title>
-<g id="a_node276"><a xlink:href="classtvm_1_1arith_1_1IntSetNode.html" target="_top" xlink:title="Base class of all Integer set containers. represent a set of integers in one dimension.">
-<polygon fill="white" stroke="black" points="122.5,-3970.5 122.5,-3989.5 247.5,-3989.5 247.5,-3970.5 122.5,-3970.5"/>
-<text text-anchor="middle" x="185" y="-3977.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntSetNode</text>
+<g id="a_node276"><a xlink:href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html" target="_top" xlink:title="We can have different set of variables to represent the same constraints. For example,...">
+<polygon fill="white" stroke="black" points="115.5,-4046 115.5,-4076 254.5,-4076 254.5,-4046 115.5,-4046"/>
+<text text-anchor="start" x="123.5" y="-4064" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntConstraints</text>
+<text text-anchor="middle" x="185" y="-4053" font-family="Helvetica,sans-Serif" font-size="10.00">TransformNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node426 -->
 <g id="edge275" class="edge">
 <title>Node151&#45;&gt;Node426</title>
-<path fill="none" stroke="midnightblue" d="M25.21,-2681.92C26.95,-2841.76 40.23,-3910.5 84,-3961 93.72,-3972.22 107.83,-3978.12 122.4,-3980.98"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.7,-2681.63 25.1,-2671.66 21.7,-2681.7 28.7,-2681.63"/>
+<path fill="none" stroke="midnightblue" d="M25.18,-2681.05C26.76,-2846.47 39.19,-3981.08 84,-4036 92.03,-4045.84 103.3,-4052.15 115.39,-4056.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.68,-2680.81 25.09,-2670.84 21.68,-2680.87 28.68,-2680.81"/>
 </g>
 <!-- Node427 -->
 <g id="node277" class="node">
 <title>Node427</title>
-<g id="a_node277"><a xlink:href="classtvm_1_1arith_1_1IterMapResultNode.html" target="_top" xlink:title="Result of DetectIterMap.">
-<polygon fill="white" stroke="black" points="103,-3932.5 103,-3951.5 267,-3951.5 267,-3932.5 103,-3932.5"/>
-<text text-anchor="middle" x="185" y="-3939.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMapResultNode</text>
+<g id="a_node277"><a xlink:href="classtvm_1_1arith_1_1IntGroupBoundsNode.html" target="_top" xlink:title="Represent integer grouped bounds which are classified into lower bounds (inclusive),...">
+<polygon fill="white" stroke="black" points="98,-4007.5 98,-4026.5 272,-4026.5 272,-4007.5 98,-4007.5"/>
+<text text-anchor="middle" x="185" y="-4014.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntGroupBoundsNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node427 -->
 <g id="edge276" class="edge">
 <title>Node151&#45;&gt;Node427</title>
-<path fill="none" stroke="midnightblue" d="M25.23,-2681.82C27.17,-2838.64 41.51,-3874.06 84,-3923 89.21,-3929.01 95.68,-3933.49 102.81,-3936.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.73,-2681.69 25.11,-2671.73 21.73,-2681.77 28.73,-2681.69"/>
+<path fill="none" stroke="midnightblue" d="M25.18,-2681C26.74,-2843.75 38.93,-3945.95 84,-3998 87.93,-4002.54 92.58,-4006.21 97.7,-4009.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.68,-2680.55 25.08,-2670.58 21.68,-2680.61 28.68,-2680.55"/>
 </g>
 <!-- Node428 -->
 <g id="node278" class="node">
 <title>Node428</title>
-<g id="a_node278"><a xlink:href="classtvm_1_1arith_1_1IterMarkNode.html" target="_top" xlink:title="Mark the source as an iterator in [0, extent).">
-<polygon fill="white" stroke="black" points="116.5,-3894.5 116.5,-3913.5 253.5,-3913.5 253.5,-3894.5 116.5,-3894.5"/>
-<text text-anchor="middle" x="185" y="-3901.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMarkNode</text>
+<g id="a_node278"><a xlink:href="classtvm_1_1arith_1_1IntSetNode.html" target="_top" xlink:title="Base class of all Integer set containers. represent a set of integers in one dimension.">
+<polygon fill="white" stroke="black" points="122.5,-3969.5 122.5,-3988.5 247.5,-3988.5 247.5,-3969.5 122.5,-3969.5"/>
+<text text-anchor="middle" x="185" y="-3976.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntSetNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node428 -->
 <g id="edge277" class="edge">
 <title>Node151&#45;&gt;Node428</title>
-<path fill="none" stroke="midnightblue" d="M25.27,-2682.16C27.42,-2837.39 42.84,-3837.65 84,-3885 92.41,-3894.67 104.07,-3900.39 116.47,-3903.61"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.76,-2681.74 25.13,-2671.79 21.76,-2681.83 28.76,-2681.74"/>
+<path fill="none" stroke="midnightblue" d="M25.21,-2680.92C26.95,-2840.76 40.23,-3909.5 84,-3960 93.72,-3971.22 107.83,-3977.12 122.4,-3979.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.7,-2680.63 25.1,-2670.66 21.7,-2680.7 28.7,-2680.63"/>
 </g>
 <!-- Node429 -->
 <g id="node279" class="node">
 <title>Node429</title>
-<g id="a_node279"><a xlink:href="classtvm_1_1arith_1_1ModularSetNode.html" target="_top" xlink:title="Range of a linear integer function. Use to do specify the possible index values.">
-<polygon fill="white" stroke="black" points="109,-3856.5 109,-3875.5 261,-3875.5 261,-3856.5 109,-3856.5"/>
-<text text-anchor="middle" x="185" y="-3863.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::ModularSetNode</text>
+<g id="a_node279"><a xlink:href="classtvm_1_1arith_1_1IterMapResultNode.html" target="_top" xlink:title="Result of DetectIterMap.">
+<polygon fill="white" stroke="black" points="103,-3931.5 103,-3950.5 267,-3950.5 267,-3931.5 103,-3931.5"/>
+<text text-anchor="middle" x="185" y="-3938.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMapResultNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node429 -->
 <g id="edge278" class="edge">
 <title>Node151&#45;&gt;Node429</title>
-<path fill="none" stroke="midnightblue" d="M25.3,-2682.01C27.64,-2833.95 44.12,-3801.2 84,-3847 90.61,-3854.6 99.24,-3859.75 108.66,-3863.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.79,-2681.77 25.14,-2671.82 21.8,-2681.87 28.79,-2681.77"/>
+<path fill="none" stroke="midnightblue" d="M25.23,-2680.82C27.17,-2837.64 41.51,-3873.06 84,-3922 89.21,-3928.01 95.68,-3932.49 102.81,-3935.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.73,-2680.69 25.11,-2670.73 21.73,-2680.77 28.73,-2680.69"/>
 </g>
 <!-- Node430 -->
 <g id="node280" class="node">
 <title>Node430</title>
-<g id="a_node280"><a xlink:href="classtvm_1_1instrument_1_1PassInstrumentNode.html" target="_top" xlink:title="PassInstrumentNode forms an instrument implementation. It provides API for users to register callback...">
-<polygon fill="white" stroke="black" points="84,-3818.5 84,-3837.5 286,-3837.5 286,-3818.5 84,-3818.5"/>
-<text text-anchor="middle" x="185" y="-3825.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::instrument::PassInstrumentNode</text>
+<g id="a_node280"><a xlink:href="classtvm_1_1arith_1_1IterMarkNode.html" target="_top" xlink:title="Mark the source as an iterator in [0, extent).">
+<polygon fill="white" stroke="black" points="116.5,-3893.5 116.5,-3912.5 253.5,-3912.5 253.5,-3893.5 116.5,-3893.5"/>
+<text text-anchor="middle" x="185" y="-3900.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMarkNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node430 -->
 <g id="edge279" class="edge">
 <title>Node151&#45;&gt;Node430</title>
-<path fill="none" stroke="midnightblue" d="M25.33,-2681.81C27.87,-2830.31 45.4,-3764.74 84,-3809 87.14,-3812.6 90.72,-3815.64 94.63,-3818.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.82,-2681.45 25.15,-2671.51 21.82,-2681.57 28.82,-2681.45"/>
+<path fill="none" stroke="midnightblue" d="M25.27,-2681.16C27.42,-2836.39 42.84,-3836.65 84,-3884 92.41,-3893.67 104.07,-3899.39 116.47,-3902.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.76,-2680.74 25.13,-2670.79 21.76,-2680.83 28.76,-2680.74"/>
 </g>
 <!-- Node431 -->
 <g id="node281" class="node">
 <title>Node431</title>
-<g id="a_node281"><a xlink:href="classtvm_1_1relax_1_1BindingBlockNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="104,-3780.5 104,-3799.5 266,-3799.5 266,-3780.5 104,-3780.5"/>
-<text text-anchor="middle" x="185" y="-3787.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BindingBlockNode</text>
+<g id="a_node281"><a xlink:href="classtvm_1_1arith_1_1ModularSetNode.html" target="_top" xlink:title="Range of a linear integer function. Use to do specify the possible index values.">
+<polygon fill="white" stroke="black" points="109,-3855.5 109,-3874.5 261,-3874.5 261,-3855.5 109,-3855.5"/>
+<text text-anchor="middle" x="185" y="-3862.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::ModularSetNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node431 -->
 <g id="edge280" class="edge">
 <title>Node151&#45;&gt;Node431</title>
-<path fill="none" stroke="midnightblue" d="M25.36,-2681.6C28.11,-2826.61 46.68,-3728.28 84,-3771 89.46,-3777.25 96.29,-3781.85 103.8,-3785.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.86,-2681.45 25.17,-2671.52 21.86,-2681.58 28.86,-2681.45"/>
+<path fill="none" stroke="midnightblue" d="M25.3,-2681.01C27.64,-2832.95 44.12,-3800.2 84,-3846 90.61,-3853.6 99.24,-3858.75 108.66,-3862.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.79,-2680.77 25.14,-2670.82 21.8,-2680.87 28.79,-2680.77"/>
+</g>
+<!-- Node432 -->
+<g id="node282" class="node">
+<title>Node432</title>
+<g id="a_node282"><a xlink:href="classtvm_1_1instrument_1_1PassInstrumentNode.html" target="_top" xlink:title="PassInstrumentNode forms an instrument implementation. It provides API for users to register callback...">
+<polygon fill="white" stroke="black" points="84,-3817.5 84,-3836.5 286,-3836.5 286,-3817.5 84,-3817.5"/>
+<text text-anchor="middle" x="185" y="-3824.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::instrument::PassInstrumentNode</text>
+</a>
+</g>
+</g>
+<!-- Node151&#45;&gt;Node432 -->
+<g id="edge281" class="edge">
+<title>Node151&#45;&gt;Node432</title>
+<path fill="none" stroke="midnightblue" d="M25.33,-2680.81C27.87,-2829.31 45.4,-3763.74 84,-3808 87.14,-3811.6 90.72,-3814.64 94.63,-3817.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.82,-2680.45 25.15,-2670.51 21.82,-2680.57 28.82,-2680.45"/>
 </g>
 <!-- Node433 -->
 <g id="node283" class="node">
 <title>Node433</title>
-<g id="a_node283"><a xlink:href="classtvm_1_1relax_1_1BindingNode.html" target="_top" xlink:title="The base class of a variable binding in Relax.">
-<polygon fill="white" stroke="black" points="117.5,-3742.5 117.5,-3761.5 252.5,-3761.5 252.5,-3742.5 117.5,-3742.5"/>
-<text text-anchor="middle" x="185" y="-3749.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BindingNode</text>
+<g id="a_node283"><a xlink:href="classtvm_1_1relax_1_1BindingBlockNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="104,-3779.5 104,-3798.5 266,-3798.5 266,-3779.5 104,-3779.5"/>
+<text text-anchor="middle" x="185" y="-3786.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BindingBlockNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node433 -->
 <g id="edge282" class="edge">
 <title>Node151&#45;&gt;Node433</title>
-<path fill="none" stroke="midnightblue" d="M25.4,-2681.8C28.39,-2824.52 47.99,-3691.86 84,-3733 92.61,-3742.84 104.6,-3748.58 117.3,-3751.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.9,-2681.44 25.19,-2671.51 21.9,-2681.58 28.9,-2681.44"/>
+<path fill="none" stroke="midnightblue" d="M25.36,-2680.6C28.11,-2825.61 46.68,-3727.28 84,-3770 89.46,-3776.25 96.29,-3780.85 103.8,-3784.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.86,-2680.45 25.17,-2670.52 21.86,-2680.58 28.86,-2680.45"/>
 </g>
-<!-- Node436 -->
-<g id="node286" class="node">
-<title>Node436</title>
-<g id="a_node286"><a xlink:href="classtvm_1_1relax_1_1BlockBuilderNode.html" target="_top" xlink:title="A builder to build Relax binding blocks.">
-<polygon fill="white" stroke="black" points="105,-3704.5 105,-3723.5 265,-3723.5 265,-3704.5 105,-3704.5"/>
-<text text-anchor="middle" x="185" y="-3711.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BlockBuilderNode</text>
+<!-- Node435 -->
+<g id="node285" class="node">
+<title>Node435</title>
+<g id="a_node285"><a xlink:href="classtvm_1_1relax_1_1BindingNode.html" target="_top" xlink:title="The base class of a variable binding in Relax.">
+<polygon fill="white" stroke="black" points="117.5,-3741.5 117.5,-3760.5 252.5,-3760.5 252.5,-3741.5 117.5,-3741.5"/>
+<text text-anchor="middle" x="185" y="-3748.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BindingNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node436 -->
-<g id="edge285" class="edge">
-<title>Node151&#45;&gt;Node436</title>
-<path fill="none" stroke="midnightblue" d="M25.45,-2681.96C28.68,-2822.22 49.29,-3655.43 84,-3695 89.71,-3701.51 96.9,-3706.22 104.79,-3709.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.94,-2681.72 25.22,-2671.8 21.95,-2681.88 28.94,-2681.72"/>
+<!-- Node151&#45;&gt;Node435 -->
+<g id="edge284" class="edge">
+<title>Node151&#45;&gt;Node435</title>
+<path fill="none" stroke="midnightblue" d="M25.4,-2680.8C28.39,-2823.52 47.99,-3690.86 84,-3732 92.61,-3741.84 104.6,-3747.58 117.3,-3750.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.9,-2680.44 25.19,-2670.51 21.9,-2680.58 28.9,-2680.44"/>
 </g>
-<!-- Node437 -->
-<g id="node287" class="node">
-<title>Node437</title>
-<g id="a_node287"><a xlink:href="classtvm_1_1relax_1_1DFConstraintNode.html" target="_top" xlink:title="Additional constraints on the graph.">
-<polygon fill="white" stroke="black" points="104,-3666.5 104,-3685.5 266,-3685.5 266,-3666.5 104,-3666.5"/>
-<text text-anchor="middle" x="185" y="-3673.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DFConstraintNode</text>
+<!-- Node438 -->
+<g id="node288" class="node">
+<title>Node438</title>
+<g id="a_node288"><a xlink:href="classtvm_1_1relax_1_1BlockBuilderNode.html" target="_top" xlink:title="A builder to build Relax binding blocks.">
+<polygon fill="white" stroke="black" points="105,-3703.5 105,-3722.5 265,-3722.5 265,-3703.5 105,-3703.5"/>
+<text text-anchor="middle" x="185" y="-3710.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BlockBuilderNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node437 -->
-<g id="edge286" class="edge">
-<title>Node151&#45;&gt;Node437</title>
-<path fill="none" stroke="midnightblue" d="M25.49,-2682.06C28.97,-2819.6 50.59,-3619 84,-3657 89.48,-3663.24 96.32,-3667.83 103.84,-3671.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.99,-2681.66 25.24,-2671.76 21.99,-2681.84 28.99,-2681.66"/>
+<!-- Node151&#45;&gt;Node438 -->
+<g id="edge287" class="edge">
+<title>Node151&#45;&gt;Node438</title>
+<path fill="none" stroke="midnightblue" d="M25.45,-2680.96C28.68,-2821.22 49.29,-3654.43 84,-3694 89.71,-3700.51 96.9,-3705.22 104.79,-3708.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.94,-2680.72 25.22,-2670.8 21.95,-2680.88 28.94,-2680.72"/>
 </g>
 <!-- Node439 -->
 <g id="node289" class="node">
 <title>Node439</title>
-<g id="a_node289"><a xlink:href="classtvm_1_1relax_1_1DFPatternNode.html" target="_top" xlink:title="Base type of all dataflow patterns.">
-<polygon fill="white" stroke="black" points="112,-3628.5 112,-3647.5 258,-3647.5 258,-3628.5 112,-3628.5"/>
-<text text-anchor="middle" x="185" y="-3635.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DFPatternNode</text>
+<g id="a_node289"><a xlink:href="classtvm_1_1relax_1_1DFConstraintNode.html" target="_top" xlink:title="Additional constraints on the graph.">
+<polygon fill="white" stroke="black" points="104,-3665.5 104,-3684.5 266,-3684.5 266,-3665.5 104,-3665.5"/>
+<text text-anchor="middle" x="185" y="-3672.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DFConstraintNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node439 -->
 <g id="edge288" class="edge">
 <title>Node151&#45;&gt;Node439</title>
-<path fill="none" stroke="midnightblue" d="M24.79,-2681.67C23.61,-2811.83 19.84,-3546.18 84,-3619 91.42,-3627.42 101.31,-3632.83 111.99,-3636.21"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.29,-2681.6 24.89,-2671.57 21.3,-2681.54 28.29,-2681.6"/>
+<path fill="none" stroke="midnightblue" d="M25.49,-2681.06C28.97,-2818.6 50.59,-3618 84,-3656 89.48,-3662.24 96.32,-3666.83 103.84,-3670.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.99,-2680.66 25.24,-2670.76 21.99,-2680.84 28.99,-2680.66"/>
 </g>
-<!-- Node460 -->
-<g id="node310" class="node">
-<title>Node460</title>
-<g id="a_node310"><a xlink:href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html" target="_top" xlink:title="Statement rewriter for relax.DataflowBlock.">
-<polygon fill="white" stroke="black" points="113.5,-3579 113.5,-3609 256.5,-3609 256.5,-3579 113.5,-3579"/>
-<text text-anchor="start" x="121.5" y="-3597" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataflowBlock</text>
-<text text-anchor="middle" x="185" y="-3586" font-family="Helvetica,sans-Serif" font-size="10.00">RewriteNode</text>
-</a>
-</g>
-</g>
-<!-- Node151&#45;&gt;Node460 -->
-<g id="edge309" class="edge">
-<title>Node151&#45;&gt;Node460</title>
-<path fill="none" stroke="midnightblue" d="M24.91,-2681.76C24.55,-2808 25.24,-3498.58 84,-3569 91.62,-3578.14 102.04,-3584.21 113.27,-3588.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.42,-2681.63 24.95,-2671.62 21.42,-2681.61 28.42,-2681.63"/>
-</g>
-<!-- Node461 -->
-<g id="node311" class="node">
-<title>Node461</title>
-<g id="a_node311"><a xlink:href="classtvm_1_1relax_1_1ExecBuilderNode.html" target="_top" xlink:title="A builder provides api to build VM executable with instructions.">
-<polygon fill="white" stroke="black" points="107.5,-3540.5 107.5,-3559.5 262.5,-3559.5 262.5,-3540.5 107.5,-3540.5"/>
-<text text-anchor="middle" x="185" y="-3547.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExecBuilderNode</text>
+<!-- Node441 -->
+<g id="node291" class="node">
+<title>Node441</title>
+<g id="a_node291"><a xlink:href="classtvm_1_1relax_1_1DFPatternNode.html" target="_top" xlink:title="Base type of all dataflow patterns.">
+<polygon fill="white" stroke="black" points="112,-3627.5 112,-3646.5 258,-3646.5 258,-3627.5 112,-3627.5"/>
+<text text-anchor="middle" x="185" y="-3634.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DFPatternNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node461 -->
-<g id="edge310" class="edge">
-<title>Node151&#45;&gt;Node461</title>
-<path fill="none" stroke="midnightblue" d="M24.92,-2681.73C24.63,-2804.91 25.81,-3465.37 84,-3531 90.33,-3538.14 98.44,-3543.11 107.3,-3546.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.42,-2681.53 24.96,-2671.52 21.42,-2681.51 28.42,-2681.53"/>
+<!-- Node151&#45;&gt;Node441 -->
+<g id="edge290" class="edge">
+<title>Node151&#45;&gt;Node441</title>
+<path fill="none" stroke="midnightblue" d="M24.79,-2680.67C23.61,-2810.83 19.84,-3545.18 84,-3618 91.42,-3626.42 101.31,-3631.83 111.99,-3635.21"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.29,-2680.6 24.89,-2670.57 21.3,-2680.54 28.29,-2680.6"/>
 </g>
 <!-- Node462 -->
 <g id="node312" class="node">
 <title>Node462</title>
-<g id="a_node312"><a xlink:href="classtvm_1_1relax_1_1IdNode.html" target="_top" xlink:title="The unique identifier of variables.">
-<polygon fill="white" stroke="black" points="131.5,-3502.5 131.5,-3521.5 238.5,-3521.5 238.5,-3502.5 131.5,-3502.5"/>
-<text text-anchor="middle" x="185" y="-3509.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::IdNode</text>
+<g id="a_node312"><a xlink:href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html" target="_top" xlink:title="Statement rewriter for relax.DataflowBlock.">
+<polygon fill="white" stroke="black" points="113.5,-3578 113.5,-3608 256.5,-3608 256.5,-3578 113.5,-3578"/>
+<text text-anchor="start" x="121.5" y="-3596" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataflowBlock</text>
+<text text-anchor="middle" x="185" y="-3585" font-family="Helvetica,sans-Serif" font-size="10.00">RewriteNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node462 -->
 <g id="edge311" class="edge">
 <title>Node151&#45;&gt;Node462</title>
-<path fill="none" stroke="midnightblue" d="M24.99,-2681.97C25.11,-2802.57 28.42,-3430.51 84,-3493 95.86,-3506.34 113.93,-3512.11 131.46,-3514.21"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.49,-2681.65 24.99,-2671.65 21.49,-2681.65 28.49,-2681.65"/>
+<path fill="none" stroke="midnightblue" d="M24.91,-2680.76C24.55,-2807 25.24,-3497.58 84,-3568 91.62,-3577.14 102.04,-3583.21 113.27,-3587.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.42,-2680.63 24.95,-2670.62 21.42,-2680.61 28.42,-2680.63"/>
 </g>
 <!-- Node463 -->
 <g id="node313" class="node">
 <title>Node463</title>
-<g id="a_node313"><a xlink:href="classtvm_1_1relax_1_1MatchResultNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="105.5,-3464.5 105.5,-3483.5 264.5,-3483.5 264.5,-3464.5 105.5,-3464.5"/>
-<text text-anchor="middle" x="185" y="-3471.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatchResultNode</text>
+<g id="a_node313"><a xlink:href="classtvm_1_1relax_1_1ExecBuilderNode.html" target="_top" xlink:title="A builder provides api to build VM executable with instructions.">
+<polygon fill="white" stroke="black" points="107.5,-3539.5 107.5,-3558.5 262.5,-3558.5 262.5,-3539.5 107.5,-3539.5"/>
+<text text-anchor="middle" x="185" y="-3546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExecBuilderNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node463 -->
 <g id="edge312" class="edge">
 <title>Node151&#45;&gt;Node463</title>
-<path fill="none" stroke="midnightblue" d="M25.06,-2681.79C25.6,-2798.67 30.96,-3395.57 84,-3455 89.88,-3461.59 97.28,-3466.33 105.38,-3469.7"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.56,-2681.74 25.02,-2671.75 21.56,-2681.76 28.56,-2681.74"/>
+<path fill="none" stroke="midnightblue" d="M24.92,-2680.73C24.63,-2803.91 25.81,-3464.37 84,-3530 90.33,-3537.14 98.44,-3542.11 107.3,-3545.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.42,-2680.53 24.96,-2670.52 21.42,-2680.51 28.42,-2680.53"/>
 </g>
 <!-- Node464 -->
 <g id="node314" class="node">
 <title>Node464</title>
-<g id="a_node314"><a xlink:href="classtvm_1_1relax_1_1PatternContextNode.html" target="_top" xlink:title="A context to manage the graph&#45;level pattern matching.">
-<polygon fill="white" stroke="black" points="99.5,-3426.5 99.5,-3445.5 270.5,-3445.5 270.5,-3426.5 99.5,-3426.5"/>
-<text text-anchor="middle" x="185" y="-3433.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternContextNode</text>
+<g id="a_node314"><a xlink:href="classtvm_1_1relax_1_1IdNode.html" target="_top" xlink:title="The unique identifier of variables.">
+<polygon fill="white" stroke="black" points="131.5,-3501.5 131.5,-3520.5 238.5,-3520.5 238.5,-3501.5 131.5,-3501.5"/>
+<text text-anchor="middle" x="185" y="-3508.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::IdNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node464 -->
 <g id="edge313" class="edge">
 <title>Node151&#45;&gt;Node464</title>
-<path fill="none" stroke="midnightblue" d="M25.14,-2681.88C26.12,-2795.61 33.53,-3360.67 84,-3417 88.36,-3421.87 93.55,-3425.73 99.24,-3428.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.64,-2681.52 25.06,-2671.54 21.64,-2681.57 28.64,-2681.52"/>
+<path fill="none" stroke="midnightblue" d="M24.99,-2680.97C25.11,-2801.57 28.42,-3429.51 84,-3492 95.86,-3505.34 113.93,-3511.11 131.46,-3513.21"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.49,-2680.65 24.99,-2670.65 21.49,-2680.65 28.49,-2680.65"/>
 </g>
 <!-- Node465 -->
 <g id="node315" class="node">
 <title>Node465</title>
-<g id="a_node315"><a xlink:href="classtvm_1_1relax_1_1PatternSeqNode.html" target="_top" xlink:title="A sequence of DFPatterns that the previous DFPattern is connected to the next one.">
-<polygon fill="white" stroke="black" points="109.5,-3388.5 109.5,-3407.5 260.5,-3407.5 260.5,-3388.5 109.5,-3388.5"/>
-<text text-anchor="middle" x="185" y="-3395.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternSeqNode</text>
+<g id="a_node315"><a xlink:href="classtvm_1_1relax_1_1MatchResultNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="105.5,-3463.5 105.5,-3482.5 264.5,-3482.5 264.5,-3463.5 105.5,-3463.5"/>
+<text text-anchor="middle" x="185" y="-3470.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatchResultNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node465 -->
 <g id="edge314" class="edge">
 <title>Node151&#45;&gt;Node465</title>
-<path fill="none" stroke="midnightblue" d="M25.23,-2681.9C26.67,-2792.23 36.1,-3325.75 84,-3379 90.85,-3386.62 99.74,-3391.76 109.37,-3395.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.72,-2681.53 25.1,-2671.57 21.72,-2681.61 28.72,-2681.53"/>
+<path fill="none" stroke="midnightblue" d="M25.06,-2680.79C25.6,-2797.67 30.96,-3394.57 84,-3454 89.88,-3460.59 97.28,-3465.33 105.38,-3468.7"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.56,-2680.74 25.02,-2670.75 21.56,-2680.76 28.56,-2680.74"/>
 </g>
 <!-- Node466 -->
 <g id="node316" class="node">
 <title>Node466</title>
-<g id="a_node316"><a xlink:href="classtvm_1_1relax_1_1StructInfoNode.html" target="_top" xlink:title="Base type of all structure information.">
-<polygon fill="white" stroke="black" points="112,-3350.5 112,-3369.5 258,-3369.5 258,-3350.5 112,-3350.5"/>
-<text text-anchor="middle" x="185" y="-3357.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StructInfoNode</text>
+<g id="a_node316"><a xlink:href="classtvm_1_1relax_1_1PatternContextNode.html" target="_top" xlink:title="A context to manage the graph&#45;level pattern matching.">
+<polygon fill="white" stroke="black" points="99.5,-3425.5 99.5,-3444.5 270.5,-3444.5 270.5,-3425.5 99.5,-3425.5"/>
+<text text-anchor="middle" x="185" y="-3432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternContextNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node466 -->
 <g id="edge315" class="edge">
 <title>Node151&#45;&gt;Node466</title>
-<path fill="none" stroke="midnightblue" d="M25.32,-2681.85C27.24,-2788.53 38.65,-3290.81 84,-3341 91.46,-3349.26 101.31,-3354.61 111.92,-3357.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.82,-2681.74 25.15,-2671.81 21.82,-2681.86 28.82,-2681.74"/>
+<path fill="none" stroke="midnightblue" d="M25.14,-2680.88C26.12,-2794.61 33.53,-3359.67 84,-3416 88.36,-3420.87 93.55,-3424.73 99.24,-3427.77"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.64,-2680.52 25.06,-2670.54 21.64,-2680.57 28.64,-2680.52"/>
 </g>
-<!-- Node474 -->
-<g id="node324" class="node">
-<title>Node474</title>
-<g id="a_node324"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1PlacementNode.html" target="_top" xlink:title="Describes how data is distributed in each dimension of the device mesh.">
-<polygon fill="white" stroke="black" points="122.5,-3301 122.5,-3331 247.5,-3331 247.5,-3301 122.5,-3301"/>
-<text text-anchor="start" x="130.5" y="-3319" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
-<text text-anchor="middle" x="185" y="-3308" font-family="Helvetica,sans-Serif" font-size="10.00">::PlacementNode</text>
+<!-- Node467 -->
+<g id="node317" class="node">
+<title>Node467</title>
+<g id="a_node317"><a xlink:href="classtvm_1_1relax_1_1PatternSeqNode.html" target="_top" xlink:title="A sequence of DFPatterns that the previous DFPattern is connected to the next one.">
+<polygon fill="white" stroke="black" points="109.5,-3387.5 109.5,-3406.5 260.5,-3406.5 260.5,-3387.5 109.5,-3387.5"/>
+<text text-anchor="middle" x="185" y="-3394.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternSeqNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node474 -->
-<g id="edge323" class="edge">
-<title>Node151&#45;&gt;Node474</title>
-<path fill="none" stroke="midnightblue" d="M25.5,-2681.63C28.26,-2783.05 43.03,-3244.75 84,-3292 93.77,-3303.26 107.8,-3309.73 122.28,-3313.34"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="29,-2681.46 25.23,-2671.56 22,-2681.64 29,-2681.46"/>
+<!-- Node151&#45;&gt;Node467 -->
+<g id="edge316" class="edge">
+<title>Node151&#45;&gt;Node467</title>
+<path fill="none" stroke="midnightblue" d="M25.23,-2680.9C26.67,-2791.23 36.1,-3324.75 84,-3378 90.85,-3385.62 99.74,-3390.76 109.37,-3394.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.72,-2680.53 25.1,-2670.57 21.72,-2680.61 28.72,-2680.53"/>
 </g>
-<!-- Node475 -->
-<g id="node325" class="node">
-<title>Node475</title>
-<g id="a_node325"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html" target="_top" xlink:title="Describes how data is distributed in one dimension of the device mesh.">
-<polygon fill="white" stroke="black" points="122.5,-3252 122.5,-3282 247.5,-3282 247.5,-3252 122.5,-3252"/>
-<text text-anchor="start" x="130.5" y="-3270" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
-<text text-anchor="middle" x="185" y="-3259" font-family="Helvetica,sans-Serif" font-size="10.00">::PlacementSpecNode</text>
+<!-- Node468 -->
+<g id="node318" class="node">
+<title>Node468</title>
+<g id="a_node318"><a xlink:href="classtvm_1_1relax_1_1StructInfoNode.html" target="_top" xlink:title="Base type of all structure information.">
+<polygon fill="white" stroke="black" points="112,-3349.5 112,-3368.5 258,-3368.5 258,-3349.5 112,-3349.5"/>
+<text text-anchor="middle" x="185" y="-3356.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StructInfoNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node475 -->
-<g id="edge324" class="edge">
-<title>Node151&#45;&gt;Node475</title>
-<path fill="none" stroke="midnightblue" d="M25.67,-2681.9C29.14,-2778.97 46.25,-3199.81 84,-3243 93.81,-3254.23 107.86,-3260.68 122.34,-3264.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="29.17,-2681.59 25.32,-2671.72 22.17,-2681.83 29.17,-2681.59"/>
+<!-- Node151&#45;&gt;Node468 -->
+<g id="edge317" class="edge">
+<title>Node151&#45;&gt;Node468</title>
+<path fill="none" stroke="midnightblue" d="M25.32,-2680.85C27.24,-2787.53 38.65,-3289.81 84,-3340 91.46,-3348.26 101.31,-3353.61 111.92,-3356.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.82,-2680.74 25.15,-2670.81 21.82,-2680.86 28.82,-2680.74"/>
+</g>
+<!-- Node476 -->
+<g id="node326" class="node">
+<title>Node476</title>
+<g id="a_node326"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1PlacementNode.html" target="_top" xlink:title="Describes how data is distributed in each dimension of the device mesh.">
+<polygon fill="white" stroke="black" points="122.5,-3300 122.5,-3330 247.5,-3330 247.5,-3300 122.5,-3300"/>
+<text text-anchor="start" x="130.5" y="-3318" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
+<text text-anchor="middle" x="185" y="-3307" font-family="Helvetica,sans-Serif" font-size="10.00">::PlacementNode</text>
+</a>
+</g>
+</g>
+<!-- Node151&#45;&gt;Node476 -->
+<g id="edge325" class="edge">
+<title>Node151&#45;&gt;Node476</title>
+<path fill="none" stroke="midnightblue" d="M25.5,-2680.63C28.26,-2782.05 43.03,-3243.75 84,-3291 93.77,-3302.26 107.8,-3308.73 122.28,-3312.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="29,-2680.46 25.23,-2670.56 22,-2680.64 29,-2680.46"/>
 </g>
 <!-- Node477 -->
 <g id="node327" class="node">
 <title>Node477</title>
-<g id="a_node327"><a xlink:href="classtvm_1_1relax_1_1transform_1_1FusionPatternNode.html" target="_top" xlink:title="The pattern object used as the input of FuseOpsByPattern. For bindings to be fused,...">
-<polygon fill="white" stroke="black" points="124.5,-3203 124.5,-3233 245.5,-3233 245.5,-3203 124.5,-3203"/>
-<text text-anchor="start" x="132.5" y="-3221" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::transform</text>
-<text text-anchor="middle" x="185" y="-3210" font-family="Helvetica,sans-Serif" font-size="10.00">::FusionPatternNode</text>
+<g id="a_node327"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html" target="_top" xlink:title="Describes how data is distributed in one dimension of the device mesh.">
+<polygon fill="white" stroke="black" points="122.5,-3251 122.5,-3281 247.5,-3281 247.5,-3251 122.5,-3251"/>
+<text text-anchor="start" x="130.5" y="-3269" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
+<text text-anchor="middle" x="185" y="-3258" font-family="Helvetica,sans-Serif" font-size="10.00">::PlacementSpecNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node477 -->
 <g id="edge326" class="edge">
 <title>Node151&#45;&gt;Node477</title>
-<path fill="none" stroke="midnightblue" d="M25.87,-2681.93C30.07,-2773.95 49.44,-3154.82 84,-3194 94.33,-3205.72 109.29,-3212.23 124.49,-3215.72"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="29.36,-2681.6 25.42,-2671.76 22.37,-2681.91 29.36,-2681.6"/>
-</g>
-<!-- Node478 -->
-<g id="node328" class="node">
-<title>Node478</title>
-<g id="a_node328"><a xlink:href="classtvm_1_1relax_1_1transform_1_1PatternCheckContextNode.html" target="_top" xlink:title="The input of FusionPattern::check.">
-<polygon fill="white" stroke="black" points="109.5,-3154 109.5,-3184 260.5,-3184 260.5,-3154 109.5,-3154"/>
-<text text-anchor="start" x="117.5" y="-3172" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::transform</text>
-<text text-anchor="middle" x="185" y="-3161" font-family="Helvetica,sans-Serif" font-size="10.00">::PatternCheckContextNode</text>
-</a>
-</g>
-</g>
-<!-- Node151&#45;&gt;Node478 -->
-<g id="edge327" class="edge">
-<title>Node151&#45;&gt;Node478</title>
-<path fill="none" stroke="midnightblue" d="M24.56,-2681.98C23.17,-2764.02 22.14,-3074.01 84,-3144 90.87,-3151.78 99.77,-3157.31 109.41,-3161.23"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.07,-2681.65 24.76,-2671.58 21.07,-2681.51 28.07,-2681.65"/>
+<path fill="none" stroke="midnightblue" d="M25.67,-2680.9C29.14,-2777.97 46.25,-3198.81 84,-3242 93.81,-3253.23 107.86,-3259.68 122.34,-3263.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="29.17,-2680.59 25.32,-2670.72 22.17,-2680.83 29.17,-2680.59"/>
 </g>
 <!-- Node479 -->
 <g id="node329" class="node">
 <title>Node479</title>
-<g id="a_node329"><a xlink:href="classtvm_1_1runtime_1_1DRefObj.html" target="_top" xlink:title="An object that exists on all workers.">
-<polygon fill="white" stroke="black" points="121.5,-3115.5 121.5,-3134.5 248.5,-3134.5 248.5,-3115.5 121.5,-3115.5"/>
-<text text-anchor="middle" x="185" y="-3122.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::DRefObj</text>
+<g id="a_node329"><a xlink:href="classtvm_1_1relax_1_1transform_1_1FusionPatternNode.html" target="_top" xlink:title="The pattern object used as the input of FuseOpsByPattern. For bindings to be fused,...">
+<polygon fill="white" stroke="black" points="124.5,-3202 124.5,-3232 245.5,-3232 245.5,-3202 124.5,-3202"/>
+<text text-anchor="start" x="132.5" y="-3220" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::transform</text>
+<text text-anchor="middle" x="185" y="-3209" font-family="Helvetica,sans-Serif" font-size="10.00">::FusionPatternNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node479 -->
 <g id="edge328" class="edge">
 <title>Node151&#45;&gt;Node479</title>
-<path fill="none" stroke="midnightblue" d="M24.69,-2681.98C23.89,-2760.11 25.17,-3043.8 84,-3106 93.84,-3116.4 107.46,-3122.12 121.49,-3125.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.19,-2681.67 24.82,-2671.62 21.19,-2681.58 28.19,-2681.67"/>
+<path fill="none" stroke="midnightblue" d="M25.87,-2680.93C30.07,-2772.95 49.44,-3153.82 84,-3193 94.33,-3204.72 109.29,-3211.23 124.49,-3214.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="29.36,-2680.6 25.42,-2670.76 22.37,-2680.91 29.36,-2680.6"/>
 </g>
 <!-- Node480 -->
 <g id="node330" class="node">
 <title>Node480</title>
-<g id="a_node330"><a xlink:href="classtvm_1_1runtime_1_1SessionObj.html" target="_top" xlink:title="A Disco interactive session. It allows users to interact with the Disco command queue with various ff...">
-<polygon fill="white" stroke="black" points="115,-3077.5 115,-3096.5 255,-3096.5 255,-3077.5 115,-3077.5"/>
-<text text-anchor="middle" x="185" y="-3084.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::SessionObj</text>
+<g id="a_node330"><a xlink:href="classtvm_1_1relax_1_1transform_1_1PatternCheckContextNode.html" target="_top" xlink:title="The input of FusionPattern::check.">
+<polygon fill="white" stroke="black" points="109.5,-3153 109.5,-3183 260.5,-3183 260.5,-3153 109.5,-3153"/>
+<text text-anchor="start" x="117.5" y="-3171" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::transform</text>
+<text text-anchor="middle" x="185" y="-3160" font-family="Helvetica,sans-Serif" font-size="10.00">::PatternCheckContextNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node480 -->
 <g id="edge329" class="edge">
 <title>Node151&#45;&gt;Node480</title>
-<path fill="none" stroke="midnightblue" d="M24.96,-2681.67C25.24,-2755.08 30.11,-3011.72 84,-3068 92.31,-3076.68 103.26,-3082.09 114.86,-3085.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.46,-2681.51 24.95,-2671.52 21.46,-2681.52 28.46,-2681.51"/>
+<path fill="none" stroke="midnightblue" d="M24.56,-2680.98C23.17,-2763.02 22.14,-3073.01 84,-3143 90.87,-3150.78 99.77,-3156.31 109.41,-3160.23"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.07,-2680.65 24.76,-2670.58 21.07,-2680.51 28.07,-2680.65"/>
 </g>
 <!-- Node481 -->
 <g id="node331" class="node">
 <title>Node481</title>
-<g id="a_node331"><a xlink:href="classtvm_1_1runtime_1_1TimerNode.html" target="_top" xlink:title="Base class for all implementations.">
-<polygon fill="white" stroke="black" points="115,-3039.5 115,-3058.5 255,-3058.5 255,-3039.5 115,-3039.5"/>
-<text text-anchor="middle" x="185" y="-3046.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::TimerNode</text>
+<g id="a_node331"><a xlink:href="classtvm_1_1runtime_1_1DRefObj.html" target="_top" xlink:title="An object that exists on all workers.">
+<polygon fill="white" stroke="black" points="121.5,-3114.5 121.5,-3133.5 248.5,-3133.5 248.5,-3114.5 121.5,-3114.5"/>
+<text text-anchor="middle" x="185" y="-3121.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::DRefObj</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node481 -->
 <g id="edge330" class="edge">
 <title>Node151&#45;&gt;Node481</title>
-<path fill="none" stroke="midnightblue" d="M25.29,-2682.01C26.74,-2751.35 35.2,-2979.77 84,-3030 92.37,-3038.62 103.35,-3044 114.97,-3047.25"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="28.79,-2681.58 25.11,-2671.64 21.79,-2681.71 28.79,-2681.58"/>
+<path fill="none" stroke="midnightblue" d="M24.69,-2680.98C23.89,-2759.11 25.17,-3042.8 84,-3105 93.84,-3115.4 107.46,-3121.12 121.49,-3124.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.19,-2680.67 24.82,-2670.62 21.19,-2680.58 28.19,-2680.67"/>
 </g>
 <!-- Node482 -->
 <g id="node332" class="node">
 <title>Node482</title>
-<g id="a_node332"><a xlink:href="classtvm_1_1runtime_1_1cuda__ipc_1_1CUDAIPCMemoryObj.html" target="_top" xlink:title="The CUDA IPC (interprocess communication) memory object, which internally contains data pointers to C...">
-<polygon fill="white" stroke="black" points="113.5,-2990 113.5,-3020 256.5,-3020 256.5,-2990 113.5,-2990"/>
-<text text-anchor="start" x="121.5" y="-3008" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::cuda</text>
-<text text-anchor="middle" x="185" y="-2997" font-family="Helvetica,sans-Serif" font-size="10.00">_ipc::CUDAIPCMemoryObj</text>
+<g id="a_node332"><a xlink:href="classtvm_1_1runtime_1_1SessionObj.html" target="_top" xlink:title="A Disco interactive session. It allows users to interact with the Disco command queue with various ff...">
+<polygon fill="white" stroke="black" points="115,-3076.5 115,-3095.5 255,-3095.5 255,-3076.5 115,-3076.5"/>
+<text text-anchor="middle" x="185" y="-3083.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::SessionObj</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node482 -->
 <g id="edge331" class="edge">
 <title>Node151&#45;&gt;Node482</title>
-<path fill="none" stroke="midnightblue" d="M25.91,-2681.67C29.2,-2744.28 42.58,-2937.34 84,-2981 91.99,-2989.42 102.37,-2995.11 113.41,-2998.92"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="29.4,-2681.38 25.41,-2671.57 22.41,-2681.73 29.4,-2681.38"/>
+<path fill="none" stroke="midnightblue" d="M24.96,-2680.67C25.24,-2754.08 30.11,-3010.72 84,-3067 92.31,-3075.68 103.26,-3081.09 114.86,-3084.35"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.46,-2680.51 24.95,-2670.52 21.46,-2680.52 28.46,-2680.51"/>
 </g>
 <!-- Node483 -->
 <g id="node333" class="node">
 <title>Node483</title>
-<g id="a_node333"><a xlink:href="classtvm_1_1runtime_1_1memory_1_1StorageObj.html" target="_top" xlink:title="An object representing a storage allocation.">
-<polygon fill="white" stroke="black" points="121,-2941 121,-2971 249,-2971 249,-2941 121,-2941"/>
-<text text-anchor="start" x="129" y="-2959" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::memory</text>
-<text text-anchor="middle" x="185" y="-2948" font-family="Helvetica,sans-Serif" font-size="10.00">::StorageObj</text>
+<g id="a_node333"><a xlink:href="classtvm_1_1runtime_1_1TimerNode.html" target="_top" xlink:title="Base class for all implementations.">
+<polygon fill="white" stroke="black" points="115,-3038.5 115,-3057.5 255,-3057.5 255,-3038.5 115,-3038.5"/>
+<text text-anchor="middle" x="185" y="-3045.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::TimerNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node483 -->
 <g id="edge332" class="edge">
 <title>Node151&#45;&gt;Node483</title>
-<path fill="none" stroke="midnightblue" d="M26.61,-2681.51C31.62,-2737.34 48.74,-2896.01 84,-2932 93.87,-2942.07 107.17,-2948.22 120.85,-2951.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="30.1,-2681.17 25.75,-2671.51 23.12,-2681.77 30.1,-2681.17"/>
+<path fill="none" stroke="midnightblue" d="M25.29,-2681.01C26.74,-2750.35 35.2,-2978.77 84,-3029 92.37,-3037.62 103.35,-3043 114.97,-3046.25"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="28.79,-2680.58 25.11,-2670.64 21.79,-2680.71 28.79,-2680.58"/>
 </g>
 <!-- Node484 -->
 <g id="node334" class="node">
 <title>Node484</title>
-<g id="a_node334"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="122,-2892 122,-2922 248,-2922 248,-2892 122,-2892"/>
-<text text-anchor="start" x="130" y="-2910" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="185" y="-2899" font-family="Helvetica,sans-Serif" font-size="10.00">::CountNode</text>
+<g id="a_node334"><a xlink:href="classtvm_1_1runtime_1_1cuda__ipc_1_1CUDAIPCMemoryObj.html" target="_top" xlink:title="The CUDA IPC (interprocess communication) memory object, which internally contains data pointers to C...">
+<polygon fill="white" stroke="black" points="113.5,-2989 113.5,-3019 256.5,-3019 256.5,-2989 113.5,-2989"/>
+<text text-anchor="start" x="121.5" y="-3007" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::cuda</text>
+<text text-anchor="middle" x="185" y="-2996" font-family="Helvetica,sans-Serif" font-size="10.00">_ipc::CUDAIPCMemoryObj</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node484 -->
 <g id="edge333" class="edge">
 <title>Node151&#45;&gt;Node484</title>
-<path fill="none" stroke="midnightblue" d="M27.66,-2681.72C34.63,-2730.45 54.91,-2854.64 84,-2883 94.29,-2893.03 108,-2899.13 121.95,-2902.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="31.09,-2680.97 26.25,-2671.55 24.16,-2681.93 31.09,-2680.97"/>
+<path fill="none" stroke="midnightblue" d="M25.91,-2680.67C29.2,-2743.28 42.58,-2936.34 84,-2980 91.99,-2988.42 102.37,-2994.11 113.41,-2997.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="29.4,-2680.38 25.41,-2670.57 22.41,-2680.73 29.4,-2680.38"/>
 </g>
 <!-- Node485 -->
 <g id="node335" class="node">
 <title>Node485</title>
-<g id="a_node335"><a xlink:href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperNode.html" target="_top" xlink:title="Wrapper for Device because Device is not passable across the ffi::Function interface.">
-<polygon fill="white" stroke="black" points="122,-2843 122,-2873 248,-2873 248,-2843 122,-2843"/>
-<text text-anchor="start" x="130" y="-2861" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="185" y="-2850" font-family="Helvetica,sans-Serif" font-size="10.00">::DeviceWrapperNode</text>
+<g id="a_node335"><a xlink:href="classtvm_1_1runtime_1_1memory_1_1StorageObj.html" target="_top" xlink:title="An object representing a storage allocation.">
+<polygon fill="white" stroke="black" points="121,-2940 121,-2970 249,-2970 249,-2940 121,-2940"/>
+<text text-anchor="start" x="129" y="-2958" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::memory</text>
+<text text-anchor="middle" x="185" y="-2947" font-family="Helvetica,sans-Serif" font-size="10.00">::StorageObj</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node485 -->
 <g id="edge334" class="edge">
 <title>Node151&#45;&gt;Node485</title>
-<path fill="none" stroke="midnightblue" d="M25.84,-2681.62C28.47,-2717.42 39.32,-2793.37 84,-2834 94.5,-2843.55 108.12,-2849.48 121.92,-2853.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="29.33,-2681.28 25.24,-2671.51 22.34,-2681.7 29.33,-2681.28"/>
+<path fill="none" stroke="midnightblue" d="M26.61,-2680.51C31.62,-2736.34 48.74,-2895.01 84,-2931 93.87,-2941.07 107.17,-2947.22 120.85,-2950.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="30.1,-2680.17 25.75,-2670.51 23.12,-2680.77 30.1,-2680.17"/>
 </g>
 <!-- Node486 -->
 <g id="node336" class="node">
 <title>Node486</title>
-<g id="a_node336"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="122,-2794 122,-2824 248,-2824 248,-2794 122,-2794"/>
-<text text-anchor="start" x="130" y="-2812" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="185" y="-2801" font-family="Helvetica,sans-Serif" font-size="10.00">::DurationNode</text>
+<g id="a_node336"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="122,-2891 122,-2921 248,-2921 248,-2891 122,-2891"/>
+<text text-anchor="start" x="130" y="-2909" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
+<text text-anchor="middle" x="185" y="-2898" font-family="Helvetica,sans-Serif" font-size="10.00">::CountNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node486 -->
 <g id="edge335" class="edge">
 <title>Node151&#45;&gt;Node486</title>
-<path fill="none" stroke="midnightblue" d="M28.92,-2681.73C35.42,-2709.16 51.13,-2758.44 84,-2785 94.83,-2793.75 108.35,-2799.4 121.9,-2803.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="32.29,-2680.77 26.73,-2671.75 25.45,-2682.27 32.29,-2680.77"/>
+<path fill="none" stroke="midnightblue" d="M27.66,-2680.72C34.63,-2729.45 54.91,-2853.64 84,-2882 94.29,-2892.03 108,-2898.13 121.95,-2901.77"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="31.09,-2679.97 26.25,-2670.55 24.16,-2680.93 31.09,-2679.97"/>
 </g>
 <!-- Node487 -->
 <g id="node337" class="node">
 <title>Node487</title>
-<g id="a_node337"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" target="_top" xlink:title="Interface for user defined profiling metric collection.">
-<polygon fill="white" stroke="black" points="122,-2745 122,-2775 248,-2775 248,-2745 122,-2745"/>
-<text text-anchor="start" x="130" y="-2763" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="185" y="-2752" font-family="Helvetica,sans-Serif" font-size="10.00">::MetricCollectorNode</text>
+<g id="a_node337"><a xlink:href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperNode.html" target="_top" xlink:title="Wrapper for Device because Device is not passable across the ffi::Function interface.">
+<polygon fill="white" stroke="black" points="122,-2842 122,-2872 248,-2872 248,-2842 122,-2842"/>
+<text text-anchor="start" x="130" y="-2860" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
+<text text-anchor="middle" x="185" y="-2849" font-family="Helvetica,sans-Serif" font-size="10.00">::DeviceWrapperNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node487 -->
 <g id="edge336" class="edge">
 <title>Node151&#45;&gt;Node487</title>
-<path fill="none" stroke="midnightblue" d="M35.01,-2680.65C45.13,-2697.67 62.33,-2722.21 84,-2736 95.37,-2743.24 108.74,-2748.29 121.93,-2751.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="37.88,-2678.61 29.9,-2671.64 31.79,-2682.06 37.88,-2678.61"/>
+<path fill="none" stroke="midnightblue" d="M25.84,-2680.62C28.47,-2716.42 39.32,-2792.37 84,-2833 94.5,-2842.55 108.12,-2848.48 121.92,-2852.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="29.33,-2680.28 25.24,-2670.51 22.34,-2680.7 29.33,-2680.28"/>
 </g>
 <!-- Node488 -->
 <g id="node338" class="node">
 <title>Node488</title>
-<g id="a_node338"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="122,-2696 122,-2726 248,-2726 248,-2696 122,-2696"/>
-<text text-anchor="start" x="130" y="-2714" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="185" y="-2703" font-family="Helvetica,sans-Serif" font-size="10.00">::PercentNode</text>
+<g id="a_node338"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="122,-2793 122,-2823 248,-2823 248,-2793 122,-2793"/>
+<text text-anchor="start" x="130" y="-2811" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
+<text text-anchor="middle" x="185" y="-2800" font-family="Helvetica,sans-Serif" font-size="10.00">::DurationNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node488 -->
 <g id="edge337" class="edge">
 <title>Node151&#45;&gt;Node488</title>
-<path fill="none" stroke="midnightblue" d="M54.41,-2675.59C63.75,-2679.6 74.2,-2683.77 84,-2687 96.12,-2690.99 109.28,-2694.63 121.94,-2697.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="55.72,-2672.34 45.16,-2671.52 52.91,-2678.75 55.72,-2672.34"/>
+<path fill="none" stroke="midnightblue" d="M28.92,-2680.73C35.42,-2708.16 51.13,-2757.44 84,-2784 94.83,-2792.75 108.35,-2798.4 121.9,-2802.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="32.29,-2679.77 26.73,-2670.75 25.45,-2681.27 32.29,-2679.77"/>
 </g>
 <!-- Node489 -->
 <g id="node339" class="node">
 <title>Node489</title>
-<g id="a_node339"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="122,-2647 122,-2677 248,-2677 248,-2647 122,-2647"/>
-<text text-anchor="start" x="130" y="-2665" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="185" y="-2654" font-family="Helvetica,sans-Serif" font-size="10.00">::RatioNode</text>
+<g id="a_node339"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" target="_top" xlink:title="Interface for user defined profiling metric collection.">
+<polygon fill="white" stroke="black" points="122,-2744 122,-2774 248,-2774 248,-2744 122,-2744"/>
+<text text-anchor="start" x="130" y="-2762" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
+<text text-anchor="middle" x="185" y="-2751" font-family="Helvetica,sans-Serif" font-size="10.00">::MetricCollectorNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node489 -->
 <g id="edge338" class="edge">
 <title>Node151&#45;&gt;Node489</title>
-<path fill="none" stroke="midnightblue" d="M58.3,-2662C76.67,-2662 100.08,-2662 121.7,-2662"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="58.12,-2658.5 48.12,-2662 58.12,-2665.5 58.12,-2658.5"/>
+<path fill="none" stroke="midnightblue" d="M35.01,-2679.65C45.13,-2696.67 62.33,-2721.21 84,-2735 95.37,-2742.24 108.74,-2747.29 121.93,-2750.82"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="37.88,-2677.61 29.9,-2670.64 31.79,-2681.06 37.88,-2677.61"/>
 </g>
 <!-- Node490 -->
 <g id="node340" class="node">
 <title>Node490</title>
-<g id="a_node340"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html" target="_top" xlink:title="Data collected from a profiling run. Includes per&#45;call metrics and per&#45;device metrics.">
-<polygon fill="white" stroke="black" points="122,-2598 122,-2628 248,-2628 248,-2598 122,-2598"/>
-<text text-anchor="start" x="130" y="-2616" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="185" y="-2605" font-family="Helvetica,sans-Serif" font-size="10.00">::ReportNode</text>
+<g id="a_node340"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="122,-2695 122,-2725 248,-2725 248,-2695 122,-2695"/>
+<text text-anchor="start" x="130" y="-2713" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
+<text text-anchor="middle" x="185" y="-2702" font-family="Helvetica,sans-Serif" font-size="10.00">::PercentNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node490 -->
 <g id="edge339" class="edge">
 <title>Node151&#45;&gt;Node490</title>
-<path fill="none" stroke="midnightblue" d="M55.66,-2648.57C64.69,-2644.87 74.66,-2641.05 84,-2638 96.16,-2634.03 109.33,-2630.32 122,-2627.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="54.18,-2645.39 46.31,-2652.48 56.88,-2651.85 54.18,-2645.39"/>
+<path fill="none" stroke="midnightblue" d="M54.41,-2674.59C63.75,-2678.6 74.2,-2682.77 84,-2686 96.12,-2689.99 109.28,-2693.63 121.94,-2696.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="55.72,-2671.34 45.16,-2670.52 52.91,-2677.75 55.72,-2671.34"/>
 </g>
 <!-- Node491 -->
 <g id="node341" class="node">
 <title>Node491</title>
-<g id="a_node341"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1VMClosureObj.html" target="_top" xlink:title="An object representing a vm closure.">
-<polygon fill="white" stroke="black" points="96.5,-2559.5 96.5,-2578.5 273.5,-2578.5 273.5,-2559.5 96.5,-2559.5"/>
-<text text-anchor="middle" x="185" y="-2566.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMClosureObj</text>
+<g id="a_node341"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="122,-2646 122,-2676 248,-2676 248,-2646 122,-2646"/>
+<text text-anchor="start" x="130" y="-2664" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
+<text text-anchor="middle" x="185" y="-2653" font-family="Helvetica,sans-Serif" font-size="10.00">::RatioNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node491 -->
 <g id="edge340" class="edge">
 <title>Node151&#45;&gt;Node491</title>
-<path fill="none" stroke="midnightblue" d="M34.96,-2643.41C45.03,-2626.49 62.21,-2602.19 84,-2589 91.19,-2584.65 99.16,-2581.22 107.37,-2578.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="31.76,-2641.96 29.87,-2652.39 37.85,-2645.42 31.76,-2641.96"/>
+<path fill="none" stroke="midnightblue" d="M58.3,-2661C76.67,-2661 100.08,-2661 121.7,-2661"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="58.12,-2657.5 48.12,-2661 58.12,-2664.5 58.12,-2657.5"/>
 </g>
 <!-- Node492 -->
 <g id="node342" class="node">
 <title>Node492</title>
-<g id="a_node342"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1VMExtensionNode.html" target="_top" xlink:title="Represent a VM extension. A VM extension allows the user to extend the VM with target specific functi...">
-<polygon fill="white" stroke="black" points="86.5,-2521.5 86.5,-2540.5 283.5,-2540.5 283.5,-2521.5 86.5,-2521.5"/>
-<text text-anchor="middle" x="185" y="-2528.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMExtensionNode</text>
+<g id="a_node342"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html" target="_top" xlink:title="Data collected from a profiling run. Includes per&#45;call metrics and per&#45;device metrics.">
+<polygon fill="white" stroke="black" points="122,-2597 122,-2627 248,-2627 248,-2597 122,-2597"/>
+<text text-anchor="start" x="130" y="-2615" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
+<text text-anchor="middle" x="185" y="-2604" font-family="Helvetica,sans-Serif" font-size="10.00">::ReportNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node492 -->
 <g id="edge341" class="edge">
 <title>Node151&#45;&gt;Node492</title>
-<path fill="none" stroke="midnightblue" d="M29.68,-2642.37C36.85,-2616.86 53.06,-2572.88 84,-2550 89.11,-2546.22 94.77,-2543.12 100.71,-2540.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="26.22,-2641.79 27.08,-2652.35 32.99,-2643.56 26.22,-2641.79"/>
+<path fill="none" stroke="midnightblue" d="M55.66,-2647.57C64.69,-2643.87 74.66,-2640.05 84,-2637 96.16,-2633.03 109.33,-2629.32 122,-2626.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="54.18,-2644.39 46.31,-2651.48 56.88,-2650.85 54.18,-2644.39"/>
 </g>
 <!-- Node493 -->
 <g id="node343" class="node">
 <title>Node493</title>
-<g id="a_node343"><a xlink:href="classtvm_1_1s__tir_1_1InstructionKindNode.html" target="_top" xlink:title="Kind of an instruction, e.g. Split, Reorder, etc. Besides the name, every kind of instruction has its...">
-<polygon fill="white" stroke="black" points="101,-2483.5 101,-2502.5 269,-2502.5 269,-2483.5 101,-2483.5"/>
-<text text-anchor="middle" x="185" y="-2490.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::InstructionKindNode</text>
+<g id="a_node343"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1VMClosureObj.html" target="_top" xlink:title="An object representing a vm closure.">
+<polygon fill="white" stroke="black" points="96.5,-2558.5 96.5,-2577.5 273.5,-2577.5 273.5,-2558.5 96.5,-2558.5"/>
+<text text-anchor="middle" x="185" y="-2565.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMClosureObj</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node493 -->
 <g id="edge342" class="edge">
 <title>Node151&#45;&gt;Node493</title>
-<path fill="none" stroke="midnightblue" d="M26.77,-2642.44C30.8,-2610.01 43.71,-2545.38 84,-2512 89.03,-2507.83 94.7,-2504.47 100.72,-2501.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="23.28,-2642.14 25.68,-2652.46 30.24,-2642.9 23.28,-2642.14"/>
+<path fill="none" stroke="midnightblue" d="M34.96,-2642.41C45.03,-2625.49 62.21,-2601.19 84,-2588 91.19,-2583.65 99.16,-2580.22 107.37,-2577.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="31.76,-2640.96 29.87,-2651.39 37.85,-2644.42 31.76,-2640.96"/>
 </g>
 <!-- Node494 -->
 <g id="node344" class="node">
 <title>Node494</title>
-<g id="a_node344"><a xlink:href="classtvm_1_1s__tir_1_1InstructionNode.html" target="_top" xlink:title="Schedule instructions each corresponds to a schedule primitive.">
-<polygon fill="white" stroke="black" points="112,-2445.5 112,-2464.5 258,-2464.5 258,-2445.5 112,-2445.5"/>
-<text text-anchor="middle" x="185" y="-2452.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::InstructionNode</text>
+<g id="a_node344"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1VMExtensionNode.html" target="_top" xlink:title="Represent a VM extension. A VM extension allows the user to extend the VM with target specific functi...">
+<polygon fill="white" stroke="black" points="86.5,-2520.5 86.5,-2539.5 283.5,-2539.5 283.5,-2520.5 86.5,-2520.5"/>
+<text text-anchor="middle" x="185" y="-2527.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMExtensionNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node494 -->
 <g id="edge343" class="edge">
 <title>Node151&#45;&gt;Node494</title>
-<path fill="none" stroke="midnightblue" d="M24.98,-2641.99C26.11,-2603.28 34.44,-2518.11 84,-2474 91.92,-2466.95 101.62,-2462.16 111.83,-2458.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.48,-2642.36 24.83,-2652.41 28.48,-2642.46 21.48,-2642.36"/>
+<path fill="none" stroke="midnightblue" d="M29.68,-2641.37C36.85,-2615.86 53.06,-2571.88 84,-2549 89.11,-2545.22 94.77,-2542.12 100.71,-2539.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="26.22,-2640.79 27.08,-2651.35 32.99,-2642.56 26.22,-2640.79"/>
 </g>
 <!-- Node495 -->
 <g id="node345" class="node">
 <title>Node495</title>
-<g id="a_node345"><a xlink:href="classtvm_1_1s__tir_1_1LoopRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR for loop.">
-<polygon fill="white" stroke="black" points="119.5,-2407.5 119.5,-2426.5 250.5,-2426.5 250.5,-2407.5 119.5,-2407.5"/>
-<text text-anchor="middle" x="185" y="-2414.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::LoopRVNode</text>
+<g id="a_node345"><a xlink:href="classtvm_1_1s__tir_1_1InstructionKindNode.html" target="_top" xlink:title="Kind of an instruction, e.g. Split, Reorder, etc. Besides the name, every kind of instruction has its...">
+<polygon fill="white" stroke="black" points="101,-2482.5 101,-2501.5 269,-2501.5 269,-2482.5 101,-2482.5"/>
+<text text-anchor="middle" x="185" y="-2489.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::InstructionKindNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node495 -->
 <g id="edge344" class="edge">
 <title>Node151&#45;&gt;Node495</title>
-<path fill="none" stroke="midnightblue" d="M27.43,-2642.4C33.97,-2592.85 53.56,-2464.45 84,-2436 93.68,-2426.95 106.28,-2421.57 119.24,-2418.49"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="23.94,-2642.1 26.14,-2652.46 30.88,-2642.99 23.94,-2642.1"/>
+<path fill="none" stroke="midnightblue" d="M26.77,-2641.44C30.8,-2609.01 43.71,-2544.38 84,-2511 89.03,-2506.83 94.7,-2503.47 100.72,-2500.77"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="23.28,-2641.14 25.68,-2651.46 30.24,-2641.9 23.28,-2641.14"/>
 </g>
 <!-- Node496 -->
 <g id="node346" class="node">
 <title>Node496</title>
-<g id="a_node346"><a xlink:href="classtvm_1_1s__tir_1_1SBlockRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR block.">
-<polygon fill="white" stroke="black" points="114.5,-2369.5 114.5,-2388.5 255.5,-2388.5 255.5,-2369.5 114.5,-2369.5"/>
-<text text-anchor="middle" x="185" y="-2376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::SBlockRVNode</text>
+<g id="a_node346"><a xlink:href="classtvm_1_1s__tir_1_1InstructionNode.html" target="_top" xlink:title="Schedule instructions each corresponds to a schedule primitive.">
+<polygon fill="white" stroke="black" points="112,-2444.5 112,-2463.5 258,-2463.5 258,-2444.5 112,-2444.5"/>
+<text text-anchor="middle" x="185" y="-2451.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::InstructionNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node496 -->
 <g id="edge345" class="edge">
 <title>Node151&#45;&gt;Node496</title>
-<path fill="none" stroke="midnightblue" d="M26.66,-2642.12C31.71,-2586.68 48.72,-2432.16 84,-2398 92.38,-2389.89 103.08,-2384.69 114.36,-2381.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="23.15,-2642.1 25.76,-2652.37 30.12,-2642.72 23.15,-2642.1"/>
+<path fill="none" stroke="midnightblue" d="M24.98,-2640.99C26.11,-2602.28 34.44,-2517.11 84,-2473 91.92,-2465.95 101.62,-2461.16 111.83,-2457.96"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.48,-2641.36 24.83,-2651.41 28.48,-2641.46 21.48,-2641.36"/>
 </g>
 <!-- Node497 -->
 <g id="node347" class="node">
 <title>Node497</title>
-<g id="a_node347"><a xlink:href="classtvm_1_1s__tir_1_1ScheduleNode.html" target="_top" xlink:title="The user&#45;facing schedule class.">
-<polygon fill="white" stroke="black" points="115.5,-2331.5 115.5,-2350.5 254.5,-2350.5 254.5,-2331.5 115.5,-2331.5"/>
-<text text-anchor="middle" x="185" y="-2338.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::ScheduleNode</text>
+<g id="a_node347"><a xlink:href="classtvm_1_1s__tir_1_1LoopRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR for loop.">
+<polygon fill="white" stroke="black" points="119.5,-2406.5 119.5,-2425.5 250.5,-2425.5 250.5,-2406.5 119.5,-2406.5"/>
+<text text-anchor="middle" x="185" y="-2413.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::LoopRVNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node497 -->
 <g id="edge346" class="edge">
 <title>Node151&#45;&gt;Node497</title>
-<path fill="none" stroke="midnightblue" d="M26.06,-2642.11C29.7,-2581.38 43.8,-2400 84,-2360 92.58,-2351.46 103.73,-2346.13 115.46,-2342.91"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="22.55,-2642.1 25.48,-2652.28 29.54,-2642.5 22.55,-2642.1"/>
+<path fill="none" stroke="midnightblue" d="M27.43,-2641.4C33.97,-2591.85 53.56,-2463.45 84,-2435 93.68,-2425.95 106.28,-2420.57 119.24,-2417.49"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="23.94,-2641.1 26.14,-2651.46 30.88,-2641.99 23.94,-2641.1"/>
 </g>
 <!-- Node498 -->
 <g id="node348" class="node">
 <title>Node498</title>
-<g id="a_node348"><a xlink:href="classtvm_1_1s__tir_1_1ScheduleStateNode.html" target="_top" xlink:title="The state of scheduling, which exposes a Replace method as the primary interface for all the scheduli...">
-<polygon fill="white" stroke="black" points="103,-2293.5 103,-2312.5 267,-2312.5 267,-2293.5 103,-2293.5"/>
-<text text-anchor="middle" x="185" y="-2300.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::ScheduleStateNode</text>
+<g id="a_node348"><a xlink:href="classtvm_1_1s__tir_1_1SBlockRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR block.">
+<polygon fill="white" stroke="black" points="114.5,-2368.5 114.5,-2387.5 255.5,-2387.5 255.5,-2368.5 114.5,-2368.5"/>
+<text text-anchor="middle" x="185" y="-2375.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::SBlockRVNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node498 -->
 <g id="edge347" class="edge">
 <title>Node151&#45;&gt;Node498</title>
-<path fill="none" stroke="midnightblue" d="M25.58,-2642.24C27.91,-2576.68 38.81,-2367.92 84,-2322 89.33,-2316.58 95.69,-2312.45 102.59,-2309.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="22.07,-2642.33 25.24,-2652.43 29.07,-2642.55 22.07,-2642.33"/>
+<path fill="none" stroke="midnightblue" d="M26.66,-2641.12C31.71,-2585.68 48.72,-2431.16 84,-2397 92.38,-2388.89 103.08,-2383.69 114.36,-2380.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="23.15,-2641.1 25.76,-2651.37 30.12,-2641.72 23.15,-2641.1"/>
 </g>
 <!-- Node499 -->
 <g id="node349" class="node">
 <title>Node499</title>
-<g id="a_node349"><a xlink:href="classtvm_1_1s__tir_1_1TraceNode.html" target="_top" xlink:title="An execution trace of a scheduling program.">
-<polygon fill="white" stroke="black" points="125,-2255.5 125,-2274.5 245,-2274.5 245,-2255.5 125,-2255.5"/>
-<text text-anchor="middle" x="185" y="-2262.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::TraceNode</text>
+<g id="a_node349"><a xlink:href="classtvm_1_1s__tir_1_1ScheduleNode.html" target="_top" xlink:title="The user&#45;facing schedule class.">
+<polygon fill="white" stroke="black" points="115.5,-2330.5 115.5,-2349.5 254.5,-2349.5 254.5,-2330.5 115.5,-2330.5"/>
+<text text-anchor="middle" x="185" y="-2337.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::ScheduleNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node499 -->
 <g id="edge348" class="edge">
 <title>Node151&#45;&gt;Node499</title>
-<path fill="none" stroke="midnightblue" d="M25.2,-2642.35C26.31,-2572.24 33.8,-2335.88 84,-2284 94.69,-2272.95 109.66,-2267.22 124.78,-2264.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.69,-2642.4 25.06,-2652.45 28.69,-2642.5 21.69,-2642.4"/>
+<path fill="none" stroke="midnightblue" d="M26.06,-2641.11C29.7,-2580.38 43.8,-2399 84,-2359 92.58,-2350.46 103.73,-2345.13 115.46,-2341.91"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="22.55,-2641.1 25.48,-2651.28 29.54,-2641.5 22.55,-2641.1"/>
 </g>
 <!-- Node500 -->
 <g id="node350" class="node">
 <title>Node500</title>
-<g id="a_node350"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ArgInfoNode.html" target="_top" xlink:title="The argument information.">
-<polygon fill="white" stroke="black" points="113.5,-2206 113.5,-2236 256.5,-2236 256.5,-2206 113.5,-2206"/>
-<text text-anchor="start" x="121.5" y="-2224" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-2213" font-family="Helvetica,sans-Serif" font-size="10.00">::ArgInfoNode</text>
+<g id="a_node350"><a xlink:href="classtvm_1_1s__tir_1_1ScheduleStateNode.html" target="_top" xlink:title="The state of scheduling, which exposes a Replace method as the primary interface for all the scheduli...">
+<polygon fill="white" stroke="black" points="103,-2292.5 103,-2311.5 267,-2311.5 267,-2292.5 103,-2292.5"/>
+<text text-anchor="middle" x="185" y="-2299.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::ScheduleStateNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node500 -->
 <g id="edge349" class="edge">
 <title>Node151&#45;&gt;Node500</title>
-<path fill="none" stroke="midnightblue" d="M24.99,-2641.95C25.38,-2567.1 30.58,-2305.29 84,-2246 91.85,-2237.29 102.22,-2231.4 113.32,-2227.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.49,-2642.29 24.96,-2652.3 28.49,-2642.31 21.49,-2642.29"/>
+<path fill="none" stroke="midnightblue" d="M25.58,-2641.24C27.91,-2575.68 38.81,-2366.92 84,-2321 89.33,-2315.58 95.69,-2311.45 102.59,-2308.32"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="22.07,-2641.33 25.24,-2651.43 29.07,-2641.55 22.07,-2641.33"/>
+</g>
+<!-- Node501 -->
+<g id="node351" class="node">
+<title>Node501</title>
+<g id="a_node351"><a xlink:href="classtvm_1_1s__tir_1_1TraceNode.html" target="_top" xlink:title="An execution trace of a scheduling program.">
+<polygon fill="white" stroke="black" points="125,-2254.5 125,-2273.5 245,-2273.5 245,-2254.5 125,-2254.5"/>
+<text text-anchor="middle" x="185" y="-2261.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::TraceNode</text>
+</a>
+</g>
+</g>
+<!-- Node151&#45;&gt;Node501 -->
+<g id="edge350" class="edge">
+<title>Node151&#45;&gt;Node501</title>
+<path fill="none" stroke="midnightblue" d="M25.2,-2641.35C26.31,-2571.24 33.8,-2334.88 84,-2283 94.69,-2271.95 109.66,-2266.22 124.78,-2263.46"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.69,-2641.4 25.06,-2651.45 28.69,-2641.5 21.69,-2641.4"/>
 </g>
 <!-- Node502 -->
 <g id="node352" class="node">
 <title>Node502</title>
-<g id="a_node352"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderInputNode.html" target="_top" xlink:title="The builder&#39;s input, containing an IRModule and the target.">
-<polygon fill="white" stroke="black" points="113.5,-2157 113.5,-2187 256.5,-2187 256.5,-2157 113.5,-2157"/>
-<text text-anchor="start" x="121.5" y="-2175" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-2164" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderInputNode</text>
+<g id="a_node352"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ArgInfoNode.html" target="_top" xlink:title="The argument information.">
+<polygon fill="white" stroke="black" points="113.5,-2205 113.5,-2235 256.5,-2235 256.5,-2205 113.5,-2205"/>
+<text text-anchor="start" x="121.5" y="-2223" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-2212" font-family="Helvetica,sans-Serif" font-size="10.00">::ArgInfoNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node502 -->
 <g id="edge351" class="edge">
 <title>Node151&#45;&gt;Node502</title>
-<path fill="none" stroke="midnightblue" d="M24.66,-2642.21C23.71,-2562.27 24.27,-2264.28 84,-2197 91.84,-2188.17 102.29,-2182.23 113.47,-2178.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.16,-2642.42 24.81,-2652.37 28.16,-2642.32 21.16,-2642.42"/>
+<path fill="none" stroke="midnightblue" d="M24.99,-2640.95C25.38,-2566.1 30.58,-2304.29 84,-2245 91.85,-2236.29 102.22,-2230.4 113.32,-2226.46"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.49,-2641.29 24.96,-2651.3 28.49,-2641.31 21.49,-2641.29"/>
 </g>
-<!-- Node503 -->
-<g id="node353" class="node">
-<title>Node503</title>
-<g id="a_node353"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderNode.html" target="_top" xlink:title="The abstract builder interface.">
-<polygon fill="white" stroke="black" points="113.5,-2108 113.5,-2138 256.5,-2138 256.5,-2108 113.5,-2108"/>
-<text text-anchor="start" x="121.5" y="-2126" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-2115" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderNode</text>
+<!-- Node504 -->
+<g id="node354" class="node">
+<title>Node504</title>
+<g id="a_node354"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderInputNode.html" target="_top" xlink:title="The builder&#39;s input, containing an IRModule and the target.">
+<polygon fill="white" stroke="black" points="113.5,-2156 113.5,-2186 256.5,-2186 256.5,-2156 113.5,-2156"/>
+<text text-anchor="start" x="121.5" y="-2174" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-2163" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderInputNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node503 -->
-<g id="edge352" class="edge">
-<title>Node151&#45;&gt;Node503</title>
-<path fill="none" stroke="midnightblue" d="M25.97,-2641.9C30.5,-2551.55 50.81,-2185.84 84,-2148 91.79,-2139.12 102.21,-2133.16 113.38,-2129.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="22.46,-2641.98 25.46,-2652.14 29.45,-2642.32 22.46,-2641.98"/>
+<!-- Node151&#45;&gt;Node504 -->
+<g id="edge353" class="edge">
+<title>Node151&#45;&gt;Node504</title>
+<path fill="none" stroke="midnightblue" d="M24.66,-2641.21C23.71,-2561.27 24.27,-2263.28 84,-2196 91.84,-2187.17 102.29,-2181.23 113.47,-2177.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.16,-2641.42 24.81,-2651.37 28.16,-2641.32 21.16,-2641.42"/>
 </g>
 <!-- Node505 -->
 <g id="node355" class="node">
 <title>Node505</title>
-<g id="a_node355"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderResultNode.html" target="_top" xlink:title="The builder&#39;s output, containing the artifact path or error message if any.">
-<polygon fill="white" stroke="black" points="113.5,-2059 113.5,-2089 256.5,-2089 256.5,-2059 113.5,-2059"/>
-<text text-anchor="start" x="121.5" y="-2077" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-2066" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderResultNode</text>
+<g id="a_node355"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderNode.html" target="_top" xlink:title="The abstract builder interface.">
+<polygon fill="white" stroke="black" points="113.5,-2107 113.5,-2137 256.5,-2137 256.5,-2107 113.5,-2107"/>
+<text text-anchor="start" x="121.5" y="-2125" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-2114" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node505 -->
 <g id="edge354" class="edge">
 <title>Node151&#45;&gt;Node505</title>
-<path fill="none" stroke="midnightblue" d="M25.75,-2642.12C29.51,-2546.96 47.62,-2140.89 84,-2099 91.74,-2090.08 102.14,-2084.1 113.31,-2080.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="22.25,-2642.01 25.36,-2652.14 29.25,-2642.28 22.25,-2642.01"/>
+<path fill="none" stroke="midnightblue" d="M25.97,-2640.9C30.5,-2550.55 50.81,-2184.84 84,-2147 91.79,-2138.12 102.21,-2132.16 113.38,-2128.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="22.46,-2640.98 25.46,-2651.14 29.45,-2641.32 22.46,-2640.98"/>
 </g>
-<!-- Node506 -->
-<g id="node356" class="node">
-<title>Node506</title>
-<g id="a_node356"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1CostModelNode.html" target="_top" xlink:title="Cost model.">
-<polygon fill="white" stroke="black" points="113.5,-2010 113.5,-2040 256.5,-2040 256.5,-2010 113.5,-2010"/>
-<text text-anchor="start" x="121.5" y="-2028" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-2017" font-family="Helvetica,sans-Serif" font-size="10.00">::CostModelNode</text>
+<!-- Node507 -->
+<g id="node357" class="node">
+<title>Node507</title>
+<g id="a_node357"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderResultNode.html" target="_top" xlink:title="The builder&#39;s output, containing the artifact path or error message if any.">
+<polygon fill="white" stroke="black" points="113.5,-2058 113.5,-2088 256.5,-2088 256.5,-2058 113.5,-2058"/>
+<text text-anchor="start" x="121.5" y="-2076" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-2065" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderResultNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node506 -->
-<g id="edge355" class="edge">
-<title>Node151&#45;&gt;Node506</title>
-<path fill="none" stroke="midnightblue" d="M25.58,-2642C28.65,-2541.64 44.47,-2095.9 84,-2050 91.71,-2041.05 102.09,-2035.05 113.25,-2031.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="22.07,-2642.15 25.27,-2652.25 29.07,-2642.36 22.07,-2642.15"/>
+<!-- Node151&#45;&gt;Node507 -->
+<g id="edge356" class="edge">
+<title>Node151&#45;&gt;Node507</title>
+<path fill="none" stroke="midnightblue" d="M25.75,-2641.12C29.51,-2545.96 47.62,-2139.89 84,-2098 91.74,-2089.08 102.14,-2083.1 113.31,-2079.14"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="22.25,-2641.01 25.36,-2651.14 29.25,-2641.28 22.25,-2641.01"/>
 </g>
 <!-- Node508 -->
 <g id="node358" class="node">
 <title>Node508</title>
-<g id="a_node358"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1DatabaseNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="113.5,-1961 113.5,-1991 256.5,-1991 256.5,-1961 113.5,-1961"/>
-<text text-anchor="start" x="121.5" y="-1979" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1968" font-family="Helvetica,sans-Serif" font-size="10.00">::DatabaseNode</text>
+<g id="a_node358"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1CostModelNode.html" target="_top" xlink:title="Cost model.">
+<polygon fill="white" stroke="black" points="113.5,-2009 113.5,-2039 256.5,-2039 256.5,-2009 113.5,-2009"/>
+<text text-anchor="start" x="121.5" y="-2027" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-2016" font-family="Helvetica,sans-Serif" font-size="10.00">::CostModelNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node508 -->
 <g id="edge357" class="edge">
 <title>Node151&#45;&gt;Node508</title>
-<path fill="none" stroke="midnightblue" d="M25.42,-2642.4C27.81,-2538.09 41.24,-2051.01 84,-2001 91.73,-1991.96 102.2,-1985.92 113.45,-1981.95"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.92,-2642.4 25.19,-2652.47 28.92,-2642.55 21.92,-2642.4"/>
+<path fill="none" stroke="midnightblue" d="M25.58,-2641C28.65,-2540.64 44.47,-2094.9 84,-2049 91.71,-2040.05 102.09,-2034.05 113.25,-2030.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="22.07,-2641.15 25.27,-2651.25 29.07,-2641.36 22.07,-2641.15"/>
 </g>
 <!-- Node510 -->
 <g id="node360" class="node">
 <title>Node510</title>
-<g id="a_node360"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ExtractedTaskNode.html" target="_top" xlink:title="A tuning task extracted from the high&#45;level IR.">
-<polygon fill="white" stroke="black" points="113.5,-1912 113.5,-1942 256.5,-1942 256.5,-1912 113.5,-1912"/>
-<text text-anchor="start" x="121.5" y="-1930" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1919" font-family="Helvetica,sans-Serif" font-size="10.00">::ExtractedTaskNode</text>
+<g id="a_node360"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1DatabaseNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="113.5,-1960 113.5,-1990 256.5,-1990 256.5,-1960 113.5,-1960"/>
+<text text-anchor="start" x="121.5" y="-1978" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1967" font-family="Helvetica,sans-Serif" font-size="10.00">::DatabaseNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node510 -->
 <g id="edge359" class="edge">
 <title>Node151&#45;&gt;Node510</title>
-<path fill="none" stroke="midnightblue" d="M25.3,-2641.99C27.1,-2532.2 38.12,-2006 84,-1952 91.71,-1942.93 102.16,-1936.89 113.41,-1932.91"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.79,-2642.24 25.13,-2652.29 28.79,-2642.35 21.79,-2642.24"/>
+<path fill="none" stroke="midnightblue" d="M25.42,-2641.4C27.81,-2537.09 41.24,-2050.01 84,-2000 91.73,-1990.96 102.2,-1984.92 113.45,-1980.95"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.92,-2641.4 25.19,-2651.47 28.92,-2641.55 21.92,-2641.4"/>
 </g>
-<!-- Node511 -->
-<g id="node361" class="node">
-<title>Node511</title>
-<g id="a_node361"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1FeatureExtractorNode.html" target="_top" xlink:title="Extractor for features from measure candidates for use in cost model.">
-<polygon fill="white" stroke="black" points="113.5,-1863 113.5,-1893 256.5,-1893 256.5,-1863 113.5,-1863"/>
-<text text-anchor="start" x="121.5" y="-1881" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1870" font-family="Helvetica,sans-Serif" font-size="10.00">::FeatureExtractorNode</text>
+<!-- Node512 -->
+<g id="node362" class="node">
+<title>Node512</title>
+<g id="a_node362"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ExtractedTaskNode.html" target="_top" xlink:title="A tuning task extracted from the high&#45;level IR.">
+<polygon fill="white" stroke="black" points="113.5,-1911 113.5,-1941 256.5,-1941 256.5,-1911 113.5,-1911"/>
+<text text-anchor="start" x="121.5" y="-1929" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1918" font-family="Helvetica,sans-Serif" font-size="10.00">::ExtractedTaskNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node511 -->
-<g id="edge360" class="edge">
-<title>Node151&#45;&gt;Node511</title>
-<path fill="none" stroke="midnightblue" d="M25.18,-2642.4C26.39,-2529.12 34.87,-1961.13 84,-1903 91.68,-1893.91 102.12,-1887.86 113.37,-1883.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.68,-2642.39 25.08,-2652.43 28.68,-2642.46 21.68,-2642.39"/>
+<!-- Node151&#45;&gt;Node512 -->
+<g id="edge361" class="edge">
+<title>Node151&#45;&gt;Node512</title>
+<path fill="none" stroke="midnightblue" d="M25.3,-2640.99C27.1,-2531.2 38.12,-2005 84,-1951 91.71,-1941.93 102.16,-1935.89 113.41,-1931.91"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.79,-2641.24 25.13,-2651.29 28.79,-2641.35 21.79,-2641.24"/>
 </g>
 <!-- Node513 -->
 <g id="node363" class="node">
 <title>Node513</title>
-<g id="a_node363"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCallbackNode.html" target="_top" xlink:title="Rules to apply after measure results is available.">
-<polygon fill="white" stroke="black" points="113.5,-1814 113.5,-1844 256.5,-1844 256.5,-1814 113.5,-1814"/>
-<text text-anchor="start" x="121.5" y="-1832" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1821" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCallbackNode</text>
+<g id="a_node363"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1FeatureExtractorNode.html" target="_top" xlink:title="Extractor for features from measure candidates for use in cost model.">
+<polygon fill="white" stroke="black" points="113.5,-1862 113.5,-1892 256.5,-1892 256.5,-1862 113.5,-1862"/>
+<text text-anchor="start" x="121.5" y="-1880" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1869" font-family="Helvetica,sans-Serif" font-size="10.00">::FeatureExtractorNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node513 -->
 <g id="edge362" class="edge">
 <title>Node151&#45;&gt;Node513</title>
-<path fill="none" stroke="midnightblue" d="M25.08,-2642.25C25.75,-2524.33 31.7,-1916.17 84,-1854 91.66,-1844.89 102.09,-1838.83 113.33,-1834.85"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.58,-2642.35 25.03,-2652.36 28.58,-2642.38 21.58,-2642.35"/>
+<path fill="none" stroke="midnightblue" d="M25.18,-2641.4C26.39,-2528.12 34.87,-1960.13 84,-1902 91.68,-1892.91 102.12,-1886.86 113.37,-1882.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.68,-2641.39 25.08,-2651.43 28.68,-2641.46 21.68,-2641.39"/>
 </g>
 <!-- Node515 -->
 <g id="node365" class="node">
 <title>Node515</title>
-<g id="a_node365"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCandidateNode.html" target="_top" xlink:title="The schedule (with input shapes) to be measured.">
-<polygon fill="white" stroke="black" points="113.5,-1765 113.5,-1795 256.5,-1795 256.5,-1765 113.5,-1765"/>
-<text text-anchor="start" x="121.5" y="-1783" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1772" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCandidateNode</text>
+<g id="a_node365"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCallbackNode.html" target="_top" xlink:title="Rules to apply after measure results is available.">
+<polygon fill="white" stroke="black" points="113.5,-1813 113.5,-1843 256.5,-1843 256.5,-1813 113.5,-1813"/>
+<text text-anchor="start" x="121.5" y="-1831" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1820" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCallbackNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node515 -->
 <g id="edge364" class="edge">
 <title>Node151&#45;&gt;Node515</title>
-<path fill="none" stroke="midnightblue" d="M24.99,-2642.21C25.14,-2520.01 28.51,-1871.25 84,-1805 91.64,-1795.88 102.06,-1789.81 113.3,-1785.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.49,-2642.35 24.99,-2652.35 28.49,-2642.35 21.49,-2642.35"/>
+<path fill="none" stroke="midnightblue" d="M25.08,-2641.25C25.75,-2523.33 31.7,-1915.17 84,-1853 91.66,-1843.89 102.09,-1837.83 113.33,-1833.85"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.58,-2641.35 25.03,-2651.36 28.58,-2641.38 21.58,-2641.35"/>
 </g>
-<!-- Node516 -->
-<g id="node366" class="node">
-<title>Node516</title>
-<g id="a_node366"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1MutatorNode.html" target="_top" xlink:title="Mutator is designed to mutate the trace to explore the design space.">
-<polygon fill="white" stroke="black" points="113.5,-1716 113.5,-1746 256.5,-1746 256.5,-1716 113.5,-1716"/>
-<text text-anchor="start" x="121.5" y="-1734" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1723" font-family="Helvetica,sans-Serif" font-size="10.00">::MutatorNode</text>
+<!-- Node517 -->
+<g id="node367" class="node">
+<title>Node517</title>
+<g id="a_node367"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCandidateNode.html" target="_top" xlink:title="The schedule (with input shapes) to be measured.">
+<polygon fill="white" stroke="black" points="113.5,-1764 113.5,-1794 256.5,-1794 256.5,-1764 113.5,-1764"/>
+<text text-anchor="start" x="121.5" y="-1782" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1771" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCandidateNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node516 -->
-<g id="edge365" class="edge">
-<title>Node151&#45;&gt;Node516</title>
-<path fill="none" stroke="midnightblue" d="M24.92,-2642.26C24.56,-2516.17 25.3,-1826.34 84,-1756 91.62,-1746.86 102.04,-1740.79 113.27,-1736.8"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.42,-2642.4 24.95,-2652.39 28.42,-2642.38 21.42,-2642.4"/>
+<!-- Node151&#45;&gt;Node517 -->
+<g id="edge366" class="edge">
+<title>Node151&#45;&gt;Node517</title>
+<path fill="none" stroke="midnightblue" d="M24.99,-2641.21C25.14,-2519.01 28.51,-1870.25 84,-1804 91.64,-1794.88 102.06,-1788.81 113.3,-1784.82"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.49,-2641.35 24.99,-2651.35 28.49,-2641.35 21.49,-2641.35"/>
 </g>
 <!-- Node518 -->
 <g id="node368" class="node">
 <title>Node518</title>
-<g id="a_node368"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1PostprocNode.html" target="_top" xlink:title="Rules to apply a postprocessor to a schedule.">
-<polygon fill="white" stroke="black" points="113.5,-1667 113.5,-1697 256.5,-1697 256.5,-1667 113.5,-1667"/>
-<text text-anchor="start" x="121.5" y="-1685" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1674" font-family="Helvetica,sans-Serif" font-size="10.00">::PostprocNode</text>
+<g id="a_node368"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1MutatorNode.html" target="_top" xlink:title="Mutator is designed to mutate the trace to explore the design space.">
+<polygon fill="white" stroke="black" points="113.5,-1715 113.5,-1745 256.5,-1745 256.5,-1715 113.5,-1715"/>
+<text text-anchor="start" x="121.5" y="-1733" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1722" font-family="Helvetica,sans-Serif" font-size="10.00">::MutatorNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node518 -->
 <g id="edge367" class="edge">
 <title>Node151&#45;&gt;Node518</title>
-<path fill="none" stroke="midnightblue" d="M24.85,-2642.41C24.01,-2512.8 22.07,-1781.46 84,-1707 91.61,-1697.85 102.01,-1691.77 113.25,-1687.78"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.35,-2642.5 24.92,-2652.47 28.35,-2642.45 21.35,-2642.5"/>
+<path fill="none" stroke="midnightblue" d="M24.92,-2641.26C24.56,-2515.17 25.3,-1825.34 84,-1755 91.62,-1745.86 102.04,-1739.79 113.27,-1735.8"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.42,-2641.4 24.95,-2651.39 28.42,-2641.38 21.42,-2641.4"/>
 </g>
 <!-- Node520 -->
 <g id="node370" class="node">
 <title>Node520</title>
-<g id="a_node370"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ProfilerNode.html" target="_top" xlink:title="A generic profiler.">
-<polygon fill="white" stroke="black" points="113.5,-1618 113.5,-1648 256.5,-1648 256.5,-1618 113.5,-1618"/>
-<text text-anchor="start" x="121.5" y="-1636" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1625" font-family="Helvetica,sans-Serif" font-size="10.00">::ProfilerNode</text>
+<g id="a_node370"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1PostprocNode.html" target="_top" xlink:title="Rules to apply a postprocessor to a schedule.">
+<polygon fill="white" stroke="black" points="113.5,-1666 113.5,-1696 256.5,-1696 256.5,-1666 113.5,-1666"/>
+<text text-anchor="start" x="121.5" y="-1684" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1673" font-family="Helvetica,sans-Serif" font-size="10.00">::PostprocNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node520 -->
 <g id="edge369" class="edge">
 <title>Node151&#45;&gt;Node520</title>
-<path fill="none" stroke="midnightblue" d="M24.78,-2642.24C23.49,-2508.31 18.89,-1736.53 84,-1658 91.65,-1648.77 102.15,-1642.66 113.48,-1638.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.28,-2642.33 24.89,-2652.29 28.28,-2642.26 21.28,-2642.33"/>
-</g>
-<!-- Node521 -->
-<g id="node371" class="node">
-<title>Node521</title>
-<g id="a_node371"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFutureNode.html" target="_top" xlink:title="A class to asynchronously fetch runner&#39;s output.">
-<polygon fill="white" stroke="black" points="113.5,-1569 113.5,-1599 256.5,-1599 256.5,-1569 113.5,-1569"/>
-<text text-anchor="start" x="121.5" y="-1587" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1576" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerFutureNode</text>
-</a>
-</g>
-</g>
-<!-- Node151&#45;&gt;Node521 -->
-<g id="edge370" class="edge">
-<title>Node151&#45;&gt;Node521</title>
-<path fill="none" stroke="midnightblue" d="M25.45,-2642.12C28.72,-2500.61 49.78,-1650.39 84,-1609 91.64,-1599.76 102.13,-1593.64 113.46,-1589.65"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.94,-2642.26 25.21,-2652.34 28.94,-2642.42 21.94,-2642.26"/>
+<path fill="none" stroke="midnightblue" d="M24.85,-2641.41C24.01,-2511.8 22.07,-1780.46 84,-1706 91.61,-1696.85 102.01,-1690.77 113.25,-1686.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.35,-2641.5 24.92,-2651.47 28.35,-2641.45 21.35,-2641.5"/>
 </g>
 <!-- Node522 -->
 <g id="node372" class="node">
 <title>Node522</title>
-<g id="a_node372"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerInputNode.html" target="_top" xlink:title="Runner&#39;s input containing path of artifact, type of device and argument info.">
-<polygon fill="white" stroke="black" points="113.5,-1520 113.5,-1550 256.5,-1550 256.5,-1520 113.5,-1520"/>
-<text text-anchor="start" x="121.5" y="-1538" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1527" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerInputNode</text>
+<g id="a_node372"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ProfilerNode.html" target="_top" xlink:title="A generic profiler.">
+<polygon fill="white" stroke="black" points="113.5,-1617 113.5,-1647 256.5,-1647 256.5,-1617 113.5,-1617"/>
+<text text-anchor="start" x="121.5" y="-1635" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1624" font-family="Helvetica,sans-Serif" font-size="10.00">::ProfilerNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node522 -->
 <g id="edge371" class="edge">
 <title>Node151&#45;&gt;Node522</title>
-<path fill="none" stroke="midnightblue" d="M25.4,-2642.09C28.39,-2496.75 48.17,-1603.44 84,-1560 91.63,-1550.75 102.11,-1544.63 113.44,-1540.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.9,-2642.15 25.19,-2652.22 28.89,-2642.3 21.9,-2642.15"/>
+<path fill="none" stroke="midnightblue" d="M24.78,-2641.24C23.49,-2507.31 18.89,-1735.53 84,-1657 91.65,-1647.77 102.15,-1641.66 113.48,-1637.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.28,-2641.33 24.89,-2651.29 28.28,-2641.26 21.28,-2641.33"/>
 </g>
 <!-- Node523 -->
 <g id="node373" class="node">
 <title>Node523</title>
-<g id="a_node373"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerNode.html" target="_top" xlink:title="The abstract runner interface.">
-<polygon fill="white" stroke="black" points="113.5,-1471 113.5,-1501 256.5,-1501 256.5,-1471 113.5,-1471"/>
-<text text-anchor="start" x="121.5" y="-1489" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1478" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerNode</text>
+<g id="a_node373"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFutureNode.html" target="_top" xlink:title="A class to asynchronously fetch runner&#39;s output.">
+<polygon fill="white" stroke="black" points="113.5,-1568 113.5,-1598 256.5,-1598 256.5,-1568 113.5,-1568"/>
+<text text-anchor="start" x="121.5" y="-1586" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1575" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerFutureNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node523 -->
 <g id="edge372" class="edge">
 <title>Node151&#45;&gt;Node523</title>
-<path fill="none" stroke="midnightblue" d="M25.35,-2642.14C28.06,-2493.27 46.56,-1556.51 84,-1511 91.62,-1501.74 102.1,-1495.62 113.42,-1491.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.85,-2642.41 25.17,-2652.47 28.84,-2642.53 21.85,-2642.41"/>
+<path fill="none" stroke="midnightblue" d="M25.45,-2641.12C28.72,-2499.61 49.78,-1649.39 84,-1608 91.64,-1598.76 102.13,-1592.64 113.46,-1588.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.94,-2641.26 25.21,-2651.34 28.94,-2641.42 21.94,-2641.26"/>
+</g>
+<!-- Node524 -->
+<g id="node374" class="node">
+<title>Node524</title>
+<g id="a_node374"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerInputNode.html" target="_top" xlink:title="Runner&#39;s input containing path of artifact, type of device and argument info.">
+<polygon fill="white" stroke="black" points="113.5,-1519 113.5,-1549 256.5,-1549 256.5,-1519 113.5,-1519"/>
+<text text-anchor="start" x="121.5" y="-1537" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1526" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerInputNode</text>
+</a>
+</g>
+</g>
+<!-- Node151&#45;&gt;Node524 -->
+<g id="edge373" class="edge">
+<title>Node151&#45;&gt;Node524</title>
+<path fill="none" stroke="midnightblue" d="M25.4,-2641.09C28.39,-2495.75 48.17,-1602.44 84,-1559 91.63,-1549.75 102.11,-1543.63 113.44,-1539.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.9,-2641.15 25.19,-2651.22 28.89,-2641.3 21.9,-2641.15"/>
 </g>
 <!-- Node525 -->
 <g id="node375" class="node">
 <title>Node525</title>
-<g id="a_node375"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerResultNode.html" target="_top" xlink:title="Runner&#39;s output containing measurement result of MeasureCandidate or error msg if any.">
-<polygon fill="white" stroke="black" points="113.5,-1422 113.5,-1452 256.5,-1452 256.5,-1422 113.5,-1422"/>
-<text text-anchor="start" x="121.5" y="-1440" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1429" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerResultNode</text>
+<g id="a_node375"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerNode.html" target="_top" xlink:title="The abstract runner interface.">
+<polygon fill="white" stroke="black" points="113.5,-1470 113.5,-1500 256.5,-1500 256.5,-1470 113.5,-1470"/>
+<text text-anchor="start" x="121.5" y="-1488" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1477" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node525 -->
 <g id="edge374" class="edge">
 <title>Node151&#45;&gt;Node525</title>
-<path fill="none" stroke="midnightblue" d="M25.31,-2642.23C27.74,-2490.08 44.94,-1509.58 84,-1462 91.61,-1452.73 102.08,-1446.61 113.41,-1442.61"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.8,-2642.35 25.15,-2652.41 28.8,-2642.47 21.8,-2642.35"/>
+<path fill="none" stroke="midnightblue" d="M25.35,-2641.14C28.06,-2492.27 46.56,-1555.51 84,-1510 91.62,-1500.74 102.1,-1494.62 113.42,-1490.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.85,-2641.41 25.17,-2651.47 28.84,-2641.53 21.85,-2641.41"/>
 </g>
-<!-- Node526 -->
-<g id="node376" class="node">
-<title>Node526</title>
-<g id="a_node376"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRuleNode.html" target="_top" xlink:title="Rules to modify a block in a schedule.">
-<polygon fill="white" stroke="black" points="113.5,-1373 113.5,-1403 256.5,-1403 256.5,-1373 113.5,-1373"/>
-<text text-anchor="start" x="121.5" y="-1391" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1380" font-family="Helvetica,sans-Serif" font-size="10.00">::ScheduleRuleNode</text>
+<!-- Node527 -->
+<g id="node377" class="node">
+<title>Node527</title>
+<g id="a_node377"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerResultNode.html" target="_top" xlink:title="Runner&#39;s output containing measurement result of MeasureCandidate or error msg if any.">
+<polygon fill="white" stroke="black" points="113.5,-1421 113.5,-1451 256.5,-1451 256.5,-1421 113.5,-1421"/>
+<text text-anchor="start" x="121.5" y="-1439" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1428" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerResultNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node526 -->
-<g id="edge375" class="edge">
-<title>Node151&#45;&gt;Node526</title>
-<path fill="none" stroke="midnightblue" d="M25.27,-2641.92C27.47,-2485.17 43.35,-1462.6 84,-1413 91.6,-1403.73 102.07,-1397.59 113.39,-1393.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.77,-2642.32 25.13,-2652.37 28.76,-2642.42 21.77,-2642.32"/>
+<!-- Node151&#45;&gt;Node527 -->
+<g id="edge376" class="edge">
+<title>Node151&#45;&gt;Node527</title>
+<path fill="none" stroke="midnightblue" d="M25.31,-2641.23C27.74,-2489.08 44.94,-1508.58 84,-1461 91.61,-1451.73 102.08,-1445.61 113.41,-1441.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.8,-2641.35 25.15,-2651.41 28.8,-2641.47 21.8,-2641.35"/>
 </g>
 <!-- Node528 -->
 <g id="node378" class="node">
 <title>Node528</title>
-<g id="a_node378"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1SearchStrategyNode.html" target="_top" xlink:title="The search strategy for measure candidates generation.">
-<polygon fill="white" stroke="black" points="113.5,-1324 113.5,-1354 256.5,-1354 256.5,-1324 113.5,-1324"/>
-<text text-anchor="start" x="121.5" y="-1342" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1331" font-family="Helvetica,sans-Serif" font-size="10.00">::SearchStrategyNode</text>
+<g id="a_node378"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRuleNode.html" target="_top" xlink:title="Rules to modify a block in a schedule.">
+<polygon fill="white" stroke="black" points="113.5,-1372 113.5,-1402 256.5,-1402 256.5,-1372 113.5,-1372"/>
+<text text-anchor="start" x="121.5" y="-1390" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1379" font-family="Helvetica,sans-Serif" font-size="10.00">::ScheduleRuleNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node528 -->
 <g id="edge377" class="edge">
 <title>Node151&#45;&gt;Node528</title>
-<path fill="none" stroke="midnightblue" d="M25.23,-2642.11C27.17,-2482.57 41.72,-1415.69 84,-1364 91.59,-1354.72 102.06,-1348.58 113.38,-1344.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.73,-2642.31 25.11,-2652.35 28.73,-2642.4 21.73,-2642.31"/>
+<path fill="none" stroke="midnightblue" d="M25.27,-2640.92C27.47,-2484.17 43.35,-1461.6 84,-1412 91.6,-1402.73 102.07,-1396.59 113.39,-1392.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.77,-2641.32 25.13,-2651.37 28.76,-2641.42 21.77,-2641.32"/>
 </g>
 <!-- Node530 -->
 <g id="node380" class="node">
 <title>Node530</title>
-<g id="a_node380"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1SpaceGeneratorNode.html" target="_top" xlink:title="The abstract class for design space generation.">
-<polygon fill="white" stroke="black" points="113.5,-1275 113.5,-1305 256.5,-1305 256.5,-1275 113.5,-1275"/>
-<text text-anchor="start" x="121.5" y="-1293" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1282" font-family="Helvetica,sans-Serif" font-size="10.00">::SpaceGeneratorNode</text>
+<g id="a_node380"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1SearchStrategyNode.html" target="_top" xlink:title="The search strategy for measure candidates generation.">
+<polygon fill="white" stroke="black" points="113.5,-1323 113.5,-1353 256.5,-1353 256.5,-1323 113.5,-1323"/>
+<text text-anchor="start" x="121.5" y="-1341" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1330" font-family="Helvetica,sans-Serif" font-size="10.00">::SearchStrategyNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node530 -->
 <g id="edge379" class="edge">
 <title>Node151&#45;&gt;Node530</title>
-<path fill="none" stroke="midnightblue" d="M25.2,-2642.36C26.89,-2480.3 40.08,-1368.78 84,-1315 91.58,-1305.71 102.05,-1299.58 113.36,-1295.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.7,-2642.32 25.09,-2652.36 28.7,-2642.39 21.7,-2642.32"/>
+<path fill="none" stroke="midnightblue" d="M25.23,-2641.11C27.17,-2481.57 41.72,-1414.69 84,-1363 91.59,-1353.72 102.06,-1347.58 113.38,-1343.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.73,-2641.31 25.11,-2651.35 28.73,-2641.4 21.73,-2641.31"/>
 </g>
 <!-- Node532 -->
 <g id="node382" class="node">
 <title>Node532</title>
-<g id="a_node382"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TaskRecordNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="113.5,-1226 113.5,-1256 256.5,-1256 256.5,-1226 113.5,-1226"/>
-<text text-anchor="start" x="121.5" y="-1244" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1233" font-family="Helvetica,sans-Serif" font-size="10.00">::TaskRecordNode</text>
+<g id="a_node382"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1SpaceGeneratorNode.html" target="_top" xlink:title="The abstract class for design space generation.">
+<polygon fill="white" stroke="black" points="113.5,-1274 113.5,-1304 256.5,-1304 256.5,-1274 113.5,-1274"/>
+<text text-anchor="start" x="121.5" y="-1292" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1281" font-family="Helvetica,sans-Serif" font-size="10.00">::SpaceGeneratorNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node532 -->
 <g id="edge381" class="edge">
 <title>Node151&#45;&gt;Node532</title>
-<path fill="none" stroke="midnightblue" d="M25.17,-2642.16C26.64,-2476.07 38.48,-1321.83 84,-1266 91.58,-1256.71 102.04,-1250.57 113.35,-1246.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.66,-2642.35 25.08,-2652.38 28.66,-2642.41 21.66,-2642.35"/>
+<path fill="none" stroke="midnightblue" d="M25.2,-2641.36C26.89,-2479.3 40.08,-1367.78 84,-1314 91.58,-1304.71 102.05,-1298.58 113.36,-1294.57"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.7,-2641.32 25.09,-2651.36 28.7,-2641.39 21.7,-2641.32"/>
 </g>
-<!-- Node533 -->
-<g id="node383" class="node">
-<title>Node533</title>
-<g id="a_node383"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TaskSchedulerNode.html" target="_top" xlink:title="The abstract interface of task schedulers.">
-<polygon fill="white" stroke="black" points="113.5,-1177 113.5,-1207 256.5,-1207 256.5,-1177 113.5,-1177"/>
-<text text-anchor="start" x="121.5" y="-1195" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1184" font-family="Helvetica,sans-Serif" font-size="10.00">::TaskSchedulerNode</text>
+<!-- Node534 -->
+<g id="node384" class="node">
+<title>Node534</title>
+<g id="a_node384"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TaskRecordNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="113.5,-1225 113.5,-1255 256.5,-1255 256.5,-1225 113.5,-1225"/>
+<text text-anchor="start" x="121.5" y="-1243" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1232" font-family="Helvetica,sans-Serif" font-size="10.00">::TaskRecordNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node533 -->
-<g id="edge382" class="edge">
-<title>Node151&#45;&gt;Node533</title>
-<path fill="none" stroke="midnightblue" d="M25.14,-2642.24C26.38,-2473.2 36.86,-1274.9 84,-1217 91.57,-1207.7 102.03,-1201.56 113.34,-1197.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.63,-2642.4 25.06,-2652.42 28.63,-2642.45 21.63,-2642.4"/>
+<!-- Node151&#45;&gt;Node534 -->
+<g id="edge383" class="edge">
+<title>Node151&#45;&gt;Node534</title>
+<path fill="none" stroke="midnightblue" d="M25.17,-2641.16C26.64,-2475.07 38.48,-1320.83 84,-1265 91.58,-1255.71 102.04,-1249.57 113.35,-1245.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.66,-2641.35 25.08,-2651.38 28.66,-2641.41 21.66,-2641.35"/>
 </g>
 <!-- Node535 -->
 <g id="node385" class="node">
 <title>Node535</title>
-<g id="a_node385"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuneContextNode.html" target="_top" xlink:title="The auto tuning context.">
-<polygon fill="white" stroke="black" points="113.5,-1128 113.5,-1158 256.5,-1158 256.5,-1128 113.5,-1128"/>
-<text text-anchor="start" x="121.5" y="-1146" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1135" font-family="Helvetica,sans-Serif" font-size="10.00">::TuneContextNode</text>
+<g id="a_node385"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TaskSchedulerNode.html" target="_top" xlink:title="The abstract interface of task schedulers.">
+<polygon fill="white" stroke="black" points="113.5,-1176 113.5,-1206 256.5,-1206 256.5,-1176 113.5,-1176"/>
+<text text-anchor="start" x="121.5" y="-1194" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1183" font-family="Helvetica,sans-Serif" font-size="10.00">::TaskSchedulerNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node535 -->
 <g id="edge384" class="edge">
 <title>Node151&#45;&gt;Node535</title>
-<path fill="none" stroke="midnightblue" d="M25.11,-2642.37C26.13,-2470.59 35.23,-1227.99 84,-1168 91.56,-1158.7 102.02,-1152.55 113.33,-1148.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.61,-2642.47 25.05,-2652.49 28.61,-2642.51 21.61,-2642.47"/>
-</g>
-<!-- Node536 -->
-<g id="node386" class="node">
-<title>Node536</title>
-<g id="a_node386"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuningRecordNode.html" target="_top" xlink:title="The class of tuning records.">
-<polygon fill="white" stroke="black" points="113.5,-1079 113.5,-1109 256.5,-1109 256.5,-1079 113.5,-1079"/>
-<text text-anchor="start" x="121.5" y="-1097" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1086" font-family="Helvetica,sans-Serif" font-size="10.00">::TuningRecordNode</text>
-</a>
-</g>
-</g>
-<!-- Node151&#45;&gt;Node536 -->
-<g id="edge385" class="edge">
-<title>Node151&#45;&gt;Node536</title>
-<path fill="none" stroke="midnightblue" d="M25.08,-2641.99C25.91,-2465.59 33.64,-1181.02 84,-1119 91.56,-1109.69 102.01,-1103.54 113.32,-1099.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.58,-2642.16 25.04,-2652.17 28.58,-2642.19 21.58,-2642.16"/>
+<path fill="none" stroke="midnightblue" d="M25.14,-2641.24C26.38,-2472.2 36.86,-1273.9 84,-1216 91.57,-1206.7 102.03,-1200.56 113.34,-1196.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.63,-2641.4 25.06,-2651.42 28.63,-2641.45 21.63,-2641.4"/>
 </g>
 <!-- Node537 -->
 <g id="node387" class="node">
 <title>Node537</title>
-<g id="a_node387"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1WorkloadNode.html" target="_top" xlink:title="A workload, i.e. an IRModule and its structural hash.">
-<polygon fill="white" stroke="black" points="113.5,-1030 113.5,-1060 256.5,-1060 256.5,-1030 113.5,-1030"/>
-<text text-anchor="start" x="121.5" y="-1048" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="185" y="-1037" font-family="Helvetica,sans-Serif" font-size="10.00">::WorkloadNode</text>
+<g id="a_node387"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuneContextNode.html" target="_top" xlink:title="The auto tuning context.">
+<polygon fill="white" stroke="black" points="113.5,-1127 113.5,-1157 256.5,-1157 256.5,-1127 113.5,-1127"/>
+<text text-anchor="start" x="121.5" y="-1145" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1134" font-family="Helvetica,sans-Serif" font-size="10.00">::TuneContextNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node537 -->
 <g id="edge386" class="edge">
 <title>Node151&#45;&gt;Node537</title>
-<path fill="none" stroke="midnightblue" d="M25.06,-2642.18C25.68,-2463.41 32.01,-1134.11 84,-1070 91.55,-1060.69 102,-1054.54 113.31,-1050.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.56,-2642.25 25.03,-2652.27 28.56,-2642.28 21.56,-2642.25"/>
+<path fill="none" stroke="midnightblue" d="M25.11,-2641.37C26.13,-2469.59 35.23,-1226.99 84,-1167 91.56,-1157.7 102.02,-1151.55 113.33,-1147.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.61,-2641.47 25.05,-2651.49 28.61,-2641.51 21.61,-2641.47"/>
 </g>
 <!-- Node538 -->
 <g id="node388" class="node">
 <title>Node538</title>
-<g id="a_node388"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="123.5,-981 123.5,-1011 246.5,-1011 246.5,-981 123.5,-981"/>
-<text text-anchor="start" x="131.5" y="-999" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="185" y="-988" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
+<g id="a_node388"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuningRecordNode.html" target="_top" xlink:title="The class of tuning records.">
+<polygon fill="white" stroke="black" points="113.5,-1078 113.5,-1108 256.5,-1108 256.5,-1078 113.5,-1078"/>
+<text text-anchor="start" x="121.5" y="-1096" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1085" font-family="Helvetica,sans-Serif" font-size="10.00">::TuningRecordNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node538 -->
 <g id="edge387" class="edge">
 <title>Node151&#45;&gt;Node538</title>
-<path fill="none" stroke="midnightblue" d="M25.04,-2642.13C25.46,-2460.11 30.39,-1087.18 84,-1021 93.74,-1008.97 108.32,-1002.22 123.35,-998.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.54,-2642.37 25.02,-2652.37 28.54,-2642.38 21.54,-2642.37"/>
+<path fill="none" stroke="midnightblue" d="M25.08,-2640.99C25.91,-2464.59 33.64,-1180.02 84,-1118 91.56,-1108.69 102.01,-1102.54 113.32,-1098.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.58,-2641.16 25.04,-2651.17 28.58,-2641.19 21.58,-2641.16"/>
 </g>
-<!-- Node559 -->
-<g id="node409" class="node">
-<title>Node559</title>
-<g id="a_node409"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html" target="_top" xlink:title="A dialect&#45;agnostic IRBuilder that constructs any IR of TVM. An idiomatic use of this class is to put ...">
-<polygon fill="white" stroke="black" points="124.5,-932 124.5,-962 245.5,-962 245.5,-932 124.5,-932"/>
-<text text-anchor="start" x="132.5" y="-950" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="185" y="-939" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderNode</text>
+<!-- Node539 -->
+<g id="node389" class="node">
+<title>Node539</title>
+<g id="a_node389"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1WorkloadNode.html" target="_top" xlink:title="A workload, i.e. an IRModule and its structural hash.">
+<polygon fill="white" stroke="black" points="113.5,-1029 113.5,-1059 256.5,-1059 256.5,-1029 113.5,-1029"/>
+<text text-anchor="start" x="121.5" y="-1047" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="185" y="-1036" font-family="Helvetica,sans-Serif" font-size="10.00">::WorkloadNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node559 -->
-<g id="edge408" class="edge">
-<title>Node151&#45;&gt;Node559</title>
-<path fill="none" stroke="midnightblue" d="M25.02,-2642.39C25.24,-2458.39 28.74,-1040.28 84,-972 93.96,-959.69 108.99,-952.9 124.39,-949.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.52,-2642.49 25,-2652.5 28.52,-2642.5 21.52,-2642.49"/>
+<!-- Node151&#45;&gt;Node539 -->
+<g id="edge388" class="edge">
+<title>Node151&#45;&gt;Node539</title>
+<path fill="none" stroke="midnightblue" d="M25.06,-2641.18C25.68,-2462.41 32.01,-1133.11 84,-1069 91.55,-1059.69 102,-1053.54 113.31,-1049.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.56,-2641.25 25.03,-2651.27 28.56,-2641.28 21.56,-2641.25"/>
 </g>
-<!-- Node560 -->
-<g id="node410" class="node">
-<title>Node560</title>
-<g id="a_node410"><a xlink:href="classtvm_1_1script_1_1printer_1_1DocNode.html" target="_top" xlink:title="The base class of all Doc.">
-<polygon fill="white" stroke="black" points="131.5,-883 131.5,-913 238.5,-913 238.5,-883 131.5,-883"/>
-<text text-anchor="start" x="139.5" y="-901" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::printer</text>
-<text text-anchor="middle" x="185" y="-890" font-family="Helvetica,sans-Serif" font-size="10.00">::DocNode</text>
+<!-- Node540 -->
+<g id="node390" class="node">
+<title>Node540</title>
+<g id="a_node390"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="123.5,-980 123.5,-1010 246.5,-1010 246.5,-980 123.5,-980"/>
+<text text-anchor="start" x="131.5" y="-998" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="185" y="-987" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node560 -->
-<g id="edge409" class="edge">
-<title>Node151&#45;&gt;Node560</title>
-<path fill="none" stroke="midnightblue" d="M25,-2642.1C25.03,-2453.95 27.15,-993.32 84,-923 95.48,-908.81 113.68,-901.95 131.43,-898.85"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.5,-2642.22 25,-2652.22 28.5,-2642.22 21.5,-2642.22"/>
+<!-- Node151&#45;&gt;Node540 -->
+<g id="edge389" class="edge">
+<title>Node151&#45;&gt;Node540</title>
+<path fill="none" stroke="midnightblue" d="M25.04,-2641.13C25.46,-2459.11 30.39,-1086.18 84,-1020 93.74,-1007.97 108.32,-1001.22 123.35,-997.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.54,-2641.37 25.02,-2651.37 28.54,-2641.38 21.54,-2641.37"/>
 </g>
-<!-- Node587 -->
-<g id="node437" class="node">
-<title>Node587</title>
-<g id="a_node437"><a xlink:href="classtvm_1_1script_1_1printer_1_1FrameNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="131.5,-834 131.5,-864 238.5,-864 238.5,-834 131.5,-834"/>
-<text text-anchor="start" x="139.5" y="-852" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::printer</text>
-<text text-anchor="middle" x="185" y="-841" font-family="Helvetica,sans-Serif" font-size="10.00">::FrameNode</text>
+<!-- Node561 -->
+<g id="node411" class="node">
+<title>Node561</title>
+<g id="a_node411"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html" target="_top" xlink:title="A dialect&#45;agnostic IRBuilder that constructs any IR of TVM. An idiomatic use of this class is to put ...">
+<polygon fill="white" stroke="black" points="124.5,-931 124.5,-961 245.5,-961 245.5,-931 124.5,-931"/>
+<text text-anchor="start" x="132.5" y="-949" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="185" y="-938" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node587 -->
-<g id="edge436" class="edge">
-<title>Node151&#45;&gt;Node587</title>
-<path fill="none" stroke="midnightblue" d="M24.98,-2642.13C24.83,-2451.16 25.52,-946.4 84,-874 95.47,-859.8 113.67,-852.95 131.43,-849.84"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.48,-2642.38 24.99,-2652.37 28.48,-2642.37 21.48,-2642.38"/>
+<!-- Node151&#45;&gt;Node561 -->
+<g id="edge410" class="edge">
+<title>Node151&#45;&gt;Node561</title>
+<path fill="none" stroke="midnightblue" d="M25.02,-2641.39C25.24,-2457.39 28.74,-1039.28 84,-971 93.96,-958.69 108.99,-951.9 124.39,-948.29"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.52,-2641.49 25,-2651.5 28.52,-2641.5 21.52,-2641.49"/>
 </g>
-<!-- Node588 -->
-<g id="node438" class="node">
-<title>Node588</title>
-<g id="a_node438"><a xlink:href="classtvm_1_1script_1_1printer_1_1IRDocsifierNode.html" target="_top" xlink:title="IRDocsifier is the top&#45;level interface in the IR&#45;&gt;Doc process.">
-<polygon fill="white" stroke="black" points="131.5,-785 131.5,-815 238.5,-815 238.5,-785 131.5,-785"/>
-<text text-anchor="start" x="139.5" y="-803" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::printer</text>
-<text text-anchor="middle" x="185" y="-792" font-family="Helvetica,sans-Serif" font-size="10.00">::IRDocsifierNode</text>
+<!-- Node562 -->
+<g id="node412" class="node">
+<title>Node562</title>
+<g id="a_node412"><a xlink:href="classtvm_1_1script_1_1printer_1_1DocNode.html" target="_top" xlink:title="The base class of all Doc.">
+<polygon fill="white" stroke="black" points="131.5,-882 131.5,-912 238.5,-912 238.5,-882 131.5,-882"/>
+<text text-anchor="start" x="139.5" y="-900" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::printer</text>
+<text text-anchor="middle" x="185" y="-889" font-family="Helvetica,sans-Serif" font-size="10.00">::DocNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node588 -->
-<g id="edge437" class="edge">
-<title>Node151&#45;&gt;Node588</title>
-<path fill="none" stroke="midnightblue" d="M24.96,-2641.88C24.63,-2446.93 23.92,-899.45 84,-825 95.46,-810.79 113.67,-803.94 131.42,-800.83"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.46,-2642.12 24.98,-2652.11 28.46,-2642.1 21.46,-2642.12"/>
+<!-- Node151&#45;&gt;Node562 -->
+<g id="edge411" class="edge">
+<title>Node151&#45;&gt;Node562</title>
+<path fill="none" stroke="midnightblue" d="M25,-2641.1C25.03,-2452.95 27.15,-992.32 84,-922 95.48,-907.81 113.68,-900.95 131.43,-897.85"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.5,-2641.22 25,-2651.22 28.5,-2641.22 21.5,-2641.22"/>
 </g>
 <!-- Node589 -->
 <g id="node439" class="node">
 <title>Node589</title>
-<g id="a_node439"><a xlink:href="classtvm_1_1te_1_1OperationNode.html" target="_top" xlink:title="Base class of all operation nodes.">
-<polygon fill="white" stroke="black" points="119.5,-746.5 119.5,-765.5 250.5,-765.5 250.5,-746.5 119.5,-746.5"/>
-<text text-anchor="middle" x="185" y="-753.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::te::OperationNode</text>
+<g id="a_node439"><a xlink:href="classtvm_1_1script_1_1printer_1_1FrameNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="131.5,-833 131.5,-863 238.5,-863 238.5,-833 131.5,-833"/>
+<text text-anchor="start" x="139.5" y="-851" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::printer</text>
+<text text-anchor="middle" x="185" y="-840" font-family="Helvetica,sans-Serif" font-size="10.00">::FrameNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node589 -->
 <g id="edge438" class="edge">
 <title>Node151&#45;&gt;Node589</title>
-<path fill="none" stroke="midnightblue" d="M24.92,-2642.23C24.22,-2445.85 20.46,-851.09 84,-776 92.98,-765.39 105.85,-759.41 119.39,-756.21"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.42,-2642.29 24.96,-2652.28 28.42,-2642.26 21.42,-2642.29"/>
+<path fill="none" stroke="midnightblue" d="M24.98,-2641.13C24.83,-2450.16 25.52,-945.4 84,-873 95.47,-858.8 113.67,-851.95 131.43,-848.84"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.48,-2641.38 24.99,-2651.37 28.48,-2641.37 21.48,-2641.38"/>
 </g>
-<!-- Node595 -->
-<g id="node445" class="node">
-<title>Node595</title>
-<g id="a_node445"><a xlink:href="classtvm_1_1tirx_1_1BijectiveLayoutNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="102,-708.5 102,-727.5 268,-727.5 268,-708.5 102,-708.5"/>
-<text text-anchor="middle" x="185" y="-715.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::BijectiveLayoutNode</text>
+<!-- Node590 -->
+<g id="node440" class="node">
+<title>Node590</title>
+<g id="a_node440"><a xlink:href="classtvm_1_1script_1_1printer_1_1IRDocsifierNode.html" target="_top" xlink:title="IRDocsifier is the top&#45;level interface in the IR&#45;&gt;Doc process.">
+<polygon fill="white" stroke="black" points="131.5,-784 131.5,-814 238.5,-814 238.5,-784 131.5,-784"/>
+<text text-anchor="start" x="139.5" y="-802" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::printer</text>
+<text text-anchor="middle" x="185" y="-791" font-family="Helvetica,sans-Serif" font-size="10.00">::IRDocsifierNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node595 -->
-<g id="edge444" class="edge">
-<title>Node151&#45;&gt;Node595</title>
-<path fill="none" stroke="midnightblue" d="M24.9,-2641.82C24.01,-2441.34 18.8,-813.34 84,-737 88.93,-731.22 95.03,-726.85 101.77,-723.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.4,-2642.09 24.95,-2652.07 28.4,-2642.06 21.4,-2642.09"/>
+<!-- Node151&#45;&gt;Node590 -->
+<g id="edge439" class="edge">
+<title>Node151&#45;&gt;Node590</title>
+<path fill="none" stroke="midnightblue" d="M24.96,-2640.88C24.63,-2445.93 23.92,-898.45 84,-824 95.46,-809.79 113.67,-802.94 131.42,-799.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.46,-2641.12 24.98,-2651.11 28.46,-2641.1 21.46,-2641.12"/>
 </g>
-<!-- Node596 -->
-<g id="node446" class="node">
-<title>Node596</title>
-<g id="a_node446"><a xlink:href="classtvm_1_1tirx_1_1BufferNode.html" target="_top" xlink:title="Node to represent a buffer.">
-<polygon fill="white" stroke="black" points="125.5,-670.5 125.5,-689.5 244.5,-689.5 244.5,-670.5 125.5,-670.5"/>
-<text text-anchor="middle" x="185" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::BufferNode</text>
+<!-- Node591 -->
+<g id="node441" class="node">
+<title>Node591</title>
+<g id="a_node441"><a xlink:href="classtvm_1_1te_1_1OperationNode.html" target="_top" xlink:title="Base class of all operation nodes.">
+<polygon fill="white" stroke="black" points="119.5,-745.5 119.5,-764.5 250.5,-764.5 250.5,-745.5 119.5,-745.5"/>
+<text text-anchor="middle" x="185" y="-752.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::te::OperationNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node596 -->
-<g id="edge445" class="edge">
-<title>Node151&#45;&gt;Node596</title>
-<path fill="none" stroke="midnightblue" d="M24.89,-2642.04C23.87,-2440.38 17.47,-776.95 84,-699 94.33,-686.9 109.75,-680.96 125.41,-678.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.39,-2642.35 24.94,-2652.33 28.39,-2642.31 21.39,-2642.35"/>
+<!-- Node151&#45;&gt;Node591 -->
+<g id="edge440" class="edge">
+<title>Node151&#45;&gt;Node591</title>
+<path fill="none" stroke="midnightblue" d="M24.92,-2641.23C24.22,-2444.85 20.46,-850.09 84,-775 92.98,-764.39 105.85,-758.41 119.39,-755.21"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.42,-2641.29 24.96,-2651.28 28.42,-2641.26 21.42,-2641.29"/>
 </g>
 <!-- Node597 -->
 <g id="node447" class="node">
 <title>Node597</title>
-<g id="a_node447"><a xlink:href="classtvm_1_1tirx_1_1CommReducerNode.html" target="_top" xlink:title="A commutative reducer node to represent a commutative binary operator with identity element.">
-<polygon fill="white" stroke="black" points="104,-632.5 104,-651.5 266,-651.5 266,-632.5 104,-632.5"/>
-<text text-anchor="middle" x="185" y="-639.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::CommReducerNode</text>
+<g id="a_node447"><a xlink:href="classtvm_1_1tirx_1_1BijectiveLayoutNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="102,-707.5 102,-726.5 268,-726.5 268,-707.5 102,-707.5"/>
+<text text-anchor="middle" x="185" y="-714.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::BijectiveLayoutNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node597 -->
 <g id="edge446" class="edge">
 <title>Node151&#45;&gt;Node597</title>
-<path fill="none" stroke="midnightblue" d="M24.88,-2641.96C23.72,-2437.78 16.17,-740.52 84,-661 89.39,-654.68 96.17,-650.04 103.65,-646.68"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.38,-2642.16 24.94,-2652.14 28.38,-2642.12 21.38,-2642.16"/>
+<path fill="none" stroke="midnightblue" d="M24.9,-2640.82C24.01,-2440.34 18.8,-812.34 84,-736 88.93,-730.22 95.03,-725.85 101.77,-722.57"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.4,-2641.09 24.95,-2651.07 28.4,-2641.06 21.4,-2641.09"/>
 </g>
 <!-- Node598 -->
 <g id="node448" class="node">
 <title>Node598</title>
-<g id="a_node448"><a xlink:href="classtvm_1_1tirx_1_1DependencyNode.html" target="_top" xlink:title="A tuple (src, dst, kind) representing certain types of dependency. For example, (A,...">
-<polygon fill="white" stroke="black" points="109.5,-594.5 109.5,-613.5 260.5,-613.5 260.5,-594.5 109.5,-594.5"/>
-<text text-anchor="middle" x="185" y="-601.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::DependencyNode</text>
+<g id="a_node448"><a xlink:href="classtvm_1_1tirx_1_1BufferNode.html" target="_top" xlink:title="Node to represent a buffer.">
+<polygon fill="white" stroke="black" points="125.5,-669.5 125.5,-688.5 244.5,-688.5 244.5,-669.5 125.5,-669.5"/>
+<text text-anchor="middle" x="185" y="-676.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::BufferNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node598 -->
 <g id="edge447" class="edge">
 <title>Node151&#45;&gt;Node598</title>
-<path fill="none" stroke="midnightblue" d="M25.23,-2642.09C27.67,-2434 49.4,-663.58 84,-623 90.65,-615.2 99.42,-609.96 109.01,-606.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.73,-2642.16 25.11,-2652.2 28.73,-2642.24 21.73,-2642.16"/>
+<path fill="none" stroke="midnightblue" d="M24.89,-2641.04C23.87,-2439.38 17.47,-775.95 84,-698 94.33,-685.9 109.75,-679.96 125.41,-677.35"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.39,-2641.35 24.94,-2651.33 28.39,-2641.31 21.39,-2641.35"/>
 </g>
 <!-- Node599 -->
 <g id="node449" class="node">
 <title>Node599</title>
-<g id="a_node449"><a xlink:href="classtvm_1_1tirx_1_1IndexMapNode.html" target="_top" xlink:title="Defines a mapping between two representations of indices into a buffer.">
-<polygon fill="white" stroke="black" points="116,-556.5 116,-575.5 254,-575.5 254,-556.5 116,-556.5"/>
-<text text-anchor="middle" x="185" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::IndexMapNode</text>
+<g id="a_node449"><a xlink:href="classtvm_1_1tirx_1_1CommReducerNode.html" target="_top" xlink:title="A commutative reducer node to represent a commutative binary operator with identity element.">
+<polygon fill="white" stroke="black" points="104,-631.5 104,-650.5 266,-650.5 266,-631.5 104,-631.5"/>
+<text text-anchor="middle" x="185" y="-638.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::CommReducerNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node599 -->
 <g id="edge448" class="edge">
 <title>Node151&#45;&gt;Node599</title>
-<path fill="none" stroke="midnightblue" d="M25.22,-2642.37C27.55,-2433.43 48.73,-626.39 84,-585 92.19,-575.38 103.61,-569.66 115.81,-566.4"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.71,-2642.44 25.1,-2652.48 28.71,-2642.52 21.71,-2642.44"/>
+<path fill="none" stroke="midnightblue" d="M24.88,-2640.96C23.72,-2436.78 16.17,-739.52 84,-660 89.39,-653.68 96.17,-649.04 103.65,-645.68"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.38,-2641.16 24.94,-2651.14 28.38,-2641.12 21.38,-2641.16"/>
 </g>
 <!-- Node600 -->
 <g id="node450" class="node">
 <title>Node600</title>
-<g id="a_node450"><a xlink:href="classtvm_1_1tirx_1_1LayoutNode.html" target="_top" xlink:title="Layout is to describe how data is organized within an N&#45;dimention tensor. It is composed of upper cas...">
-<polygon fill="white" stroke="black" points="123.5,-518.5 123.5,-537.5 246.5,-537.5 246.5,-518.5 123.5,-518.5"/>
-<text text-anchor="middle" x="185" y="-525.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LayoutNode</text>
+<g id="a_node450"><a xlink:href="classtvm_1_1tirx_1_1DependencyNode.html" target="_top" xlink:title="A tuple (src, dst, kind) representing certain types of dependency. For example, (A,...">
+<polygon fill="white" stroke="black" points="109.5,-593.5 109.5,-612.5 260.5,-612.5 260.5,-593.5 109.5,-593.5"/>
+<text text-anchor="middle" x="185" y="-600.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::DependencyNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node600 -->
 <g id="edge449" class="edge">
 <title>Node151&#45;&gt;Node600</title>
-<path fill="none" stroke="midnightblue" d="M25.21,-2642.01C27.47,-2429.25 48.1,-589.16 84,-547 93.85,-535.43 108.37,-529.49 123.31,-526.7"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.71,-2642.27 25.1,-2652.31 28.71,-2642.34 21.71,-2642.27"/>
+<path fill="none" stroke="midnightblue" d="M25.23,-2641.09C27.67,-2433 49.4,-662.58 84,-622 90.65,-614.2 99.42,-608.96 109.01,-605.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.73,-2641.16 25.11,-2651.2 28.73,-2641.24 21.73,-2641.16"/>
 </g>
 <!-- Node601 -->
 <g id="node451" class="node">
 <title>Node601</title>
-<g id="a_node451"><a xlink:href="classtvm_1_1tirx_1_1MatchBufferRegionNode.html" target="_top" xlink:title="Match introduces a constraint that the source buffer region can be remapped to the data layout specif...">
-<polygon fill="white" stroke="black" points="93.5,-480.5 93.5,-499.5 276.5,-499.5 276.5,-480.5 93.5,-480.5"/>
-<text text-anchor="middle" x="185" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::MatchBufferRegionNode</text>
+<g id="a_node451"><a xlink:href="classtvm_1_1tirx_1_1IndexMapNode.html" target="_top" xlink:title="Defines a mapping between two representations of indices into a buffer.">
+<polygon fill="white" stroke="black" points="116,-555.5 116,-574.5 254,-574.5 254,-555.5 116,-555.5"/>
+<text text-anchor="middle" x="185" y="-562.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::IndexMapNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node601 -->
 <g id="edge450" class="edge">
 <title>Node151&#45;&gt;Node601</title>
-<path fill="none" stroke="midnightblue" d="M25.2,-2641.97C27.38,-2426.93 47.44,-551.94 84,-509 87.09,-505.37 90.65,-502.29 94.53,-499.69"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.7,-2642.1 25.1,-2652.13 28.7,-2642.17 21.7,-2642.1"/>
+<path fill="none" stroke="midnightblue" d="M25.22,-2641.37C27.55,-2432.43 48.73,-625.39 84,-584 92.19,-574.38 103.61,-568.66 115.81,-565.4"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.71,-2641.44 25.1,-2651.48 28.71,-2641.52 21.71,-2641.44"/>
 </g>
 <!-- Node602 -->
 <g id="node452" class="node">
 <title>Node602</title>
-<g id="a_node452"><a xlink:href="classtvm_1_1tirx_1_1SBlockDependenceInfoNode.html" target="_top" xlink:title="An object that helps build and query block level dependences using the 2 core objects SBlockScope and...">
-<polygon fill="white" stroke="black" points="106,-431 106,-461 264,-461 264,-431 106,-431"/>
-<text text-anchor="start" x="114" y="-449" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SBlockDependence</text>
-<text text-anchor="middle" x="185" y="-438" font-family="Helvetica,sans-Serif" font-size="10.00">InfoNode</text>
+<g id="a_node452"><a xlink:href="classtvm_1_1tirx_1_1LayoutNode.html" target="_top" xlink:title="Layout is to describe how data is organized within an N&#45;dimention tensor. It is composed of upper cas...">
+<polygon fill="white" stroke="black" points="123.5,-517.5 123.5,-536.5 246.5,-536.5 246.5,-517.5 123.5,-517.5"/>
+<text text-anchor="middle" x="185" y="-524.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LayoutNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node602 -->
 <g id="edge451" class="edge">
 <title>Node151&#45;&gt;Node602</title>
-<path fill="none" stroke="midnightblue" d="M25.2,-2642.29C27.41,-2426.78 48.04,-515.8 84,-471 89.83,-463.74 97.41,-458.4 105.8,-454.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.7,-2642.41 25.1,-2652.44 28.7,-2642.48 21.7,-2642.41"/>
+<path fill="none" stroke="midnightblue" d="M25.21,-2641.01C27.47,-2428.25 48.1,-588.16 84,-546 93.85,-534.43 108.37,-528.49 123.31,-525.7"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.71,-2641.27 25.1,-2651.31 28.71,-2641.34 21.71,-2641.27"/>
 </g>
 <!-- Node603 -->
 <g id="node453" class="node">
 <title>Node603</title>
-<g id="a_node453"><a xlink:href="classtvm_1_1tirx_1_1SBlockScopeNode.html" target="_top" xlink:title="An object with 1&#45;to&#45;1 correspondence with each block reference in the sref tree. This data structure ...">
-<polygon fill="white" stroke="black" points="109,-392.5 109,-411.5 261,-411.5 261,-392.5 109,-392.5"/>
-<text text-anchor="middle" x="185" y="-399.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SBlockScopeNode</text>
+<g id="a_node453"><a xlink:href="classtvm_1_1tirx_1_1MatchBufferRegionNode.html" target="_top" xlink:title="Match introduces a constraint that the source buffer region can be remapped to the data layout specif...">
+<polygon fill="white" stroke="black" points="93.5,-479.5 93.5,-498.5 276.5,-498.5 276.5,-479.5 93.5,-479.5"/>
+<text text-anchor="middle" x="185" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::MatchBufferRegionNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node603 -->
 <g id="edge452" class="edge">
 <title>Node151&#45;&gt;Node603</title>
-<path fill="none" stroke="midnightblue" d="M25.18,-2642.17C27.18,-2423.37 46.15,-466.95 84,-422 90.61,-414.15 99.36,-408.82 108.94,-405.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.68,-2642.19 25.09,-2652.22 28.68,-2642.25 21.68,-2642.19"/>
+<path fill="none" stroke="midnightblue" d="M25.2,-2640.97C27.38,-2425.93 47.44,-550.94 84,-508 87.09,-504.37 90.65,-501.29 94.53,-498.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.7,-2641.1 25.1,-2651.13 28.7,-2641.17 21.7,-2641.1"/>
 </g>
 <!-- Node604 -->
 <g id="node454" class="node">
 <title>Node604</title>
-<g id="a_node454"><a xlink:href="classtvm_1_1tirx_1_1StmtNode.html" target="_top" xlink:title="Base node of all statements.">
-<polygon fill="white" stroke="black" points="128.5,-352.5 128.5,-371.5 241.5,-371.5 241.5,-352.5 128.5,-352.5"/>
-<text text-anchor="middle" x="185" y="-359.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::StmtNode</text>
+<g id="a_node454"><a xlink:href="classtvm_1_1tirx_1_1SBlockDependenceInfoNode.html" target="_top" xlink:title="An object that helps build and query block level dependences using the 2 core objects SBlockScope and...">
+<polygon fill="white" stroke="black" points="106,-430 106,-460 264,-460 264,-430 106,-430"/>
+<text text-anchor="start" x="114" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SBlockDependence</text>
+<text text-anchor="middle" x="185" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">InfoNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node604 -->
 <g id="edge453" class="edge">
 <title>Node151&#45;&gt;Node604</title>
-<path fill="none" stroke="midnightblue" d="M25.17,-2641.82C27.13,-2419.24 45.72,-428.92 84,-383 94.9,-369.92 111.69,-363.69 128.42,-361.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.67,-2642.02 25.08,-2652.05 28.67,-2642.08 21.67,-2642.02"/>
+<path fill="none" stroke="midnightblue" d="M25.2,-2641.29C27.41,-2425.78 48.04,-514.8 84,-470 89.83,-462.74 97.41,-457.4 105.8,-453.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.7,-2641.41 25.1,-2651.44 28.7,-2641.48 21.7,-2641.41"/>
 </g>
-<!-- Node618 -->
-<g id="node468" class="node">
-<title>Node618</title>
-<g id="a_node468"><a xlink:href="classtvm_1_1tirx_1_1StmtSRefNode.html" target="_top" xlink:title="An object that refers to schedulable elements (block/for&#45;loop) in TensorIR, aka &quot;sref&quot;.">
-<polygon fill="white" stroke="black" points="117,-314.5 117,-333.5 253,-333.5 253,-314.5 117,-314.5"/>
-<text text-anchor="middle" x="185" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::StmtSRefNode</text>
+<!-- Node605 -->
+<g id="node455" class="node">
+<title>Node605</title>
+<g id="a_node455"><a xlink:href="classtvm_1_1tirx_1_1SBlockScopeNode.html" target="_top" xlink:title="An object with 1&#45;to&#45;1 correspondence with each block reference in the sref tree. This data structure ...">
+<polygon fill="white" stroke="black" points="109,-391.5 109,-410.5 261,-410.5 261,-391.5 109,-391.5"/>
+<text text-anchor="middle" x="185" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SBlockScopeNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node618 -->
-<g id="edge467" class="edge">
-<title>Node151&#45;&gt;Node618</title>
-<path fill="none" stroke="midnightblue" d="M25.16,-2642.15C26.97,-2419.05 44.57,-389.41 84,-343 92.41,-333.1 104.23,-327.32 116.82,-324.11"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.66,-2642.34 25.08,-2652.37 28.66,-2642.4 21.66,-2642.34"/>
+<!-- Node151&#45;&gt;Node605 -->
+<g id="edge454" class="edge">
+<title>Node151&#45;&gt;Node605</title>
+<path fill="none" stroke="midnightblue" d="M25.18,-2641.17C27.18,-2422.37 46.15,-465.95 84,-421 90.61,-413.15 99.36,-407.82 108.94,-404.29"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.68,-2641.19 25.09,-2651.22 28.68,-2641.25 21.68,-2641.19"/>
 </g>
-<!-- Node619 -->
-<g id="node469" class="node">
-<title>Node619</title>
-<g id="a_node469"><a xlink:href="classtvm_1_1tirx_1_1TensorIntrinNode.html" target="_top" xlink:title="Tensor intrinsics for tensorization.">
-<polygon fill="white" stroke="black" points="111.5,-276.5 111.5,-295.5 258.5,-295.5 258.5,-276.5 111.5,-276.5"/>
-<text text-anchor="middle" x="185" y="-283.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::TensorIntrinNode</text>
+<!-- Node606 -->
+<g id="node456" class="node">
+<title>Node606</title>
+<g id="a_node456"><a xlink:href="classtvm_1_1tirx_1_1StmtNode.html" target="_top" xlink:title="Base node of all statements.">
+<polygon fill="white" stroke="black" points="128.5,-349.5 128.5,-368.5 241.5,-368.5 241.5,-349.5 128.5,-349.5"/>
+<text text-anchor="middle" x="185" y="-356.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::StmtNode</text>
 </a>
 </g>
 </g>
-<!-- Node151&#45;&gt;Node619 -->
-<g id="edge468" class="edge">
-<title>Node151&#45;&gt;Node619</title>
-<path fill="none" stroke="midnightblue" d="M25.15,-2642.16C26.89,-2417.12 43.92,-352.2 84,-305 91.21,-296.51 100.92,-291.05 111.48,-287.64"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.65,-2642.19 25.07,-2652.21 28.65,-2642.24 21.65,-2642.19"/>
+<!-- Node151&#45;&gt;Node606 -->
+<g id="edge455" class="edge">
+<title>Node151&#45;&gt;Node606</title>
+<path fill="none" stroke="midnightblue" d="M25.18,-2640.83C27.18,-2418.28 46.16,-428.29 84,-382 94.82,-368.76 111.59,-362.21 128.32,-359.21"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.68,-2641.02 25.09,-2651.05 28.68,-2641.09 21.68,-2641.02"/>
 </g>
 <!-- Node620 -->
 <g id="node470" class="node">
 <title>Node620</title>
-<g id="a_node470"><a xlink:href="classtvm_1_1transform_1_1PassContextNode.html" target="_top" xlink:title="PassContextNode contains the information that a pass can rely on, such as analysis results.">
-<polygon fill="white" stroke="black" points="94,-238.5 94,-257.5 276,-257.5 276,-238.5 94,-238.5"/>
-<text text-anchor="middle" x="185" y="-245.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassContextNode</text>
+<g id="a_node470"><a xlink:href="classtvm_1_1tirx_1_1StmtSRefNode.html" target="_top" xlink:title="An object that refers to schedulable elements (block/for&#45;loop) in TensorIR, aka &quot;sref&quot;.">
+<polygon fill="white" stroke="black" points="117,-311.5 117,-330.5 253,-330.5 253,-311.5 117,-311.5"/>
+<text text-anchor="middle" x="185" y="-318.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::StmtSRefNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node620 -->
 <g id="edge469" class="edge">
 <title>Node151&#45;&gt;Node620</title>
-<path fill="none" stroke="midnightblue" d="M25.14,-2641.84C26.82,-2413.18 43.28,-314.97 84,-267 87.09,-263.36 90.64,-260.28 94.51,-257.68"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.64,-2642.03 25.07,-2652.05 28.64,-2642.08 21.64,-2642.03"/>
+<path fill="none" stroke="midnightblue" d="M25.16,-2641.13C26.97,-2417.84 44.54,-386.45 84,-340 92.41,-330.1 104.23,-324.32 116.82,-321.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.66,-2641.33 25.08,-2651.36 28.66,-2641.39 21.66,-2641.33"/>
 </g>
 <!-- Node621 -->
 <g id="node471" class="node">
 <title>Node621</title>
-<g id="a_node471"><a xlink:href="classtvm_1_1transform_1_1PassInfoNode.html" target="_top" xlink:title="Meta data that will be used to help optimization and analysis.">
-<polygon fill="white" stroke="black" points="104,-200.5 104,-219.5 266,-219.5 266,-200.5 104,-200.5"/>
-<text text-anchor="middle" x="185" y="-207.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassInfoNode</text>
+<g id="a_node471"><a xlink:href="classtvm_1_1tirx_1_1TensorIntrinNode.html" target="_top" xlink:title="Tensor intrinsics for tensorization.">
+<polygon fill="white" stroke="black" points="111.5,-273.5 111.5,-292.5 258.5,-292.5 258.5,-273.5 111.5,-273.5"/>
+<text text-anchor="middle" x="185" y="-280.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::TensorIntrinNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node621 -->
 <g id="edge470" class="edge">
 <title>Node151&#45;&gt;Node621</title>
-<path fill="none" stroke="midnightblue" d="M25.13,-2642.23C26.72,-2413.56 42.6,-277.79 84,-229 89.37,-222.67 96.15,-218.02 103.62,-214.65"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.63,-2642.38 25.06,-2652.4 28.63,-2642.43 21.63,-2642.38"/>
+<path fill="none" stroke="midnightblue" d="M25.15,-2641.15C26.88,-2415.92 43.88,-349.24 84,-302 91.21,-293.51 100.92,-288.05 111.48,-284.64"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.65,-2641.18 25.07,-2651.2 28.65,-2641.23 21.65,-2641.18"/>
 </g>
 <!-- Node622 -->
 <g id="node472" class="node">
 <title>Node622</title>
-<g id="a_node472"><a xlink:href="classtvm_1_1transform_1_1PassNode.html" target="_top" xlink:title="PassNode is the base type of differnt types of optimization passes. It is designed as a pure class an...">
-<polygon fill="white" stroke="black" points="113.5,-76.5 113.5,-95.5 256.5,-95.5 256.5,-76.5 113.5,-76.5"/>
-<text text-anchor="middle" x="185" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassNode</text>
+<g id="a_node472"><a xlink:href="classtvm_1_1transform_1_1PassContextNode.html" target="_top" xlink:title="PassContextNode contains the information that a pass can rely on, such as analysis results.">
+<polygon fill="white" stroke="black" points="94,-235.5 94,-254.5 276,-254.5 276,-235.5 94,-235.5"/>
+<text text-anchor="middle" x="185" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassContextNode</text>
 </a>
 </g>
 </g>
 <!-- Node151&#45;&gt;Node622 -->
 <g id="edge471" class="edge">
 <title>Node151&#45;&gt;Node622</title>
-<path fill="none" stroke="midnightblue" d="M25.06,-2641.83C25.84,-2412.97 34.35,-310.96 84,-191 101.91,-147.74 146.58,-111.91 169.68,-95.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="21.56,-2642.04 25.03,-2652.05 28.56,-2642.06 21.56,-2642.04"/>
+<path fill="none" stroke="midnightblue" d="M25.14,-2640.83C26.81,-2411.97 43.25,-312.01 84,-264 87.09,-260.36 90.64,-257.28 94.51,-254.68"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.64,-2641.02 25.07,-2651.05 28.64,-2641.07 21.64,-2641.02"/>
+</g>
+<!-- Node623 -->
+<g id="node473" class="node">
+<title>Node623</title>
+<g id="a_node473"><a xlink:href="classtvm_1_1transform_1_1PassInfoNode.html" target="_top" xlink:title="Meta data that will be used to help optimization and analysis.">
+<polygon fill="white" stroke="black" points="104,-197.5 104,-216.5 266,-216.5 266,-197.5 104,-197.5"/>
+<text text-anchor="middle" x="185" y="-204.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassInfoNode</text>
+</a>
+</g>
+</g>
+<!-- Node151&#45;&gt;Node623 -->
+<g id="edge472" class="edge">
+<title>Node151&#45;&gt;Node623</title>
+<path fill="none" stroke="midnightblue" d="M25.13,-2641.21C26.71,-2412.36 42.57,-274.83 84,-226 89.37,-219.67 96.14,-215.02 103.62,-211.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.63,-2641.37 25.06,-2651.39 28.63,-2641.42 21.63,-2641.37"/>
+</g>
+<!-- Node624 -->
+<g id="node474" class="node">
+<title>Node624</title>
+<g id="a_node474"><a xlink:href="classtvm_1_1transform_1_1PassNode.html" target="_top" xlink:title="PassNode is the base type of differnt types of optimization passes. It is designed as a pure class an...">
+<polygon fill="white" stroke="black" points="113.5,-76.5 113.5,-95.5 256.5,-95.5 256.5,-76.5 113.5,-76.5"/>
+<text text-anchor="middle" x="185" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassNode</text>
+</a>
+</g>
+</g>
+<!-- Node151&#45;&gt;Node624 -->
+<g id="edge473" class="edge">
+<title>Node151&#45;&gt;Node624</title>
+<path fill="none" stroke="midnightblue" d="M25.06,-2640.81C25.74,-2411.72 33.44,-307.69 84,-188 101.76,-145.97 145.65,-111.66 168.93,-95.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="21.56,-2641.03 25.03,-2651.04 28.56,-2641.05 21.56,-2641.03"/>
 </g>
 <!-- Node154 -->
 <g id="node4" class="node">
 <title>Node154</title>
 <g id="a_node4"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-10140 351,-10170 499,-10170 499,-10140 351,-10140"/>
-<text text-anchor="start" x="359" y="-10158" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-10147" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SliceScatterAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-10199 351,-10229 499,-10229 499,-10199 351,-10199"/>
+<text text-anchor="start" x="359" y="-10217" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-10206" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SliceScatterAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node154 -->
 <g id="edge3" class="edge">
 <title>Node153&#45;&gt;Node154</title>
-<path fill="none" stroke="midnightblue" d="M252.51,-8157.88C265.36,-8161.06 277.46,-8166.88 286,-8177 356.01,-8259.99 253.81,-10046.51 322,-10131 329.43,-10140.2 339.66,-10146.28 350.79,-10150.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.07,-8154.43 242.59,-8155.94 251.73,-8161.3 253.07,-8154.43"/>
+<path fill="none" stroke="midnightblue" d="M252.51,-8192.88C265.36,-8196.06 277.47,-8201.88 286,-8212 356.86,-8296.02 252.98,-10104.47 322,-10190 329.43,-10199.2 339.66,-10205.28 350.79,-10209.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.07,-8189.42 242.59,-8190.94 251.73,-8196.29 253.07,-8189.42"/>
 </g>
 <!-- Node156 -->
 <g id="node6" class="node">
 <title>Node156</title>
 <g id="a_node6"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-10091 351,-10121 499,-10121 499,-10091 351,-10091"/>
-<text text-anchor="start" x="359" y="-10109" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-10098" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ScatterCollectiveAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-10150 351,-10180 499,-10180 499,-10150 351,-10150"/>
+<text text-anchor="start" x="359" y="-10168" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-10157" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ScatterCollectiveAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node156 -->
 <g id="edge5" class="edge">
 <title>Node153&#45;&gt;Node156</title>
-<path fill="none" stroke="midnightblue" d="M252.51,-8157.89C265.36,-8161.06 277.46,-8166.88 286,-8177 354.27,-8257.89 255.5,-9999.65 322,-10082 329.43,-10091.2 339.66,-10097.28 350.79,-10101.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.07,-8154.43 242.58,-8155.95 251.73,-8161.3 253.07,-8154.43"/>
+<path fill="none" stroke="midnightblue" d="M252.51,-8192.88C265.36,-8196.06 277.46,-8201.88 286,-8212 355.12,-8293.92 254.67,-10057.6 322,-10141 329.43,-10150.2 339.66,-10156.28 350.79,-10160.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.07,-8189.43 242.58,-8190.94 251.73,-8196.3 253.07,-8189.43"/>
 </g>
 <!-- Node158 -->
 <g id="node8" class="node">
 <title>Node158</title>
 <g id="a_node8"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-10042 351,-10072 499,-10072 499,-10042 351,-10042"/>
-<text text-anchor="start" x="359" y="-10060" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-10049" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; HintOnDeviceAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-10101 351,-10131 499,-10131 499,-10101 351,-10101"/>
+<text text-anchor="start" x="359" y="-10119" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-10108" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; HintOnDeviceAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node158 -->
 <g id="edge7" class="edge">
 <title>Node153&#45;&gt;Node158</title>
-<path fill="none" stroke="midnightblue" d="M252.51,-8157.89C265.36,-8161.06 277.46,-8166.89 286,-8177 352.53,-8255.8 257.19,-9952.78 322,-10033 329.43,-10042.2 339.66,-10048.27 350.8,-10052.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.06,-8154.43 242.58,-8155.95 251.72,-8161.3 253.06,-8154.43"/>
+<path fill="none" stroke="midnightblue" d="M252.51,-8192.89C265.36,-8196.06 277.46,-8201.88 286,-8212 353.38,-8291.82 256.36,-10010.73 322,-10092 329.43,-10101.2 339.66,-10107.27 350.8,-10111.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.07,-8189.43 242.58,-8190.95 251.72,-8196.3 253.07,-8189.43"/>
 </g>
 <!-- Node160 -->
 <g id="node10" class="node">
 <title>Node160</title>
 <g id="a_node10"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9993 351,-10023 499,-10023 499,-9993 351,-9993"/>
-<text text-anchor="start" x="359" y="-10011" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-10000" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GridSampleAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-10052 351,-10082 499,-10082 499,-10052 351,-10052"/>
+<text text-anchor="start" x="359" y="-10070" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-10059" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GridSampleAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node160 -->
 <g id="edge9" class="edge">
 <title>Node153&#45;&gt;Node160</title>
-<path fill="none" stroke="midnightblue" d="M252.5,-8157.89C265.35,-8161.07 277.46,-8166.89 286,-8177 350.76,-8253.66 259.28,-9904.67 322,-9983 329.41,-9992.25 339.63,-9998.42 350.76,-10002.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.06,-8154.43 242.57,-8155.95 251.72,-8161.3 253.06,-8154.43"/>
+<path fill="none" stroke="midnightblue" d="M252.5,-8192.89C265.35,-8196.07 277.46,-8201.89 286,-8212 351.61,-8289.69 258.45,-9962.62 322,-10042 329.41,-10051.25 339.63,-10057.42 350.76,-10061.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.06,-8189.43 242.58,-8190.95 251.72,-8196.3 253.06,-8189.43"/>
 </g>
 <!-- Node162 -->
 <g id="node12" class="node">
 <title>Node162</title>
 <g id="a_node12"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="327.5,-9932.5 327.5,-9973.5 522.5,-9973.5 522.5,-9932.5 327.5,-9932.5"/>
-<text text-anchor="start" x="335.5" y="-9961.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="start" x="335.5" y="-9950.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AllClassNonMaximumSuppression</text>
-<text text-anchor="middle" x="425" y="-9939.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs &gt;</text>
+<polygon fill="white" stroke="black" points="327.5,-9991.5 327.5,-10032.5 522.5,-10032.5 522.5,-9991.5 327.5,-9991.5"/>
+<text text-anchor="start" x="335.5" y="-10020.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="start" x="335.5" y="-10009.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AllClassNonMaximumSuppression</text>
+<text text-anchor="middle" x="425" y="-9998.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node162 -->
 <g id="edge11" class="edge">
 <title>Node153&#45;&gt;Node162</title>
-<path fill="none" stroke="midnightblue" d="M252.5,-8157.9C265.35,-8161.07 277.45,-8166.89 286,-8177 348.64,-8251.09 263.08,-9845.92 322,-9923 324.69,-9926.52 327.77,-9929.64 331.15,-9932.41"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.06,-8154.44 242.57,-8155.96 251.71,-8161.31 253.06,-8154.44"/>
+<path fill="none" stroke="midnightblue" d="M252.5,-8192.89C265.35,-8196.07 277.46,-8201.89 286,-8212 349.49,-8287.12 262.28,-9903.85 322,-9982 324.69,-9985.52 327.77,-9988.64 331.15,-9991.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.06,-8189.44 242.57,-8190.95 251.71,-8196.31 253.06,-8189.44"/>
 </g>
 <!-- Node164 -->
 <g id="node14" class="node">
 <title>Node164</title>
 <g id="a_node14"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9883 351,-9913 499,-9913 499,-9883 351,-9883"/>
-<text text-anchor="start" x="359" y="-9901" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9890" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; TakeAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9942 351,-9972 499,-9972 499,-9942 351,-9942"/>
+<text text-anchor="start" x="359" y="-9960" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9949" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; TakeAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node164 -->
 <g id="edge13" class="edge">
 <title>Node153&#45;&gt;Node164</title>
-<path fill="none" stroke="midnightblue" d="M252.49,-8157.9C265.34,-8161.08 277.45,-8166.89 286,-8177 346.9,-8248.99 262.67,-9800.7 322,-9874 329.44,-9883.19 339.68,-9889.26 350.81,-9893.21"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.05,-8154.44 242.56,-8155.96 251.71,-8161.31 253.05,-8154.44"/>
+<path fill="none" stroke="midnightblue" d="M252.49,-8192.9C265.35,-8196.07 277.45,-8201.89 286,-8212 347.75,-8285.02 261.84,-9858.66 322,-9933 329.44,-9942.19 339.67,-9948.26 350.81,-9952.21"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.05,-8189.44 242.57,-8190.96 251.71,-8196.31 253.05,-8189.44"/>
 </g>
 <!-- Node166 -->
 <g id="node16" class="node">
 <title>Node166</title>
 <g id="a_node16"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9834 351,-9864 499,-9864 499,-9834 351,-9834"/>
-<text text-anchor="start" x="359" y="-9852" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9841" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ScatterElementsAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9893 351,-9923 499,-9923 499,-9893 351,-9893"/>
+<text text-anchor="start" x="359" y="-9911" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9900" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ScatterElementsAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node166 -->
 <g id="edge15" class="edge">
 <title>Node153&#45;&gt;Node166</title>
-<path fill="none" stroke="midnightblue" d="M252.49,-8157.9C265.34,-8161.08 277.45,-8166.9 286,-8177 345.17,-8246.9 264.36,-9753.84 322,-9825 329.44,-9834.19 339.68,-9840.26 350.82,-9844.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.05,-8154.45 242.56,-8155.96 251.7,-8161.32 253.05,-8154.45"/>
+<path fill="none" stroke="midnightblue" d="M252.49,-8192.9C265.34,-8196.08 277.45,-8201.9 286,-8212 346.02,-8282.93 263.53,-9811.79 322,-9884 329.44,-9893.19 339.68,-9899.26 350.81,-9903.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.05,-8189.45 242.56,-8190.96 251.71,-8196.32 253.05,-8189.45"/>
 </g>
 <!-- Node168 -->
 <g id="node18" class="node">
 <title>Node168</title>
 <g id="a_node18"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9785 351,-9815 499,-9815 499,-9785 351,-9785"/>
-<text text-anchor="start" x="359" y="-9803" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9792" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; MeshgridAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9844 351,-9874 499,-9874 499,-9844 351,-9844"/>
+<text text-anchor="start" x="359" y="-9862" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9851" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; MeshgridAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node168 -->
 <g id="edge17" class="edge">
 <title>Node153&#45;&gt;Node168</title>
-<path fill="none" stroke="midnightblue" d="M252.48,-8157.91C265.33,-8161.08 277.44,-8166.9 286,-8177 343.43,-8244.8 266.05,-9706.97 322,-9776 329.45,-9785.19 339.69,-9791.26 350.82,-9795.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.04,-8154.45 242.55,-8155.97 251.7,-8161.32 253.04,-8154.45"/>
+<path fill="none" stroke="midnightblue" d="M252.48,-8192.91C265.34,-8196.08 277.45,-8201.9 286,-8212 344.28,-8280.83 265.22,-9764.93 322,-9835 329.44,-9844.19 339.68,-9850.26 350.82,-9854.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.04,-8189.45 242.56,-8190.97 251.7,-8196.32 253.04,-8189.45"/>
 </g>
 <!-- Node170 -->
 <g id="node20" class="node">
 <title>Node170</title>
 <g id="a_node20"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9736 351,-9766 499,-9766 499,-9736 351,-9736"/>
-<text text-anchor="start" x="359" y="-9754" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9743" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GatherElementsAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9795 351,-9825 499,-9825 499,-9795 351,-9795"/>
+<text text-anchor="start" x="359" y="-9813" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9802" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GatherElementsAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node170 -->
 <g id="edge19" class="edge">
 <title>Node153&#45;&gt;Node170</title>
-<path fill="none" stroke="midnightblue" d="M252.48,-8157.91C265.33,-8161.09 277.44,-8166.9 286,-8177 341.7,-8242.71 267.74,-9660.1 322,-9727 329.45,-9736.18 339.69,-9742.25 350.83,-9746.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.04,-8154.46 242.55,-8155.97 251.69,-8161.33 253.04,-8154.46"/>
+<path fill="none" stroke="midnightblue" d="M252.48,-8192.91C265.33,-8196.09 277.44,-8201.9 286,-8212 342.55,-8278.73 266.91,-9718.06 322,-9786 329.45,-9795.19 339.69,-9801.25 350.82,-9805.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.04,-8189.45 242.55,-8190.97 251.7,-8196.32 253.04,-8189.45"/>
 </g>
 <!-- Node172 -->
 <g id="node22" class="node">
 <title>Node172</title>
 <g id="a_node22"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9687 351,-9717 499,-9717 499,-9687 351,-9687"/>
-<text text-anchor="start" x="359" y="-9705" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9694" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; EinsumAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9746 351,-9776 499,-9776 499,-9746 351,-9746"/>
+<text text-anchor="start" x="359" y="-9764" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9753" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; EinsumAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node172 -->
 <g id="edge21" class="edge">
 <title>Node153&#45;&gt;Node172</title>
-<path fill="none" stroke="midnightblue" d="M252.47,-8157.92C265.32,-8161.09 277.44,-8166.91 286,-8177 339.96,-8240.61 269.43,-9613.24 322,-9678 329.45,-9687.18 339.7,-9693.25 350.83,-9697.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.03,-8154.46 242.54,-8155.98 251.69,-8161.33 253.03,-8154.46"/>
+<path fill="none" stroke="midnightblue" d="M252.47,-8192.92C265.33,-8196.09 277.44,-8201.9 286,-8212 340.81,-8276.64 268.6,-9671.19 322,-9737 329.45,-9746.18 339.69,-9752.25 350.83,-9756.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.03,-8189.46 242.55,-8190.98 251.69,-8196.33 253.03,-8189.46"/>
 </g>
 <!-- Node174 -->
 <g id="node24" class="node">
 <title>Node174</title>
 <g id="a_node24"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9638 351,-9668 499,-9668 499,-9638 351,-9638"/>
-<text text-anchor="start" x="359" y="-9656" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9645" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; DistributionAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9697 351,-9727 499,-9727 499,-9697 351,-9697"/>
+<text text-anchor="start" x="359" y="-9715" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9704" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; DistributionAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node174 -->
 <g id="edge23" class="edge">
 <title>Node153&#45;&gt;Node174</title>
-<path fill="none" stroke="midnightblue" d="M252.46,-8157.92C265.32,-8161.1 277.43,-8166.91 286,-8177 390.45,-8300.02 220.24,-9503.74 322,-9629 329.46,-9638.18 339.7,-9644.24 350.84,-9648.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.02,-8154.47 242.54,-8155.98 251.68,-8161.34 253.02,-8154.47"/>
+<path fill="none" stroke="midnightblue" d="M252.47,-8192.92C265.32,-8196.09 277.43,-8201.91 286,-8212 392.15,-8337.08 218.59,-9560.65 322,-9688 329.45,-9697.18 339.7,-9703.24 350.84,-9707.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.03,-8189.46 242.54,-8190.98 251.68,-8196.33 253.03,-8189.46"/>
 </g>
 <!-- Node176 -->
 <g id="node26" class="node">
 <title>Node176</title>
 <g id="a_node26"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="350,-9589 350,-9619 500,-9619 500,-9589 350,-9589"/>
-<text text-anchor="start" x="358" y="-9607" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9596" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; CallInplacePackedAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="350,-9648 350,-9678 500,-9678 500,-9648 350,-9648"/>
+<text text-anchor="start" x="358" y="-9666" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9655" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; CallInplacePackedAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node176 -->
 <g id="edge25" class="edge">
 <title>Node153&#45;&gt;Node176</title>
-<path fill="none" stroke="midnightblue" d="M252.46,-8157.93C265.31,-8161.1 277.43,-8166.91 286,-8177 386.98,-8295.83 223.62,-9459.01 322,-9580 329.23,-9588.89 339.08,-9594.86 349.82,-9598.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.02,-8154.47 242.53,-8155.99 251.67,-8161.34 253.02,-8154.47"/>
+<path fill="none" stroke="midnightblue" d="M252.46,-8192.93C265.31,-8196.1 277.43,-8201.91 286,-8212 388.68,-8332.89 221.97,-9515.92 322,-9639 329.23,-9647.89 339.08,-9653.86 349.82,-9657.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.02,-8189.47 242.53,-8190.99 251.68,-8196.34 253.02,-8189.47"/>
 </g>
 <!-- Node178 -->
 <g id="node28" class="node">
 <title>Node178</title>
 <g id="a_node28"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9540 351,-9570 499,-9570 499,-9540 351,-9540"/>
-<text text-anchor="start" x="359" y="-9558" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9547" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AttentionAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9599 351,-9629 499,-9629 499,-9599 351,-9599"/>
+<text text-anchor="start" x="359" y="-9617" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9606" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AttentionAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node178 -->
 <g id="edge27" class="edge">
 <title>Node153&#45;&gt;Node178</title>
-<path fill="none" stroke="midnightblue" d="M252.45,-8157.93C265.3,-8161.11 277.42,-8166.92 286,-8177 383.51,-8291.64 227,-9414.28 322,-9531 329.46,-9540.17 339.71,-9546.23 350.85,-9550.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.01,-8154.48 242.52,-8155.99 251.67,-8161.35 253.01,-8154.48"/>
+<path fill="none" stroke="midnightblue" d="M252.45,-8192.93C265.31,-8196.1 277.43,-8201.91 286,-8212 385.21,-8328.69 225.35,-9471.19 322,-9590 329.46,-9599.17 339.71,-9605.23 350.85,-9609.17"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.01,-8189.47 242.53,-8190.99 251.67,-8196.34 253.01,-8189.47"/>
 </g>
 <!-- Node180 -->
 <g id="node30" class="node">
 <title>Node180</title>
 <g id="a_node30"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9491 351,-9521 499,-9521 499,-9491 351,-9491"/>
-<text text-anchor="start" x="359" y="-9509" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9498" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AllReduceAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9550 351,-9580 499,-9580 499,-9550 351,-9550"/>
+<text text-anchor="start" x="359" y="-9568" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9557" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AllReduceAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node180 -->
 <g id="edge29" class="edge">
 <title>Node153&#45;&gt;Node180</title>
-<path fill="none" stroke="midnightblue" d="M252.44,-8157.94C265.3,-8161.11 277.42,-8166.92 286,-8177 380.03,-8287.45 230.38,-9369.54 322,-9482 329.47,-9491.17 339.72,-9497.23 350.86,-9501.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253,-8154.48 242.52,-8156 251.66,-8161.35 253,-8154.48"/>
+<path fill="none" stroke="midnightblue" d="M252.45,-8192.94C265.3,-8196.11 277.42,-8201.92 286,-8212 381.73,-8324.5 228.72,-9426.45 322,-9541 329.47,-9550.17 339.72,-9556.23 350.86,-9560.17"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.01,-8189.48 242.52,-8191 251.66,-8196.35 253.01,-8189.48"/>
 </g>
 <!-- Node182 -->
 <g id="node32" class="node">
 <title>Node182</title>
 <g id="a_node32"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9442 351,-9472 499,-9472 499,-9442 351,-9442"/>
-<text text-anchor="start" x="359" y="-9460" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9449" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AdaptivePool2DAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9501 351,-9531 499,-9531 499,-9501 351,-9501"/>
+<text text-anchor="start" x="359" y="-9519" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9508" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AdaptivePool2DAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node182 -->
 <g id="edge31" class="edge">
 <title>Node153&#45;&gt;Node182</title>
-<path fill="none" stroke="midnightblue" d="M252.43,-8157.95C265.29,-8161.12 277.41,-8166.93 286,-8177 376.56,-8283.25 233.76,-9324.81 322,-9433 329.47,-9442.16 339.73,-9448.22 350.87,-9452.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="252.99,-8154.49 242.51,-8156.01 251.65,-8161.36 252.99,-8154.49"/>
+<path fill="none" stroke="midnightblue" d="M252.44,-8192.94C265.29,-8196.12 277.42,-8201.92 286,-8212 378.26,-8320.31 232.1,-9381.72 322,-9492 329.47,-9501.17 339.72,-9507.22 350.86,-9511.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253,-8189.49 242.51,-8191 251.66,-8196.36 253,-8189.49"/>
 </g>
 <!-- Node184 -->
 <g id="node34" class="node">
 <title>Node184</title>
 <g id="a_node34"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9393 351,-9423 499,-9423 499,-9393 351,-9393"/>
-<text text-anchor="start" x="359" y="-9411" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9400" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ScatterNDAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9452 351,-9482 499,-9482 499,-9452 351,-9452"/>
+<text text-anchor="start" x="359" y="-9470" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9459" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ScatterNDAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node184 -->
 <g id="edge33" class="edge">
 <title>Node153&#45;&gt;Node184</title>
-<path fill="none" stroke="midnightblue" d="M252.63,-8158.01C265.41,-8161.19 277.45,-8166.98 286,-8177 373.09,-8279.06 237.14,-9280.08 322,-9384 329.48,-9393.16 339.74,-9399.21 350.88,-9403.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.25,-8154.56 242.76,-8156.05 251.89,-8161.43 253.25,-8154.56"/>
+<path fill="none" stroke="midnightblue" d="M252.43,-8192.95C265.29,-8196.12 277.41,-8201.93 286,-8212 374.79,-8316.12 235.48,-9336.99 322,-9443 329.48,-9452.16 339.73,-9458.22 350.87,-9462.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="252.99,-8189.49 242.5,-8191.01 251.65,-8196.36 252.99,-8189.49"/>
 </g>
 <!-- Node186 -->
 <g id="node36" class="node">
 <title>Node186</title>
 <g id="a_node36"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9344 351,-9374 499,-9374 499,-9344 351,-9344"/>
-<text text-anchor="start" x="359" y="-9362" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9351" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; InitAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9403 351,-9433 499,-9433 499,-9403 351,-9403"/>
+<text text-anchor="start" x="359" y="-9421" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9410" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; InitAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node186 -->
 <g id="edge35" class="edge">
 <title>Node153&#45;&gt;Node186</title>
-<path fill="none" stroke="midnightblue" d="M252.62,-8158.01C265.4,-8161.2 277.45,-8166.99 286,-8177 369.62,-8274.87 240.52,-9235.34 322,-9335 329.48,-9344.15 339.74,-9350.21 350.89,-9354.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.24,-8154.57 242.75,-8156.06 251.88,-8161.44 253.24,-8154.57"/>
+<path fill="none" stroke="midnightblue" d="M252.63,-8193.01C265.41,-8196.19 277.45,-8201.99 286,-8212 371.32,-8311.92 238.86,-9292.25 322,-9394 329.48,-9403.16 339.74,-9409.21 350.88,-9413.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.24,-8189.56 242.76,-8191.06 251.89,-8196.43 253.24,-8189.56"/>
 </g>
 <!-- Node188 -->
 <g id="node38" class="node">
 <title>Node188</title>
 <g id="a_node38"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9295 351,-9325 499,-9325 499,-9295 351,-9295"/>
-<text text-anchor="start" x="359" y="-9313" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9302" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; FlipAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9354 351,-9384 499,-9384 499,-9354 351,-9354"/>
+<text text-anchor="start" x="359" y="-9372" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9361" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; FlipAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node188 -->
 <g id="edge37" class="edge">
 <title>Node153&#45;&gt;Node188</title>
-<path fill="none" stroke="midnightblue" d="M252.61,-8158.02C265.39,-8161.21 277.44,-8167 286,-8177 366.15,-8270.68 243.9,-9190.61 322,-9286 329.49,-9295.15 339.75,-9301.2 350.9,-9305.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.23,-8154.58 242.74,-8156.07 251.87,-8161.44 253.23,-8154.58"/>
+<path fill="none" stroke="midnightblue" d="M252.62,-8193.02C265.4,-8196.2 277.44,-8201.99 286,-8212 367.85,-8307.73 242.24,-9247.52 322,-9345 329.49,-9354.15 339.75,-9360.2 350.89,-9364.14"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.23,-8189.57 242.75,-8191.07 251.88,-8196.44 253.23,-8189.57"/>
 </g>
 <!-- Node190 -->
 <g id="node40" class="node">
 <title>Node190</title>
 <g id="a_node40"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9246 351,-9276 499,-9276 499,-9246 351,-9246"/>
-<text text-anchor="start" x="359" y="-9264" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9253" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AllGatherAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9305 351,-9335 499,-9335 499,-9305 351,-9305"/>
+<text text-anchor="start" x="359" y="-9323" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9312" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AllGatherAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node190 -->
 <g id="edge39" class="edge">
 <title>Node153&#45;&gt;Node190</title>
-<path fill="none" stroke="midnightblue" d="M252.6,-8158.03C265.38,-8161.21 277.43,-8167 286,-8177 362.68,-8266.49 247.28,-9145.87 322,-9237 329.5,-9246.14 339.76,-9252.19 350.91,-9256.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.22,-8154.59 242.73,-8156.08 251.86,-8161.45 253.22,-8154.59"/>
+<path fill="none" stroke="midnightblue" d="M252.61,-8193.03C265.39,-8196.21 277.44,-8202 286,-8212 364.38,-8303.54 245.62,-9202.78 322,-9296 329.49,-9305.15 339.76,-9311.2 350.9,-9315.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.22,-8189.58 242.73,-8191.08 251.87,-8196.45 253.22,-8189.58"/>
 </g>
 <!-- Node192 -->
 <g id="node42" class="node">
 <title>Node192</title>
 <g id="a_node42"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9197 351,-9227 499,-9227 499,-9197 351,-9197"/>
-<text text-anchor="start" x="359" y="-9215" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9204" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AdaptivePool3DAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9256 351,-9286 499,-9286 499,-9256 351,-9256"/>
+<text text-anchor="start" x="359" y="-9274" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9263" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AdaptivePool3DAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node192 -->
 <g id="edge41" class="edge">
 <title>Node153&#45;&gt;Node192</title>
-<path fill="none" stroke="midnightblue" d="M252.59,-8158.04C265.37,-8161.22 277.42,-8167.01 286,-8177 359.21,-8262.29 250.65,-9101.14 322,-9188 329.51,-9197.14 339.78,-9203.18 350.92,-9207.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.21,-8154.6 242.72,-8156.09 251.85,-8161.47 253.21,-8154.6"/>
+<path fill="none" stroke="midnightblue" d="M252.59,-8193.04C265.38,-8196.22 277.43,-8202.01 286,-8212 360.91,-8299.35 249,-9158.05 322,-9247 329.5,-9256.14 339.77,-9262.19 350.92,-9266.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.21,-8189.59 242.72,-8191.09 251.85,-8196.46 253.21,-8189.59"/>
 </g>
 <!-- Node194 -->
 <g id="node44" class="node">
 <title>Node194</title>
 <g id="a_node44"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9148 351,-9178 499,-9178 499,-9148 351,-9148"/>
-<text text-anchor="start" x="359" y="-9166" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9155" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ToVDeviceAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9207 351,-9237 499,-9237 499,-9207 351,-9207"/>
+<text text-anchor="start" x="359" y="-9225" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9214" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ToVDeviceAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node194 -->
 <g id="edge43" class="edge">
 <title>Node153&#45;&gt;Node194</title>
-<path fill="none" stroke="midnightblue" d="M252.57,-8158.06C265.36,-8161.24 277.42,-8167.02 286,-8177 355.74,-8258.1 254.03,-9056.41 322,-9139 329.51,-9148.13 339.79,-9154.17 350.94,-9158.1"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.19,-8154.61 242.7,-8156.1 251.83,-8161.48 253.19,-8154.61"/>
+<path fill="none" stroke="midnightblue" d="M252.58,-8193.05C265.36,-8196.23 277.42,-8202.01 286,-8212 357.44,-8295.15 252.38,-9113.32 322,-9198 329.51,-9207.13 339.78,-9213.18 350.93,-9217.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.2,-8189.6 242.71,-8191.1 251.84,-8196.47 253.2,-8189.6"/>
 </g>
 <!-- Node196 -->
 <g id="node46" class="node">
 <title>Node196</title>
 <g id="a_node46"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="329.5,-9099 329.5,-9129 520.5,-9129 520.5,-9099 329.5,-9099"/>
-<text text-anchor="start" x="337.5" y="-9117" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9106" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; NonMaximumSuppressionAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="329.5,-9158 329.5,-9188 520.5,-9188 520.5,-9158 329.5,-9158"/>
+<text text-anchor="start" x="337.5" y="-9176" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9165" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; NonMaximumSuppressionAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node196 -->
 <g id="edge45" class="edge">
 <title>Node153&#45;&gt;Node196</title>
-<path fill="none" stroke="midnightblue" d="M252.56,-8158.07C265.34,-8161.25 277.41,-8167.03 286,-8177 352.27,-8253.91 257.41,-9011.67 322,-9090 324.78,-9093.37 327.93,-9096.32 331.37,-9098.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.18,-8154.62 242.69,-8156.12 251.82,-8161.49 253.18,-8154.62"/>
+<path fill="none" stroke="midnightblue" d="M252.57,-8193.06C265.35,-8196.24 277.41,-8202.02 286,-8212 353.97,-8290.96 255.76,-9068.58 322,-9149 324.78,-9152.37 327.93,-9155.32 331.36,-9157.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.18,-8189.62 242.7,-8191.11 251.83,-8196.48 253.18,-8189.62"/>
 </g>
 <!-- Node198 -->
 <g id="node48" class="node">
 <title>Node198</title>
 <g id="a_node48"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9050 351,-9080 499,-9080 499,-9050 351,-9050"/>
-<text text-anchor="start" x="359" y="-9068" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9057" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; IndexPutAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9109 351,-9139 499,-9139 499,-9109 351,-9109"/>
+<text text-anchor="start" x="359" y="-9127" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9116" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; IndexPutAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node198 -->
 <g id="edge47" class="edge">
 <title>Node153&#45;&gt;Node198</title>
-<path fill="none" stroke="midnightblue" d="M252.54,-8158.08C265.33,-8161.26 277.39,-8167.03 286,-8177 348.8,-8249.72 260.79,-8966.94 322,-9041 329.53,-9050.11 339.82,-9056.15 350.97,-9060.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.16,-8154.64 242.67,-8156.13 251.8,-8161.5 253.16,-8154.64"/>
+<path fill="none" stroke="midnightblue" d="M252.55,-8193.08C265.33,-8196.25 277.4,-8202.03 286,-8212 350.5,-8286.77 259.13,-9023.85 322,-9100 329.53,-9109.12 339.81,-9115.15 350.96,-9119.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.17,-8189.63 242.68,-8191.12 251.81,-8196.5 253.17,-8189.63"/>
 </g>
 <!-- Node200 -->
 <g id="node50" class="node">
 <title>Node200</title>
 <g id="a_node50"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-9001 351,-9031 499,-9031 499,-9001 351,-9001"/>
-<text text-anchor="start" x="359" y="-9019" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-9008" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ExpandDimsAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9060 351,-9090 499,-9090 499,-9060 351,-9060"/>
+<text text-anchor="start" x="359" y="-9078" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9067" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ExpandDimsAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node200 -->
 <g id="edge49" class="edge">
 <title>Node153&#45;&gt;Node200</title>
-<path fill="none" stroke="midnightblue" d="M252.52,-8158.1C265.31,-8161.28 277.38,-8167.05 286,-8177 345.33,-8245.53 264.17,-8922.2 322,-8992 329.54,-9001.11 339.83,-9007.13 350.99,-9011.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.14,-8154.65 242.65,-8156.15 251.78,-8161.52 253.14,-8154.65"/>
+<path fill="none" stroke="midnightblue" d="M252.53,-8193.09C265.32,-8196.27 277.39,-8202.04 286,-8212 347.03,-8282.58 262.51,-8979.11 322,-9051 329.54,-9060.11 339.82,-9066.14 350.98,-9070.07"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.15,-8189.65 242.66,-8191.14 251.79,-8196.51 253.15,-8189.65"/>
 </g>
 <!-- Node202 -->
 <g id="node52" class="node">
 <title>Node202</title>
 <g id="a_node52"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8952 351,-8982 499,-8982 499,-8952 351,-8952"/>
-<text text-anchor="start" x="359" y="-8970" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8959" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ConcatAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-9011 351,-9041 499,-9041 499,-9011 351,-9011"/>
+<text text-anchor="start" x="359" y="-9029" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-9018" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ConcatAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node202 -->
 <g id="edge51" class="edge">
 <title>Node153&#45;&gt;Node202</title>
-<path fill="none" stroke="midnightblue" d="M252.5,-8158.12C265.29,-8161.29 277.37,-8167.06 286,-8177 341.86,-8241.34 267.55,-8877.47 322,-8943 329.5,-8952.02 339.69,-8958.03 350.75,-8961.95"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.12,-8154.67 242.63,-8156.17 251.76,-8161.54 253.12,-8154.67"/>
+<path fill="none" stroke="midnightblue" d="M252.51,-8193.11C265.3,-8196.28 277.37,-8202.05 286,-8212 343.56,-8278.39 265.89,-8934.38 322,-9002 329.55,-9011.1 339.84,-9017.13 351,-9021.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.13,-8189.66 242.64,-8191.16 251.77,-8196.53 253.13,-8189.66"/>
 </g>
 <!-- Node204 -->
 <g id="node54" class="node">
 <title>Node204</title>
 <g id="a_node54"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8903 351,-8933 499,-8933 499,-8903 351,-8903"/>
-<text text-anchor="start" x="359" y="-8921" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8910" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; TriluAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8962 351,-8992 499,-8992 499,-8962 351,-8962"/>
+<text text-anchor="start" x="359" y="-8980" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8969" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; TriluAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node204 -->
 <g id="edge53" class="edge">
 <title>Node153&#45;&gt;Node204</title>
-<path fill="none" stroke="midnightblue" d="M252.48,-8158.14C265.27,-8161.31 277.35,-8167.07 286,-8177 390.79,-8297.3 219.84,-8771.46 322,-8894 329.51,-8903.01 339.72,-8909.01 350.78,-8912.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.1,-8154.69 242.61,-8156.19 251.74,-8161.56 253.1,-8154.69"/>
+<path fill="none" stroke="midnightblue" d="M252.49,-8193.13C265.28,-8196.3 277.36,-8202.06 286,-8212 340.09,-8274.2 269.27,-8889.64 322,-8953 329.51,-8962.02 339.71,-8968.02 350.76,-8971.94"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.11,-8189.68 242.62,-8191.18 251.75,-8196.55 253.11,-8189.68"/>
 </g>
 <!-- Node206 -->
 <g id="node56" class="node">
 <title>Node206</title>
 <g id="a_node56"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8854 351,-8884 499,-8884 499,-8854 351,-8854"/>
-<text text-anchor="start" x="359" y="-8872" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8861" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SoftmaxAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8913 351,-8943 499,-8943 499,-8913 351,-8913"/>
+<text text-anchor="start" x="359" y="-8931" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8920" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SoftmaxAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node206 -->
 <g id="edge55" class="edge">
 <title>Node153&#45;&gt;Node206</title>
-<path fill="none" stroke="midnightblue" d="M252.45,-8158.16C265.24,-8161.34 277.33,-8167.09 286,-8177 383.85,-8288.92 226.6,-8730.99 322,-8845 329.53,-8854 339.74,-8859.99 350.8,-8863.91"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.07,-8154.72 242.58,-8156.21 251.71,-8161.58 253.07,-8154.72"/>
+<path fill="none" stroke="midnightblue" d="M252.46,-8193.15C265.25,-8196.32 277.34,-8202.08 286,-8212 387.25,-8328.02 223.29,-8785.81 322,-8904 329.52,-8913.01 339.73,-8919 350.79,-8922.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.08,-8189.7 242.59,-8191.2 251.72,-8196.57 253.08,-8189.7"/>
 </g>
 <!-- Node208 -->
 <g id="node58" class="node">
 <title>Node208</title>
 <g id="a_node58"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8805 351,-8835 499,-8835 499,-8805 351,-8805"/>
-<text text-anchor="start" x="359" y="-8823" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8812" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ROIAlignAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8864 351,-8894 499,-8894 499,-8864 351,-8864"/>
+<text text-anchor="start" x="359" y="-8882" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8871" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ROIAlignAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node208 -->
 <g id="edge57" class="edge">
 <title>Node153&#45;&gt;Node208</title>
-<path fill="none" stroke="midnightblue" d="M252.42,-8158.19C265.21,-8161.36 277.31,-8167.11 286,-8177 376.91,-8280.54 233.35,-8690.52 322,-8796 329.55,-8804.98 339.77,-8810.96 350.84,-8814.88"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.04,-8154.74 242.55,-8156.24 251.68,-8161.61 253.04,-8154.74"/>
+<path fill="none" stroke="midnightblue" d="M252.44,-8193.18C265.23,-8196.35 277.32,-8202.1 286,-8212 380.31,-8319.64 230.04,-8745.34 322,-8855 329.54,-8863.99 339.75,-8869.97 350.82,-8873.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.05,-8189.73 242.56,-8191.23 251.7,-8196.6 253.05,-8189.73"/>
 </g>
 <!-- Node210 -->
 <g id="node60" class="node">
 <title>Node210</title>
 <g id="a_node60"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8756 351,-8786 499,-8786 499,-8756 351,-8756"/>
-<text text-anchor="start" x="359" y="-8774" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8763" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AdaptivePool1DAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8815 351,-8845 499,-8845 499,-8815 351,-8815"/>
+<text text-anchor="start" x="359" y="-8833" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8822" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AdaptivePool1DAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node210 -->
 <g id="edge59" class="edge">
 <title>Node153&#45;&gt;Node210</title>
-<path fill="none" stroke="midnightblue" d="M252.38,-8158.22C265.18,-8161.39 277.29,-8167.13 286,-8177 369.98,-8272.16 240.1,-8650.04 322,-8747 329.57,-8755.96 339.8,-8761.93 350.87,-8765.85"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253,-8154.78 242.51,-8156.27 251.64,-8161.64 253,-8154.78"/>
+<path fill="none" stroke="midnightblue" d="M252.4,-8193.21C265.19,-8196.38 277.3,-8202.12 286,-8212 373.38,-8311.26 236.8,-8704.87 322,-8806 329.56,-8814.97 339.79,-8820.95 350.85,-8824.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.02,-8189.76 242.53,-8191.26 251.66,-8196.63 253.02,-8189.76"/>
 </g>
 <!-- Node212 -->
 <g id="node62" class="node">
 <title>Node212</title>
 <g id="a_node62"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8707 351,-8737 499,-8737 499,-8707 351,-8707"/>
-<text text-anchor="start" x="359" y="-8725" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8714" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SoftplusAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8766 351,-8796 499,-8796 499,-8766 351,-8766"/>
+<text text-anchor="start" x="359" y="-8784" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8773" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SoftplusAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node212 -->
 <g id="edge61" class="edge">
 <title>Node153&#45;&gt;Node212</title>
-<path fill="none" stroke="midnightblue" d="M252.54,-8158.31C265.26,-8161.49 277.31,-8167.21 286,-8177 363.05,-8263.79 246.85,-8609.56 322,-8698 329.6,-8706.94 339.84,-8712.9 350.92,-8716.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.22,-8154.88 242.73,-8156.35 251.85,-8161.74 253.22,-8154.88"/>
+<path fill="none" stroke="midnightblue" d="M252.57,-8193.29C265.29,-8196.47 277.32,-8202.19 286,-8212 366.44,-8302.89 243.55,-8664.39 322,-8757 329.58,-8765.95 339.82,-8771.92 350.89,-8775.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.24,-8189.86 242.75,-8191.33 251.87,-8196.72 253.24,-8189.86"/>
 </g>
 <!-- Node214 -->
 <g id="node64" class="node">
 <title>Node214</title>
 <g id="a_node64"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8658 351,-8688 499,-8688 499,-8658 351,-8658"/>
-<text text-anchor="start" x="359" y="-8676" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8665" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Resize3DAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8717 351,-8747 499,-8747 499,-8717 351,-8717"/>
+<text text-anchor="start" x="359" y="-8735" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8724" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Resize3DAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node214 -->
 <g id="edge63" class="edge">
 <title>Node153&#45;&gt;Node214</title>
-<path fill="none" stroke="midnightblue" d="M252.49,-8158.36C265.21,-8161.53 277.27,-8167.24 286,-8177 356.12,-8255.42 253.6,-8569.08 322,-8649 329.63,-8657.91 339.89,-8663.86 350.97,-8667.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.17,-8154.93 242.67,-8156.4 251.79,-8161.79 253.17,-8154.93"/>
+<path fill="none" stroke="midnightblue" d="M252.52,-8193.34C265.24,-8196.51 277.29,-8202.22 286,-8212 359.51,-8294.52 250.29,-8623.91 322,-8708 329.61,-8716.93 339.87,-8722.88 350.94,-8726.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.19,-8189.9 242.7,-8191.37 251.82,-8196.77 253.19,-8189.9"/>
 </g>
 <!-- Node216 -->
 <g id="node66" class="node">
 <title>Node216</title>
 <g id="a_node66"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8609 351,-8639 499,-8639 499,-8609 351,-8609"/>
-<text text-anchor="start" x="359" y="-8627" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8616" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; MatmulAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8668 351,-8698 499,-8698 499,-8668 351,-8668"/>
+<text text-anchor="start" x="359" y="-8686" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8675" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; MatmulAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node216 -->
 <g id="edge65" class="edge">
 <title>Node153&#45;&gt;Node216</title>
-<path fill="none" stroke="midnightblue" d="M252.43,-8158.42C265.15,-8161.59 277.23,-8167.28 286,-8177 349.19,-8247.05 260.34,-8528.6 322,-8600 329.61,-8608.81 339.79,-8614.72 350.78,-8618.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.1,-8154.98 242.61,-8156.46 251.73,-8161.85 253.1,-8154.98"/>
+<path fill="none" stroke="midnightblue" d="M252.46,-8193.39C265.19,-8196.56 277.25,-8202.26 286,-8212 352.58,-8286.15 257.04,-8583.43 322,-8659 329.59,-8667.83 339.76,-8673.74 350.74,-8677.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.13,-8189.95 242.64,-8191.43 251.76,-8196.82 253.13,-8189.95"/>
 </g>
 <!-- Node218 -->
 <g id="node68" class="node">
 <title>Node218</title>
 <g id="a_node68"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8560 351,-8590 499,-8590 499,-8560 351,-8560"/>
-<text text-anchor="start" x="359" y="-8578" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8567" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ArgmaxArgminAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8619 351,-8649 499,-8649 499,-8619 351,-8619"/>
+<text text-anchor="start" x="359" y="-8637" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8626" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ArgmaxArgminAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node218 -->
 <g id="edge67" class="edge">
 <title>Node153&#45;&gt;Node218</title>
-<path fill="none" stroke="midnightblue" d="M252.34,-8158.49C265.08,-8161.66 277.17,-8167.32 286,-8177 342.27,-8238.69 267.08,-8488.11 322,-8551 329.66,-8559.77 339.86,-8565.65 350.86,-8569.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.02,-8155.06 242.53,-8156.53 251.65,-8161.92 253.02,-8155.06"/>
+<path fill="none" stroke="midnightblue" d="M252.39,-8193.45C265.12,-8196.62 277.2,-8202.3 286,-8212 345.66,-8277.78 263.78,-8542.94 322,-8610 329.63,-8618.79 339.82,-8624.69 350.82,-8628.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.06,-8190.02 242.57,-8191.49 251.69,-8196.88 253.06,-8190.02"/>
 </g>
 <!-- Node220 -->
 <g id="node70" class="node">
 <title>Node220</title>
 <g id="a_node70"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8511 351,-8541 499,-8541 499,-8511 351,-8511"/>
-<text text-anchor="start" x="359" y="-8529" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8518" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Resize2DAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8570 351,-8600 499,-8600 499,-8570 351,-8570"/>
+<text text-anchor="start" x="359" y="-8588" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8577" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Resize2DAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node220 -->
 <g id="edge69" class="edge">
 <title>Node153&#45;&gt;Node220</title>
-<path fill="none" stroke="midnightblue" d="M252.82,-8158.73C265.35,-8161.92 277.24,-8167.53 286,-8177 384.71,-8283.66 225.63,-8393.22 322,-8502 329.72,-8510.71 339.96,-8516.57 350.97,-8520.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.18,-8155.23 242.68,-8156.67 251.78,-8162.09 253.18,-8155.23"/>
+<path fill="none" stroke="midnightblue" d="M252.87,-8193.68C265.4,-8196.87 277.28,-8202.5 286,-8212 391.48,-8326.85 219.03,-8443.9 322,-8561 329.69,-8569.74 339.91,-8575.62 350.91,-8579.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.23,-8190.18 242.74,-8191.62 251.84,-8197.04 253.23,-8190.18"/>
 </g>
 <!-- Node222 -->
 <g id="node72" class="node">
 <title>Node222</title>
 <g id="a_node72"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8462 351,-8492 499,-8492 499,-8462 351,-8462"/>
-<text text-anchor="start" x="359" y="-8480" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8469" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Pool3DAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8521 351,-8551 499,-8551 499,-8521 351,-8521"/>
+<text text-anchor="start" x="359" y="-8539" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8528" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Pool3DAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node222 -->
 <g id="edge71" class="edge">
 <title>Node153&#45;&gt;Node222</title>
-<path fill="none" stroke="midnightblue" d="M252.68,-8158.86C265.21,-8162.04 277.15,-8167.62 286,-8177 370.9,-8266.98 239.07,-8361.21 322,-8453 329.74,-8461.57 339.92,-8467.37 350.85,-8471.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.04,-8155.37 242.54,-8156.8 251.64,-8162.22 253.04,-8155.37"/>
+<path fill="none" stroke="midnightblue" d="M252.75,-8193.79C265.28,-8196.98 277.2,-8202.57 286,-8212 377.66,-8310.15 232.49,-8411.89 322,-8512 329.7,-8520.61 339.86,-8526.43 350.78,-8530.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.11,-8190.3 242.61,-8191.73 251.72,-8197.16 253.11,-8190.3"/>
 </g>
 <!-- Node224 -->
 <g id="node74" class="node">
 <title>Node224</title>
 <g id="a_node74"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8413 351,-8443 499,-8443 499,-8413 351,-8413"/>
-<text text-anchor="start" x="359" y="-8431" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8420" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; LayerNormAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8472 351,-8502 499,-8502 499,-8472 351,-8472"/>
+<text text-anchor="start" x="359" y="-8490" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8479" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; LayerNormAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node224 -->
 <g id="edge73" class="edge">
 <title>Node153&#45;&gt;Node224</title>
-<path fill="none" stroke="midnightblue" d="M252.68,-8159.1C265.16,-8162.28 277.07,-8167.79 286,-8177 357.12,-8250.32 252.48,-8329.15 322,-8404 329.8,-8412.4 339.94,-8418.12 350.79,-8421.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.1,-8155.62 242.6,-8157.03 251.69,-8162.47 253.1,-8155.62"/>
+<path fill="none" stroke="midnightblue" d="M252.79,-8194C265.26,-8197.18 277.14,-8202.73 286,-8212 363.86,-8293.47 245.92,-8379.86 322,-8463 329.8,-8471.52 340,-8477.29 350.94,-8481.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.21,-8190.52 242.71,-8191.93 251.8,-8197.37 253.21,-8190.52"/>
 </g>
 <!-- Node226 -->
 <g id="node76" class="node">
 <title>Node226</title>
 <g id="a_node76"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8364 351,-8394 499,-8394 499,-8364 351,-8364"/>
-<text text-anchor="start" x="359" y="-8382" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8371" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SqueezeAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8423 351,-8453 499,-8453 499,-8423 351,-8423"/>
+<text text-anchor="start" x="359" y="-8441" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8430" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SqueezeAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node226 -->
 <g id="edge75" class="edge">
 <title>Node153&#45;&gt;Node226</title>
-<path fill="none" stroke="midnightblue" d="M252.59,-8159.45C265.01,-8162.61 276.93,-8168.03 286,-8177 343.41,-8233.74 265.83,-8297.03 322,-8355 329.91,-8363.17 340.04,-8368.77 350.83,-8372.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.06,-8155.97 242.56,-8157.37 251.64,-8162.83 253.06,-8155.97"/>
+<path fill="none" stroke="midnightblue" d="M252.75,-8194.29C265.17,-8197.46 277.03,-8202.93 286,-8212 350.11,-8276.85 259.31,-8347.78 322,-8414 329.88,-8422.32 340.06,-8428 350.93,-8431.84"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.23,-8190.81 242.72,-8192.21 251.81,-8197.67 253.23,-8190.81"/>
 </g>
 <!-- Node228 -->
 <g id="node78" class="node">
 <title>Node228</title>
 <g id="a_node78"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8315 351,-8345 499,-8345 499,-8315 351,-8315"/>
-<text text-anchor="start" x="359" y="-8333" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8322" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Pool2DAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8374 351,-8404 499,-8404 499,-8374 351,-8374"/>
+<text text-anchor="start" x="359" y="-8392" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8381" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Pool2DAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node228 -->
 <g id="edge77" class="edge">
 <title>Node153&#45;&gt;Node228</title>
-<path fill="none" stroke="midnightblue" d="M252.5,-8160.07C264.82,-8163.21 276.71,-8168.46 286,-8177 329.83,-8217.28 279.06,-8264.78 322,-8306 330.07,-8313.75 340.15,-8319.16 350.81,-8322.91"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.09,-8156.62 242.58,-8157.99 251.65,-8163.47 253.09,-8156.62"/>
+<path fill="none" stroke="midnightblue" d="M252.58,-8194.72C264.94,-8197.88 276.84,-8203.22 286,-8212 336.45,-8260.31 272.6,-8315.6 322,-8365 329.98,-8372.98 340.07,-8378.5 350.79,-8382.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.1,-8191.26 242.6,-8192.64 251.68,-8198.11 253.1,-8191.26"/>
 </g>
 <!-- Node230 -->
 <g id="node80" class="node">
 <title>Node230</title>
 <g id="a_node80"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8266 351,-8296 499,-8296 499,-8266 351,-8266"/>
-<text text-anchor="start" x="359" y="-8284" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8273" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; OneHotAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8325 351,-8355 499,-8355 499,-8325 351,-8325"/>
+<text text-anchor="start" x="359" y="-8343" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8332" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; OneHotAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node230 -->
 <g id="edge79" class="edge">
 <title>Node153&#45;&gt;Node230</title>
-<path fill="none" stroke="midnightblue" d="M252.72,-8161.5C264.7,-8164.57 276.41,-8169.43 286,-8177 316.61,-8201.15 291.92,-8232.2 322,-8257 330.42,-8263.94 340.5,-8268.95 350.99,-8272.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.15,-8158.01 242.64,-8159.32 251.68,-8164.85 253.15,-8158.01"/>
+<path fill="none" stroke="midnightblue" d="M252.51,-8195.62C264.71,-8198.74 276.56,-8203.84 286,-8212 323.01,-8243.98 285.69,-8283.22 322,-8316 330.24,-8323.44 340.34,-8328.69 350.95,-8332.38"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.2,-8192.19 242.69,-8193.53 251.74,-8199.04 253.2,-8192.19"/>
 </g>
 <!-- Node232 -->
 <g id="node82" class="node">
 <title>Node232</title>
 <g id="a_node82"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8217 351,-8247 499,-8247 499,-8217 351,-8217"/>
-<text text-anchor="start" x="359" y="-8235" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8224" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; NLLLossAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8276 351,-8306 499,-8306 499,-8276 351,-8276"/>
+<text text-anchor="start" x="359" y="-8294" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8283" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; NLLLossAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node232 -->
 <g id="edge81" class="edge">
 <title>Node153&#45;&gt;Node232</title>
-<path fill="none" stroke="midnightblue" d="M252.67,-8165.62C264.13,-8168.33 275.66,-8172.01 286,-8177 305.02,-8186.17 303.18,-8198.42 322,-8208 331,-8212.58 340.89,-8216.3 350.86,-8219.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.17,-8162.15 242.66,-8163.47 251.7,-8168.99 253.17,-8162.15"/>
+<path fill="none" stroke="midnightblue" d="M252.64,-8197.94C264.42,-8200.9 276.07,-8205.36 286,-8212 310.28,-8228.24 298.07,-8250.24 322,-8267 330.64,-8273.05 340.6,-8277.6 350.84,-8281"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="253.27,-8194.49 242.75,-8195.78 251.78,-8201.33 253.27,-8194.49"/>
 </g>
 <!-- Node234 -->
 <g id="node84" class="node">
 <title>Node234</title>
 <g id="a_node84"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8168 351,-8198 499,-8198 499,-8168 351,-8168"/>
-<text text-anchor="start" x="359" y="-8186" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8175" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; BatchNormAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8227 351,-8257 499,-8257 499,-8227 351,-8227"/>
+<text text-anchor="start" x="359" y="-8245" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8234" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; BatchNormAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node234 -->
 <g id="edge83" class="edge">
 <title>Node153&#45;&gt;Node234</title>
-<path fill="none" stroke="midnightblue" d="M252.8,-8165.02C283.25,-8168.22 319.39,-8172.01 350.59,-8175.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="253.02,-8161.52 242.7,-8163.96 252.28,-8168.48 253.02,-8161.52"/>
+<path fill="none" stroke="midnightblue" d="M247.5,-8204.42C260.24,-8206.86 273.57,-8209.47 286,-8212 309.06,-8216.7 334.24,-8222.09 356.69,-8227"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="247.92,-8200.94 237.44,-8202.5 246.61,-8207.81 247.92,-8200.94"/>
 </g>
 <!-- Node236 -->
 <g id="node86" class="node">
 <title>Node236</title>
 <g id="a_node86"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8119 351,-8149 499,-8149 499,-8119 351,-8119"/>
-<text text-anchor="start" x="359" y="-8137" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8126" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; RepeatAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8178 351,-8208 499,-8208 499,-8178 351,-8178"/>
+<text text-anchor="start" x="359" y="-8196" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8185" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; RepeatAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node236 -->
 <g id="edge85" class="edge">
 <title>Node153&#45;&gt;Node236</title>
-<path fill="none" stroke="midnightblue" d="M252.8,-8151.26C283.25,-8148.19 319.39,-8144.55 350.59,-8141.4"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="252.3,-8147.8 242.7,-8152.28 253.01,-8154.76 252.3,-8147.8"/>
+<path fill="none" stroke="midnightblue" d="M252.8,-8193C283.25,-8193 319.39,-8193 350.59,-8193"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="252.7,-8189.5 242.7,-8193 252.7,-8196.5 252.7,-8189.5"/>
 </g>
 <!-- Node238 -->
 <g id="node88" class="node">
 <title>Node238</title>
 <g id="a_node88"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8070 351,-8100 499,-8100 499,-8070 351,-8070"/>
-<text text-anchor="start" x="359" y="-8088" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8077" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Pool1DAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8129 351,-8159 499,-8159 499,-8129 351,-8129"/>
+<text text-anchor="start" x="359" y="-8147" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8136" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Pool1DAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node238 -->
 <g id="edge87" class="edge">
 <title>Node153&#45;&gt;Node238</title>
-<path fill="none" stroke="midnightblue" d="M220.31,-8144.83C247.63,-8134.6 286.95,-8120.45 322,-8110 333.71,-8106.51 346.27,-8103.13 358.44,-8100.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="218.95,-8141.6 210.82,-8148.4 221.41,-8148.15 218.95,-8141.6"/>
+<path fill="none" stroke="midnightblue" d="M242.37,-8181.39C274.8,-8174.72 315.9,-8166.26 350.8,-8159.07"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="241.26,-8178.05 232.17,-8183.49 242.67,-8184.91 241.26,-8178.05"/>
 </g>
 <!-- Node240 -->
 <g id="node90" class="node">
 <title>Node240</title>
 <g id="a_node90"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-8021 351,-8051 499,-8051 499,-8021 351,-8021"/>
-<text text-anchor="start" x="359" y="-8039" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-8028" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; StackAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8080 351,-8110 499,-8110 499,-8080 351,-8080"/>
+<text text-anchor="start" x="359" y="-8098" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8087" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; StackAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node240 -->
 <g id="edge89" class="edge">
 <title>Node153&#45;&gt;Node240</title>
-<path fill="none" stroke="midnightblue" d="M203.91,-8141.77C228.67,-8120.19 275.58,-8082.29 322,-8061 331.12,-8056.82 341.02,-8053.28 350.96,-8050.3"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="201.57,-8139.17 196.4,-8148.42 206.2,-8144.41 201.57,-8139.17"/>
+<path fill="none" stroke="midnightblue" d="M209.45,-8178.04C235.89,-8161.74 280.6,-8135.89 322,-8120 331.79,-8116.24 342.32,-8112.91 352.78,-8110.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="207.53,-8175.11 200.9,-8183.37 211.24,-8181.05 207.53,-8175.11"/>
 </g>
 <!-- Node242 -->
 <g id="node92" class="node">
 <title>Node242</title>
 <g id="a_node92"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7972 351,-8002 499,-8002 499,-7972 351,-7972"/>
-<text text-anchor="start" x="359" y="-7990" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7979" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ScanopAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-8031 351,-8061 499,-8061 499,-8031 351,-8031"/>
+<text text-anchor="start" x="359" y="-8049" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-8038" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ScanopAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node242 -->
 <g id="edge91" class="edge">
 <title>Node153&#45;&gt;Node242</title>
-<path fill="none" stroke="midnightblue" d="M197.63,-8139.79C218.56,-8108.58 265.68,-8045.04 322,-8012 330.88,-8006.79 340.82,-8002.66 350.9,-7999.39"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="194.56,-8138.09 192,-8148.37 200.41,-8141.94 194.56,-8138.09"/>
+<path fill="none" stroke="midnightblue" d="M200.28,-8175.58C223.14,-8148.9 270.62,-8098.13 322,-8071 330.95,-8066.28 340.81,-8062.42 350.77,-8059.29"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="197.51,-8173.44 193.75,-8183.34 202.87,-8177.95 197.51,-8173.44"/>
 </g>
 <!-- Node244 -->
 <g id="node94" class="node">
 <title>Node244</title>
 <g id="a_node94"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7923 351,-7953 499,-7953 499,-7923 351,-7923"/>
-<text text-anchor="start" x="359" y="-7941" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7930" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; LeakyReluAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7982 351,-8012 499,-8012 499,-7982 351,-7982"/>
+<text text-anchor="start" x="359" y="-8000" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7989" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; LeakyReluAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node244 -->
 <g id="edge93" class="edge">
 <title>Node153&#45;&gt;Node244</title>
-<path fill="none" stroke="midnightblue" d="M193.67,-8138.99C210.58,-8099.62 254.96,-8008.97 322,-7963 330.72,-7957.02 340.73,-7952.47 350.99,-7949"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="190.34,-8137.88 189.72,-8148.46 196.8,-8140.58 190.34,-8137.88"/>
+<path fill="none" stroke="midnightblue" d="M195.47,-8174.18C214.38,-8138.59 260.37,-8061.47 322,-8022 330.75,-8016.4 340.66,-8012.05 350.78,-8008.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="192.17,-8172.94 190.67,-8183.43 198.38,-8176.16 192.17,-8172.94"/>
 </g>
 <!-- Node246 -->
 <g id="node96" class="node">
 <title>Node246</title>
 <g id="a_node96"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7874 351,-7904 499,-7904 499,-7874 351,-7874"/>
-<text text-anchor="start" x="359" y="-7892" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7881" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; CallTIRWithGradAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7933 351,-7963 499,-7963 499,-7933 351,-7933"/>
+<text text-anchor="start" x="359" y="-7951" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7940" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; CallTIRWithGradAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node246 -->
 <g id="edge95" class="edge">
 <title>Node153&#45;&gt;Node246</title>
-<path fill="none" stroke="midnightblue" d="M190.97,-8138.77C203.98,-8092.38 243.63,-7973.75 322,-7914 330.55,-7907.48 340.58,-7902.64 350.95,-7899.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="187.58,-8137.9 188.34,-8148.47 194.33,-8139.73 187.58,-8137.9"/>
+<path fill="none" stroke="midnightblue" d="M192.24,-8173.64C207.2,-8130.43 249.35,-8025.83 322,-7973 330.63,-7966.73 340.64,-7962.02 350.95,-7958.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="188.88,-8172.63 189.02,-8183.23 195.52,-8174.86 188.88,-8172.63"/>
 </g>
 <!-- Node248 -->
 <g id="node98" class="node">
 <title>Node248</title>
 <g id="a_node98"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7825 351,-7855 499,-7855 499,-7825 351,-7825"/>
-<text text-anchor="start" x="359" y="-7843" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7832" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; CallTIRInplaceAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7884 351,-7914 499,-7914 499,-7884 351,-7884"/>
+<text text-anchor="start" x="359" y="-7902" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7891" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; CallTIRInplaceAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node248 -->
 <g id="edge97" class="edge">
 <title>Node153&#45;&gt;Node248</title>
-<path fill="none" stroke="midnightblue" d="M189.15,-8138.23C198.66,-8085.21 232.22,-7938.84 322,-7865 330.38,-7858.11 340.37,-7853.07 350.78,-7849.4"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="185.65,-8137.89 187.43,-8148.33 192.56,-8139.06 185.65,-8137.89"/>
+<path fill="none" stroke="midnightblue" d="M189.97,-8173.51C201.16,-8123.69 237.83,-7990.9 322,-7924 330.49,-7917.25 340.55,-7912.29 350.98,-7908.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="186.54,-8172.81 187.85,-8183.33 193.38,-8174.29 186.54,-8172.81"/>
 </g>
 <!-- Node250 -->
 <g id="node100" class="node">
 <title>Node250</title>
 <g id="a_node100"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7776 351,-7806 499,-7806 499,-7776 351,-7776"/>
-<text text-anchor="start" x="359" y="-7794" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7783" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AstypeAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7835 351,-7865 499,-7865 499,-7835 351,-7835"/>
+<text text-anchor="start" x="359" y="-7853" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7842" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; AstypeAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node250 -->
 <g id="edge99" class="edge">
 <title>Node153&#45;&gt;Node250</title>
-<path fill="none" stroke="midnightblue" d="M187.71,-8138.17C193.88,-8079.35 220.34,-7904.5 322,-7816 330.32,-7808.76 340.4,-7803.54 350.95,-7799.8"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="184.21,-8138.03 186.73,-8148.32 191.17,-8138.7 184.21,-8138.03"/>
+<path fill="none" stroke="midnightblue" d="M188.33,-8173.44C196.05,-8117.63 226.04,-7956.4 322,-7875 330.34,-7867.92 340.38,-7862.79 350.85,-7859.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="184.85,-8173.05 187.04,-8183.41 191.79,-8173.95 184.85,-8173.05"/>
 </g>
 <!-- Node252 -->
 <g id="node102" class="node">
 <title>Node252</title>
 <g id="a_node102"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7727 351,-7757 499,-7757 499,-7727 351,-7727"/>
-<text text-anchor="start" x="359" y="-7745" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7734" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PixelShuffleAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7786 351,-7816 499,-7816 499,-7786 351,-7786"/>
+<text text-anchor="start" x="359" y="-7804" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7793" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PixelShuffleAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node252 -->
 <g id="edge101" class="edge">
 <title>Node153&#45;&gt;Node252</title>
-<path fill="none" stroke="midnightblue" d="M186.61,-8137.97C189.69,-8073.62 208.4,-7870.36 322,-7767 330.23,-7759.52 340.32,-7754.18 350.93,-7750.39"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="183.1,-8138.18 186.19,-8148.31 190.09,-8138.46 183.1,-8138.18"/>
+<path fill="none" stroke="midnightblue" d="M187.12,-8172.97C191.7,-8111.2 214.32,-7922.01 322,-7826 330.23,-7818.66 340.27,-7813.39 350.8,-7809.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="183.61,-8173.06 186.44,-8183.27 190.59,-8173.52 183.61,-8173.06"/>
 </g>
 <!-- Node254 -->
 <g id="node104" class="node">
 <title>Node254</title>
 <g id="a_node104"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7678 351,-7708 499,-7708 499,-7678 351,-7678"/>
-<text text-anchor="start" x="359" y="-7696" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7685" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PadAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7737 351,-7767 499,-7767 499,-7737 351,-7737"/>
+<text text-anchor="start" x="359" y="-7755" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7744" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PadAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node254 -->
 <g id="edge103" class="edge">
 <title>Node153&#45;&gt;Node254</title>
-<path fill="none" stroke="midnightblue" d="M185.72,-8137.81C185.9,-8068.26 196.31,-7836.44 322,-7718 330.16,-7710.31 340.29,-7704.87 350.96,-7701.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.22,-8138.21 185.77,-8148.2 189.22,-8138.18 182.22,-8138.21"/>
+<path fill="none" stroke="midnightblue" d="M186.13,-8173.03C187.69,-8106.17 202.15,-7888.11 322,-7777 330.16,-7769.44 340.22,-7764.06 350.81,-7760.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.62,-8173.33 185.97,-8183.39 189.62,-8173.44 182.62,-8173.33"/>
 </g>
 <!-- Node256 -->
 <g id="node106" class="node">
 <title>Node256</title>
 <g id="a_node106"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7629 351,-7659 499,-7659 499,-7629 351,-7629"/>
-<text text-anchor="start" x="359" y="-7647" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7636" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; InstanceNormAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7688 351,-7718 499,-7718 499,-7688 351,-7688"/>
+<text text-anchor="start" x="359" y="-7706" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7695" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; InstanceNormAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node256 -->
 <g id="edge105" class="edge">
 <title>Node153&#45;&gt;Node256</title>
-<path fill="none" stroke="midnightblue" d="M188.83,-8138.08C201.05,-8054.98 251.76,-7737.1 322,-7669 330.05,-7661.19 340.12,-7655.7 350.77,-7651.85"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="185.34,-8137.8 187.37,-8148.2 192.27,-8138.8 185.34,-8137.8"/>
+<path fill="none" stroke="midnightblue" d="M185.33,-8173.09C184.08,-8101.46 189.88,-7854.41 322,-7728 330.1,-7720.25 340.2,-7714.78 350.86,-7710.94"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="181.84,-8173.46 185.59,-8183.37 188.84,-8173.29 181.84,-8173.46"/>
 </g>
 <!-- Node258 -->
 <g id="node108" class="node">
 <title>Node258</title>
 <g id="a_node108"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7580 351,-7610 499,-7610 499,-7580 351,-7580"/>
-<text text-anchor="start" x="359" y="-7598" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7587" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; DropoutAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7639 351,-7669 499,-7669 499,-7639 351,-7639"/>
+<text text-anchor="start" x="359" y="-7657" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7646" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; DropoutAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node258 -->
 <g id="edge107" class="edge">
 <title>Node153&#45;&gt;Node258</title>
-<path fill="none" stroke="midnightblue" d="M188.3,-8138.09C198.86,-8049.95 245.53,-7695.92 322,-7620 330.02,-7612.04 340.14,-7606.46 350.87,-7602.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="184.81,-8137.76 187.12,-8148.1 191.76,-8138.58 184.81,-8137.76"/>
+<path fill="none" stroke="midnightblue" d="M188.54,-8173.16C199.87,-8087.58 248.56,-7751.1 322,-7679 330.07,-7671.08 340.21,-7665.53 350.95,-7661.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="185.06,-8172.75 187.24,-8183.12 192,-8173.66 185.06,-8172.75"/>
 </g>
 <!-- Node260 -->
 <g id="node110" class="node">
 <title>Node260</title>
 <g id="a_node110"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7531 351,-7561 499,-7561 499,-7531 351,-7531"/>
-<text text-anchor="start" x="359" y="-7549" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7538" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; TopKAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7590 351,-7620 499,-7620 499,-7590 351,-7590"/>
+<text text-anchor="start" x="359" y="-7608" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7597" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; TopKAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node260 -->
 <g id="edge109" class="edge">
 <title>Node153&#45;&gt;Node260</title>
-<path fill="none" stroke="midnightblue" d="M187.85,-8138.08C196.88,-8045.11 239.27,-7654.78 322,-7571 330.01,-7562.89 340.18,-7557.25 350.99,-7553.36"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="184.36,-8137.83 186.89,-8148.12 191.33,-8138.5 184.36,-8137.83"/>
+<path fill="none" stroke="midnightblue" d="M188.06,-8173.04C197.84,-8082.32 242.36,-7709.91 322,-7630 329.98,-7621.99 340.08,-7616.4 350.8,-7612.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="184.57,-8172.77 187,-8183.09 191.53,-8173.51 184.57,-8172.77"/>
 </g>
 <!-- Node262 -->
 <g id="node112" class="node">
 <title>Node262</title>
 <g id="a_node112"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="332.5,-7482 332.5,-7512 517.5,-7512 517.5,-7482 332.5,-7482"/>
-<text text-anchor="start" x="340.5" y="-7500" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7489" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; MultinomialFromUniformAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="332.5,-7541 332.5,-7571 517.5,-7571 517.5,-7541 332.5,-7541"/>
+<text text-anchor="start" x="340.5" y="-7559" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7548" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; MultinomialFromUniformAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node262 -->
 <g id="edge111" class="edge">
 <title>Node153&#45;&gt;Node262</title>
-<path fill="none" stroke="midnightblue" d="M187.47,-8138.01C195.08,-8040.26 233.01,-7613.67 322,-7522 325.68,-7518.21 329.84,-7514.95 334.32,-7512.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="183.96,-8138.02 186.7,-8148.25 190.94,-8138.55 183.96,-8138.02"/>
+<path fill="none" stroke="midnightblue" d="M187.64,-8173.15C195.91,-8077.92 236.05,-7668.84 322,-7581 325.7,-7577.22 329.87,-7573.98 334.35,-7571.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="184.15,-8172.91 186.79,-8183.17 191.12,-8173.5 184.15,-8172.91"/>
 </g>
 <!-- Node264 -->
 <g id="node114" class="node">
 <title>Node264</title>
 <g id="a_node114"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7433 351,-7463 499,-7463 499,-7433 351,-7433"/>
-<text text-anchor="start" x="359" y="-7451" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7440" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv3DAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7492 351,-7522 499,-7522 499,-7492 351,-7492"/>
+<text text-anchor="start" x="359" y="-7510" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7499" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv3DAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node264 -->
 <g id="edge113" class="edge">
 <title>Node153&#45;&gt;Node264</title>
-<path fill="none" stroke="midnightblue" d="M187.12,-8138.43C193.3,-8037.07 226.57,-7572.76 322,-7473 329.88,-7464.77 339.99,-7459.06 350.77,-7455.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="183.62,-8138.3 186.52,-8148.49 190.61,-8138.71 183.62,-8138.3"/>
+<path fill="none" stroke="midnightblue" d="M187.29,-8173.18C194.16,-8073.47 229.74,-7627.78 322,-7532 329.91,-7523.79 340.03,-7518.1 350.82,-7514.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="183.78,-8173.14 186.6,-8183.35 190.77,-8173.61 183.78,-8173.14"/>
 </g>
 <!-- Node266 -->
 <g id="node116" class="node">
 <title>Node266</title>
 <g id="a_node116"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7384 351,-7414 499,-7414 499,-7384 351,-7384"/>
-<text text-anchor="start" x="359" y="-7402" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7391" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; VirtualDeviceNode &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7443 351,-7473 499,-7473 499,-7443 351,-7443"/>
+<text text-anchor="start" x="359" y="-7461" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7450" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; VirtualDeviceNode &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node266 -->
 <g id="edge115" class="edge">
 <title>Node153&#45;&gt;Node266</title>
-<path fill="none" stroke="midnightblue" d="M186.86,-8138.05C191.82,-8031.62 220.36,-7531.62 322,-7424 329.89,-7415.65 340.07,-7409.89 350.94,-7405.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="183.35,-8138.17 186.39,-8148.32 190.34,-8138.48 183.35,-8138.17"/>
+<path fill="none" stroke="midnightblue" d="M186.99,-8173.04C192.58,-8068.68 223.47,-7586.7 322,-7483 329.91,-7474.67 340.11,-7468.93 350.98,-7465"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="183.49,-8172.97 186.47,-8183.14 190.48,-8173.34 183.49,-8172.97"/>
 </g>
 <!-- Node268 -->
 <g id="node118" class="node">
 <title>Node268</title>
 <g id="a_node118"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7335 351,-7365 499,-7365 499,-7335 351,-7335"/>
-<text text-anchor="start" x="359" y="-7353" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7342" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; WrapParamAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7394 351,-7424 499,-7424 499,-7394 351,-7394"/>
+<text text-anchor="start" x="359" y="-7412" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7401" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; WrapParamAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node268 -->
 <g id="edge117" class="edge">
 <title>Node153&#45;&gt;Node268</title>
-<path fill="none" stroke="midnightblue" d="M186.6,-8138.13C190.35,-8027.73 213.99,-7490.66 322,-7375 329.84,-7366.6 340,-7360.83 350.86,-7356.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="183.09,-8138.35 186.27,-8148.46 190.09,-8138.58 183.09,-8138.35"/>
+<path fill="none" stroke="midnightblue" d="M186.71,-8173.39C191.01,-8065.6 217.02,-7545.82 322,-7434 329.86,-7425.63 340.03,-7419.86 350.9,-7415.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="183.21,-8173.37 186.32,-8183.5 190.2,-8173.64 183.21,-8173.37"/>
 </g>
 <!-- Node270 -->
 <g id="node120" class="node">
 <title>Node270</title>
 <g id="a_node120"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7286 351,-7316 499,-7316 499,-7286 351,-7286"/>
-<text text-anchor="start" x="359" y="-7304" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7293" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; TileAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7345 351,-7375 499,-7375 499,-7345 351,-7345"/>
+<text text-anchor="start" x="359" y="-7363" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7352" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; TileAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node270 -->
 <g id="edge119" class="edge">
 <title>Node153&#45;&gt;Node270</title>
-<path fill="none" stroke="midnightblue" d="M186.38,-8138.33C188.96,-8024.38 207.57,-7449.77 322,-7326 329.8,-7317.57 339.94,-7311.77 350.79,-7307.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.88,-8138.33 186.16,-8148.4 189.87,-8138.48 182.88,-8138.33"/>
+<path fill="none" stroke="midnightblue" d="M186.48,-8173.2C189.63,-8060.9 210.73,-7504.78 322,-7385 329.82,-7376.58 339.97,-7370.8 350.82,-7366.85"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.98,-8173.33 186.21,-8183.42 189.98,-8173.51 182.98,-8173.33"/>
 </g>
 <!-- Node272 -->
 <g id="node122" class="node">
 <title>Node272</title>
 <g id="a_node122"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7237 351,-7267 499,-7267 499,-7237 351,-7237"/>
-<text text-anchor="start" x="359" y="-7255" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7244" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; StridedSliceAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7296 351,-7326 499,-7326 499,-7296 351,-7296"/>
+<text text-anchor="start" x="359" y="-7314" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7303" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; StridedSliceAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node272 -->
 <g id="edge121" class="edge">
 <title>Node153&#45;&gt;Node272</title>
-<path fill="none" stroke="midnightblue" d="M186.18,-8138.29C187.67,-8020.37 201.2,-7408.82 322,-7277 329.82,-7268.46 340.04,-7262.62 350.98,-7258.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.68,-8138.36 186.07,-8148.39 189.68,-8138.43 182.68,-8138.36"/>
+<path fill="none" stroke="midnightblue" d="M186.28,-8173.11C188.31,-8056.64 204.39,-7463.8 322,-7336 329.78,-7327.55 339.91,-7321.74 350.75,-7317.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.77,-8173.33 186.11,-8183.39 189.77,-8173.44 182.77,-8173.33"/>
 </g>
 <!-- Node274 -->
 <g id="node124" class="node">
 <title>Node274</title>
 <g id="a_node124"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7188 351,-7218 499,-7218 499,-7188 351,-7188"/>
-<text text-anchor="start" x="359" y="-7206" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7195" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SplitAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7247 351,-7277 499,-7277 499,-7247 351,-7247"/>
+<text text-anchor="start" x="359" y="-7265" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7254" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SplitAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node274 -->
 <g id="edge123" class="edge">
 <title>Node153&#45;&gt;Node274</title>
-<path fill="none" stroke="midnightblue" d="M186.01,-8138.35C186.45,-8016.79 194.8,-7367.92 322,-7228 329.79,-7219.43 339.99,-7213.58 350.92,-7209.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.51,-8138.42 185.98,-8148.43 189.51,-8138.44 182.51,-8138.42"/>
+<path fill="none" stroke="midnightblue" d="M186.09,-8173.12C187.05,-8052.81 198.01,-7422.87 322,-7287 329.8,-7278.45 340.01,-7272.6 350.95,-7268.64"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.59,-8173.38 186.02,-8183.4 189.59,-8173.43 182.59,-8173.38"/>
 </g>
 <!-- Node276 -->
 <g id="node126" class="node">
 <title>Node276</title>
 <g id="a_node126"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7139 351,-7169 499,-7169 499,-7139 351,-7139"/>
-<text text-anchor="start" x="359" y="-7157" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7146" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; RMSNormAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7198 351,-7228 499,-7228 499,-7198 351,-7198"/>
+<text text-anchor="start" x="359" y="-7216" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7205" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; RMSNormAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node276 -->
 <g id="edge125" class="edge">
 <title>Node153&#45;&gt;Node276</title>
-<path fill="none" stroke="midnightblue" d="M185.85,-8138.1C185.29,-8012.22 188.49,-7326.92 322,-7179 329.76,-7170.41 339.94,-7164.54 350.87,-7160.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.35,-8138.25 185.91,-8148.22 189.35,-8138.2 182.35,-8138.25"/>
+<path fill="none" stroke="midnightblue" d="M185.92,-8173.21C185.85,-8049.42 191.58,-7382 322,-7238 329.77,-7229.42 339.96,-7223.56 350.9,-7219.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.42,-8173.47 185.94,-8183.46 189.42,-8173.45 182.42,-8173.47"/>
 </g>
 <!-- Node278 -->
 <g id="node128" class="node">
 <title>Node278</title>
 <g id="a_node128"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7090 351,-7120 499,-7120 499,-7090 351,-7090"/>
-<text text-anchor="start" x="359" y="-7108" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7097" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; QuantizeAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7149 351,-7179 499,-7179 499,-7149 351,-7149"/>
+<text text-anchor="start" x="359" y="-7167" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7156" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; QuantizeAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node278 -->
 <g id="edge127" class="edge">
 <title>Node153&#45;&gt;Node278</title>
-<path fill="none" stroke="midnightblue" d="M185.7,-8138.33C184.18,-8009.44 182,-7286.13 322,-7130 329.73,-7121.38 339.9,-7115.5 350.83,-7111.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.21,-8138.39 185.84,-8148.34 189.2,-8138.29 182.21,-8138.39"/>
+<path fill="none" stroke="midnightblue" d="M185.77,-8173C184.72,-8044.99 185.26,-7341.02 322,-7189 329.74,-7180.39 339.92,-7174.52 350.85,-7170.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.27,-8173.31 185.87,-8183.27 189.27,-8173.24 182.27,-8173.31"/>
 </g>
 <!-- Node280 -->
 <g id="node130" class="node">
 <title>Node280</title>
 <g id="a_node130"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-7041 351,-7071 499,-7071 499,-7041 351,-7041"/>
-<text text-anchor="start" x="359" y="-7059" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-7048" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PReluAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7100 351,-7130 499,-7130 499,-7100 351,-7100"/>
+<text text-anchor="start" x="359" y="-7118" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7107" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PReluAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node280 -->
 <g id="edge129" class="edge">
 <title>Node153&#45;&gt;Node280</title>
-<path fill="none" stroke="midnightblue" d="M187.17,-8138.07C195.58,-7997.91 248.51,-7163.45 322,-7081 329.7,-7072.36 339.86,-7066.46 350.78,-7062.49"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="183.67,-8138.02 186.57,-8148.21 190.66,-8138.44 183.67,-8138.02"/>
+<path fill="none" stroke="midnightblue" d="M185.64,-8173.26C183.63,-8042.4 178.75,-7300.25 322,-7140 329.72,-7131.37 339.88,-7125.48 350.8,-7121.51"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.14,-8173.47 185.81,-8183.41 189.14,-8173.35 182.14,-8173.47"/>
 </g>
 <!-- Node282 -->
 <g id="node132" class="node">
 <title>Node282</title>
 <g id="a_node132"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="340,-6992 340,-7022 510,-7022 510,-6992 340,-6992"/>
-<text text-anchor="start" x="348" y="-7010" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6999" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; MultiboxTransformLocAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="340,-7051 340,-7081 510,-7081 510,-7051 340,-7051"/>
+<text text-anchor="start" x="348" y="-7069" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7058" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; MultiboxTransformLocAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node282 -->
 <g id="edge131" class="edge">
 <title>Node153&#45;&gt;Node282</title>
-<path fill="none" stroke="midnightblue" d="M187.06,-8138.07C194.85,-7994.27 245.29,-7118.53 322,-7032 327.08,-7026.27 333.24,-7021.75 339.98,-7018.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="183.54,-8138.25 186.5,-8148.43 190.53,-8138.63 183.54,-8138.25"/>
+<path fill="none" stroke="midnightblue" d="M187.11,-8173.05C195.21,-8030.98 246.87,-7175.52 322,-7091 326.97,-7085.41 332.96,-7080.97 339.52,-7077.46"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="183.6,-8173.13 186.53,-8183.31 190.59,-8173.53 183.6,-8173.13"/>
 </g>
 <!-- Node284 -->
 <g id="node134" class="node">
 <title>Node284</title>
 <g id="a_node134"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-6943 351,-6973 499,-6973 499,-6943 351,-6943"/>
-<text text-anchor="start" x="359" y="-6961" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6950" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv2DAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-7002 351,-7032 499,-7032 499,-7002 351,-7002"/>
+<text text-anchor="start" x="359" y="-7020" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-7009" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv2DAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node284 -->
 <g id="edge133" class="edge">
 <title>Node153&#45;&gt;Node284</title>
-<path fill="none" stroke="midnightblue" d="M186.95,-8138.11C194.15,-7990.9 242.06,-7073.62 322,-6983 329.72,-6974.25 339.95,-6968.31 350.96,-6964.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="183.44,-8138.19 186.45,-8148.35 190.43,-8138.53 183.44,-8138.19"/>
+<path fill="none" stroke="midnightblue" d="M187,-8173.07C194.49,-8027.45 243.65,-7130.61 322,-7042 329.73,-7033.26 339.97,-7027.33 350.98,-7023.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="183.5,-8173.05 186.49,-8183.22 190.49,-8173.41 183.5,-8173.05"/>
 </g>
 <!-- Node286 -->
 <g id="node136" class="node">
 <title>Node286</title>
 <g id="a_node136"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-6894 351,-6924 499,-6924 499,-6894 351,-6894"/>
-<text text-anchor="start" x="359" y="-6912" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6901" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SortAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-6953 351,-6983 499,-6983 499,-6953 351,-6953"/>
+<text text-anchor="start" x="359" y="-6971" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-6960" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; SortAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node286 -->
 <g id="edge135" class="edge">
 <title>Node153&#45;&gt;Node286</title>
-<path fill="none" stroke="midnightblue" d="M186.85,-8138.22C193.47,-7987.86 238.82,-7028.73 322,-6934 329.7,-6925.23 339.92,-6919.28 350.93,-6915.3"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="183.35,-8138.15 186.41,-8148.29 190.34,-8138.45 183.35,-8138.15"/>
+<path fill="none" stroke="midnightblue" d="M186.9,-8173.16C193.8,-8024.3 240.41,-7085.72 322,-6993 329.71,-6984.24 339.94,-6978.3 350.95,-6974.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="183.39,-8173.33 186.42,-8183.48 190.38,-8173.65 183.39,-8173.33"/>
 </g>
 <!-- Node288 -->
 <g id="node138" class="node">
 <title>Node288</title>
 <g id="a_node138"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-6845 351,-6875 499,-6875 499,-6845 351,-6845"/>
-<text text-anchor="start" x="359" y="-6863" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6852" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv1DAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-6904 351,-6934 499,-6934 499,-6904 351,-6904"/>
+<text text-anchor="start" x="359" y="-6922" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-6911" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv1DAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node288 -->
 <g id="edge137" class="edge">
 <title>Node153&#45;&gt;Node288</title>
-<path fill="none" stroke="midnightblue" d="M186.77,-8137.91C192.9,-7983.13 235.65,-6983.77 322,-6885 329.68,-6876.22 339.9,-6870.26 350.9,-6866.27"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="183.26,-8138.13 186.37,-8148.25 190.26,-8138.4 183.26,-8138.13"/>
+<path fill="none" stroke="midnightblue" d="M186.8,-8173.29C193.13,-8021.41 237.16,-7040.84 322,-6944 329.69,-6935.22 339.91,-6929.27 350.91,-6925.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="183.3,-8173.3 186.38,-8183.44 190.29,-8173.59 183.3,-8173.3"/>
 </g>
 <!-- Node290 -->
 <g id="node140" class="node">
 <title>Node290</title>
 <g id="a_node140"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-6796 351,-6826 499,-6826 499,-6796 351,-6796"/>
-<text text-anchor="start" x="359" y="-6814" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6803" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; BucketizeAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-6855 351,-6885 499,-6885 499,-6855 351,-6855"/>
+<text text-anchor="start" x="359" y="-6873" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-6862" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; BucketizeAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node290 -->
 <g id="edge139" class="edge">
 <title>Node153&#45;&gt;Node290</title>
-<path fill="none" stroke="midnightblue" d="M186.68,-8138.11C192.25,-7980.65 232.38,-6938.91 322,-6836 329.66,-6827.2 339.87,-6821.24 350.87,-6817.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="183.18,-8138.12 186.33,-8148.24 190.18,-8138.37 183.18,-8138.12"/>
+<path fill="none" stroke="midnightblue" d="M186.73,-8173C192.57,-8016.81 233.98,-6995.88 322,-6895 329.67,-6886.21 339.88,-6880.25 350.88,-6876.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="183.21,-8173.29 186.34,-8183.42 190.21,-8173.55 183.21,-8173.29"/>
 </g>
 <!-- Node292 -->
 <g id="node142" class="node">
 <title>Node292</title>
 <g id="a_node142"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-6747 351,-6777 499,-6777 499,-6747 351,-6747"/>
-<text text-anchor="start" x="359" y="-6765" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6754" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ArgsortAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-6806 351,-6836 499,-6836 499,-6806 351,-6806"/>
+<text text-anchor="start" x="359" y="-6824" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-6813" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; ArgsortAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node292 -->
 <g id="edge141" class="edge">
 <title>Node153&#45;&gt;Node292</title>
-<path fill="none" stroke="midnightblue" d="M186.61,-8137.87C191.71,-7976.32 229.19,-6893.96 322,-6787 329.65,-6778.19 339.85,-6772.22 350.84,-6768.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="183.1,-8138.14 186.29,-8148.24 190.1,-8138.36 183.1,-8138.14"/>
+<path fill="none" stroke="midnightblue" d="M186.64,-8173.23C191.94,-8014.49 230.71,-6951.03 322,-6846 329.65,-6837.19 339.86,-6831.23 350.86,-6827.23"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="183.13,-8173.3 186.3,-8183.41 190.13,-8173.53 183.13,-8173.3"/>
 </g>
 <!-- Node294 -->
 <g id="node144" class="node">
 <title>Node294</title>
 <g id="a_node144"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-6698 351,-6728 499,-6728 499,-6698 351,-6698"/>
-<text text-anchor="start" x="359" y="-6716" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6705" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; StatisticalAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-6757 351,-6787 499,-6787 499,-6757 351,-6757"/>
+<text text-anchor="start" x="359" y="-6775" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-6764" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; StatisticalAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node294 -->
 <g id="edge143" class="edge">
 <title>Node153&#45;&gt;Node294</title>
-<path fill="none" stroke="midnightblue" d="M186.53,-8138.16C191.1,-7974.4 225.9,-6849.14 322,-6738 329.63,-6729.17 339.82,-6723.2 350.82,-6719.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="183.03,-8138.17 186.26,-8148.27 190.03,-8138.37 183.03,-8138.17"/>
+<path fill="none" stroke="midnightblue" d="M186.57,-8173.01C191.4,-8010.29 227.51,-6906.09 322,-6797 329.64,-6788.18 339.83,-6782.21 350.83,-6778.21"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="183.06,-8173.33 186.27,-8183.43 190.06,-8173.54 183.06,-8173.33"/>
 </g>
 <!-- Node296 -->
 <g id="node146" class="node">
 <title>Node296</title>
 <g id="a_node146"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-6649 351,-6679 499,-6679 499,-6649 351,-6649"/>
-<text text-anchor="start" x="359" y="-6667" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6656" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; LayoutTransformAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-6708 351,-6738 499,-6738 499,-6708 351,-6708"/>
+<text text-anchor="start" x="359" y="-6726" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-6715" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; LayoutTransformAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node296 -->
 <g id="edge145" class="edge">
 <title>Node153&#45;&gt;Node296</title>
-<path fill="none" stroke="midnightblue" d="M186.47,-8138C190.58,-7970.48 222.69,-6804.21 322,-6689 329.62,-6680.16 339.8,-6674.18 350.79,-6670.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.96,-8138.23 186.22,-8148.31 189.96,-8138.4 182.96,-8138.23"/>
+<path fill="none" stroke="midnightblue" d="M186.49,-8173.33C190.8,-8008.54 224.22,-6861.27 322,-6748 329.63,-6739.17 339.81,-6733.19 350.8,-6729.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.99,-8173.38 186.23,-8183.47 189.99,-8173.56 182.99,-8173.38"/>
 </g>
 <!-- Node298 -->
 <g id="node148" class="node">
 <title>Node298</title>
 <g id="a_node148"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="350.5,-6600 350.5,-6630 499.5,-6630 499.5,-6600 350.5,-6600"/>
-<text text-anchor="start" x="358.5" y="-6618" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6607" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv1DTransposeAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="350.5,-6659 350.5,-6689 499.5,-6689 499.5,-6659 350.5,-6659"/>
+<text text-anchor="start" x="358.5" y="-6677" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-6666" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv1DTransposeAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node298 -->
 <g id="edge147" class="edge">
 <title>Node153&#45;&gt;Node298</title>
-<path fill="none" stroke="midnightblue" d="M186.4,-8138.12C190.04,-7967.93 219.43,-6759.36 322,-6640 329.49,-6631.29 339.47,-6625.35 350.26,-6621.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.9,-8138.3 186.19,-8148.37 189.9,-8138.45 182.9,-8138.3"/>
+<path fill="none" stroke="midnightblue" d="M186.44,-8172.92C190.32,-8003.49 221.06,-6816.29 322,-6699 329.49,-6690.29 339.47,-6684.36 350.27,-6680.36"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.94,-8173.07 186.21,-8183.14 189.93,-8173.23 182.94,-8173.07"/>
 </g>
 <!-- Node300 -->
 <g id="node150" class="node">
 <title>Node300</title>
 <g id="a_node150"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-6551 351,-6581 499,-6581 499,-6551 351,-6551"/>
-<text text-anchor="start" x="359" y="-6569" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6558" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GetValidCountsAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-6610 351,-6640 499,-6640 499,-6610 351,-6610"/>
+<text text-anchor="start" x="359" y="-6628" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-6617" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GetValidCountsAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node300 -->
 <g id="edge149" class="edge">
 <title>Node153&#45;&gt;Node300</title>
-<path fill="none" stroke="midnightblue" d="M186.34,-8138.28C189.52,-7965.63 216.15,-6714.52 322,-6591 329.59,-6582.14 339.76,-6576.15 350.75,-6572.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.84,-8138.39 186.16,-8148.45 189.84,-8138.51 182.84,-8138.39"/>
+<path fill="none" stroke="midnightblue" d="M186.38,-8173.06C189.79,-8001.04 217.79,-6771.45 322,-6650 329.6,-6641.14 339.77,-6635.15 350.76,-6631.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.87,-8173.15 186.18,-8183.21 189.87,-8173.28 182.87,-8173.15"/>
 </g>
 <!-- Node302 -->
 <g id="node152" class="node">
 <title>Node302</title>
 <g id="a_node152"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="350.5,-6502 350.5,-6532 499.5,-6532 499.5,-6502 350.5,-6502"/>
-<text text-anchor="start" x="358.5" y="-6520" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6509" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv2DTransposeAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="350.5,-6561 350.5,-6591 499.5,-6591 499.5,-6561 350.5,-6561"/>
+<text text-anchor="start" x="358.5" y="-6579" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-6568" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv2DTransposeAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node302 -->
 <g id="edge151" class="edge">
 <title>Node153&#45;&gt;Node302</title>
-<path fill="none" stroke="midnightblue" d="M186.29,-8137.93C189.07,-7960.91 212.98,-6669.56 322,-6542 329.52,-6533.2 339.59,-6527.23 350.47,-6523.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.79,-8138.1 186.14,-8148.15 189.79,-8138.2 182.79,-8138.1"/>
+<path fill="none" stroke="midnightblue" d="M186.32,-8173.23C189.28,-7998.83 214.51,-6726.61 322,-6601 329.53,-6592.2 339.6,-6586.23 350.48,-6582.23"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.82,-8173.24 186.15,-8183.3 189.81,-8173.35 182.82,-8173.24"/>
 </g>
 <!-- Node304 -->
 <g id="node154" class="node">
 <title>Node304</title>
 <g id="a_node154"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-6453 351,-6483 499,-6483 499,-6453 351,-6453"/>
-<text text-anchor="start" x="359" y="-6471" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6460" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PermuteDimsAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-6512 351,-6542 499,-6542 499,-6512 351,-6512"/>
+<text text-anchor="start" x="359" y="-6530" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-6519" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; PermuteDimsAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node304 -->
 <g id="edge153" class="edge">
 <title>Node153&#45;&gt;Node304</title>
-<path fill="none" stroke="midnightblue" d="M186.24,-8138.15C188.57,-7959.02 209.69,-6624.74 322,-6493 329.63,-6484.05 339.89,-6478.02 350.97,-6474.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.74,-8138.21 186.11,-8148.26 189.74,-8138.3 182.74,-8138.21"/>
+<path fill="none" stroke="midnightblue" d="M186.26,-8173.17C188.8,-7995.56 211.27,-6681.72 322,-6552 329.63,-6543.06 339.9,-6537.03 350.98,-6533.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.76,-8173.35 186.12,-8183.4 189.76,-8173.44 182.76,-8173.35"/>
 </g>
 <!-- Node306 -->
 <g id="node156" class="node">
 <title>Node306</title>
 <g id="a_node156"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-6404 351,-6434 499,-6434 499,-6404 351,-6404"/>
-<text text-anchor="start" x="359" y="-6422" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6411" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GroupNormAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-6463 351,-6493 499,-6493 499,-6463 351,-6463"/>
+<text text-anchor="start" x="359" y="-6481" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-6470" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GroupNormAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node306 -->
 <g id="edge155" class="edge">
 <title>Node153&#45;&gt;Node306</title>
-<path fill="none" stroke="midnightblue" d="M186.19,-8138.13C188.12,-7955.99 206.44,-6579.86 322,-6444 329.62,-6435.04 339.87,-6429.01 350.95,-6425"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.69,-8138.34 186.09,-8148.38 189.69,-8138.41 182.69,-8138.34"/>
+<path fill="none" stroke="midnightblue" d="M186.22,-8172.85C188.36,-7991.04 208.09,-6636.77 322,-6503 329.62,-6494.05 339.88,-6488.02 350.96,-6484.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.71,-8173.07 186.1,-8183.11 189.71,-8173.15 182.71,-8173.07"/>
 </g>
 <!-- Node308 -->
 <g id="node158" class="node">
 <title>Node308</title>
 <g id="a_node158"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="351,-6355 351,-6385 499,-6385 499,-6355 351,-6355"/>
-<text text-anchor="start" x="359" y="-6373" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6362" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GatherNDAttrs &gt;</text>
+<polygon fill="white" stroke="black" points="351,-6414 351,-6444 499,-6444 499,-6414 351,-6414"/>
+<text text-anchor="start" x="359" y="-6432" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-6421" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; GatherNDAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node308 -->
 <g id="edge157" class="edge">
 <title>Node153&#45;&gt;Node308</title>
-<path fill="none" stroke="midnightblue" d="M186.15,-8137.84C187.68,-7951.64 203.25,-6534.92 322,-6395 329.61,-6386.03 339.86,-6380 350.94,-6375.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.65,-8138.07 186.07,-8148.1 189.65,-8138.13 182.65,-8138.07"/>
+<path fill="none" stroke="midnightblue" d="M186.17,-8173.12C187.89,-7989.44 204.79,-6591.97 322,-6454 329.61,-6445.04 339.87,-6439 350.94,-6434.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.67,-8173.21 186.08,-8183.24 189.67,-8173.27 182.67,-8173.21"/>
 </g>
 <!-- Node310 -->
 <g id="node160" class="node">
 <title>Node310</title>
-<g id="a_node160"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title="Adapter for AttrsNode with the new reflection API.">
-<polygon fill="white" stroke="black" points="351,-6306 351,-6336 499,-6336 499,-6306 351,-6306"/>
-<text text-anchor="start" x="359" y="-6324" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
-<text text-anchor="middle" x="425" y="-6313" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; DerivedType &gt;</text>
+<g id="a_node160"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="350.5,-6365 350.5,-6395 499.5,-6395 499.5,-6365 350.5,-6365"/>
+<text text-anchor="start" x="358.5" y="-6383" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-6372" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; Conv3DTransposeAttrs &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node153&#45;&gt;Node310 -->
 <g id="edge159" class="edge">
 <title>Node153&#45;&gt;Node310</title>
-<path fill="none" stroke="midnightblue" d="M186.1,-8138.15C187.23,-7950.36 199.94,-6490.13 322,-6346 329.6,-6337.03 339.85,-6330.99 350.92,-6326.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.6,-8138.23 186.04,-8148.25 189.6,-8138.27 182.6,-8138.23"/>
+<path fill="none" stroke="midnightblue" d="M186.12,-8173.14C187.44,-7986.66 201.53,-6547.1 322,-6405 329.49,-6396.17 339.53,-6390.18 350.41,-6386.17"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.62,-8173.36 186.05,-8183.38 189.62,-8173.4 182.62,-8173.36"/>
 </g>
-<!-- Node311 -->
-<g id="node161" class="node">
-<title>Node311</title>
-<g id="a_node161"><a xlink:href="classtvm_1_1DictAttrsNode.html" target="_top" xlink:title="Specialized attribute type that is backed by a map. The DictAttrsNode implements the Attrs behavior,...">
-<polygon fill="white" stroke="black" points="370,-6267.5 370,-6286.5 480,-6286.5 480,-6267.5 370,-6267.5"/>
-<text text-anchor="middle" x="425" y="-6274.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DictAttrsNode</text>
+<!-- Node312 -->
+<g id="node162" class="node">
+<title>Node312</title>
+<g id="a_node162"><a xlink:href="classtvm_1_1AttrsNodeReflAdapter.html" target="_top" xlink:title="Adapter for AttrsNode with the new reflection API.">
+<polygon fill="white" stroke="black" points="351,-6316 351,-6346 499,-6346 499,-6316 351,-6316"/>
+<text text-anchor="start" x="359" y="-6334" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNodeReflAdapter</text>
+<text text-anchor="middle" x="425" y="-6323" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; DerivedType &gt;</text>
 </a>
 </g>
 </g>
-<!-- Node153&#45;&gt;Node311 -->
-<g id="edge160" class="edge">
-<title>Node153&#45;&gt;Node311</title>
-<path fill="none" stroke="midnightblue" d="M186.02,-8138.17C186.37,-7947.45 193.24,-6442.32 322,-6297 333.97,-6283.49 352.15,-6277.49 369.86,-6275.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="182.52,-8138.39 186,-8148.39 189.52,-8138.4 182.52,-8138.39"/>
+<!-- Node153&#45;&gt;Node312 -->
+<g id="edge161" class="edge">
+<title>Node153&#45;&gt;Node312</title>
+<path fill="none" stroke="midnightblue" d="M186.08,-8172.88C187.03,-7982.5 198.34,-6502.17 322,-6356 329.6,-6347.02 339.84,-6340.98 350.91,-6336.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.58,-8173.1 186.03,-8183.12 189.58,-8173.13 182.58,-8173.1"/>
+</g>
+<!-- Node313 -->
+<g id="node163" class="node">
+<title>Node313</title>
+<g id="a_node163"><a xlink:href="classtvm_1_1DictAttrsNode.html" target="_top" xlink:title="Specialized attribute type that is backed by a map. The DictAttrsNode implements the Attrs behavior,...">
+<polygon fill="white" stroke="black" points="370,-6277.5 370,-6296.5 480,-6296.5 480,-6277.5 370,-6277.5"/>
+<text text-anchor="middle" x="425" y="-6284.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DictAttrsNode</text>
+</a>
+</g>
+</g>
+<!-- Node153&#45;&gt;Node313 -->
+<g id="edge162" class="edge">
+<title>Node153&#45;&gt;Node313</title>
+<path fill="none" stroke="midnightblue" d="M186,-8173.19C186.16,-7981.15 191.53,-6454.39 322,-6307 333.96,-6293.49 352.14,-6287.48 369.86,-6285.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="182.5,-8173.26 185.99,-8183.26 189.5,-8173.27 182.5,-8173.26"/>
 </g>
 <!-- Node155 -->
 <g id="node5" class="node">
 <title>Node155</title>
 <g id="a_node5"><a xlink:href="structtvm_1_1relax_1_1SliceScatterAttrs.html" target="_top" xlink:title="Attributes used in slice_scatter operator.">
-<polygon fill="white" stroke="black" points="599,-10140 599,-10170 730,-10170 730,-10140 599,-10140"/>
-<text text-anchor="start" x="607" y="-10158" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SliceScatter</text>
-<text text-anchor="middle" x="664.5" y="-10147" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="599,-10199 599,-10229 730,-10229 730,-10199 599,-10199"/>
+<text text-anchor="start" x="607" y="-10217" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SliceScatter</text>
+<text text-anchor="middle" x="664.5" y="-10206" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node154&#45;&gt;Node155 -->
 <g id="edge4" class="edge">
 <title>Node154&#45;&gt;Node155</title>
-<path fill="none" stroke="midnightblue" d="M509.45,-10155C538.84,-10155 571.4,-10155 598.99,-10155"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-10151.5 499.2,-10155 509.2,-10158.5 509.2,-10151.5"/>
+<path fill="none" stroke="midnightblue" d="M509.45,-10214C538.84,-10214 571.4,-10214 598.99,-10214"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-10210.5 499.2,-10214 509.2,-10217.5 509.2,-10210.5"/>
 </g>
 <!-- Node157 -->
 <g id="node7" class="node">
 <title>Node157</title>
 <g id="a_node7"><a xlink:href="structtvm_1_1relax_1_1ScatterCollectiveAttrs.html" target="_top" xlink:title="Attributes used in scatter operators.">
-<polygon fill="white" stroke="black" points="586.5,-10091 586.5,-10121 742.5,-10121 742.5,-10091 586.5,-10091"/>
-<text text-anchor="start" x="594.5" y="-10109" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScatterCollective</text>
-<text text-anchor="middle" x="664.5" y="-10098" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="586.5,-10150 586.5,-10180 742.5,-10180 742.5,-10150 586.5,-10150"/>
+<text text-anchor="start" x="594.5" y="-10168" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScatterCollective</text>
+<text text-anchor="middle" x="664.5" y="-10157" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node156&#45;&gt;Node157 -->
 <g id="edge6" class="edge">
 <title>Node156&#45;&gt;Node157</title>
-<path fill="none" stroke="midnightblue" d="M509.4,-10106C534.45,-10106 561.81,-10106 586.43,-10106"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-10102.5 499.2,-10106 509.2,-10109.5 509.2,-10102.5"/>
+<path fill="none" stroke="midnightblue" d="M509.4,-10165C534.45,-10165 561.81,-10165 586.43,-10165"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-10161.5 499.2,-10165 509.2,-10168.5 509.2,-10161.5"/>
 </g>
 <!-- Node159 -->
 <g id="node9" class="node">
 <title>Node159</title>
 <g id="a_node9"><a xlink:href="structtvm_1_1relax_1_1HintOnDeviceAttrs.html" target="_top" xlink:title="Attributes used in hint_on_device.">
-<polygon fill="white" stroke="black" points="594.5,-10042 594.5,-10072 734.5,-10072 734.5,-10042 594.5,-10042"/>
-<text text-anchor="start" x="602.5" y="-10060" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::HintOnDevice</text>
-<text text-anchor="middle" x="664.5" y="-10049" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="594.5,-10101 594.5,-10131 734.5,-10131 734.5,-10101 594.5,-10101"/>
+<text text-anchor="start" x="602.5" y="-10119" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::HintOnDevice</text>
+<text text-anchor="middle" x="664.5" y="-10108" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node158&#45;&gt;Node159 -->
 <g id="edge8" class="edge">
 <title>Node158&#45;&gt;Node159</title>
-<path fill="none" stroke="midnightblue" d="M509.28,-10057C537.03,-10057 567.63,-10057 594.2,-10057"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-10053.5 499.2,-10057 509.2,-10060.5 509.2,-10053.5"/>
+<path fill="none" stroke="midnightblue" d="M509.28,-10116C537.03,-10116 567.63,-10116 594.2,-10116"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-10112.5 499.2,-10116 509.2,-10119.5 509.2,-10112.5"/>
 </g>
 <!-- Node161 -->
 <g id="node11" class="node">
 <title>Node161</title>
 <g id="a_node11"><a xlink:href="structtvm_1_1relax_1_1GridSampleAttrs.html" target="_top" xlink:title="Attributes used in image grid_sample operator.">
-<polygon fill="white" stroke="black" points="588,-9998.5 588,-10017.5 741,-10017.5 741,-9998.5 588,-9998.5"/>
-<text text-anchor="middle" x="664.5" y="-10005.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GridSampleAttrs</text>
+<polygon fill="white" stroke="black" points="588,-10057.5 588,-10076.5 741,-10076.5 741,-10057.5 588,-10057.5"/>
+<text text-anchor="middle" x="664.5" y="-10064.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GridSampleAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node160&#45;&gt;Node161 -->
 <g id="edge10" class="edge">
 <title>Node160&#45;&gt;Node161</title>
-<path fill="none" stroke="midnightblue" d="M509.22,-10008C534.74,-10008 562.67,-10008 587.67,-10008"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-10004.5 499.2,-10008 509.2,-10011.5 509.2,-10004.5"/>
+<path fill="none" stroke="midnightblue" d="M509.22,-10067C534.74,-10067 562.67,-10067 587.67,-10067"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-10063.5 499.2,-10067 509.2,-10070.5 509.2,-10063.5"/>
 </g>
 <!-- Node163 -->
 <g id="node13" class="node">
 <title>Node163</title>
 <g id="a_node13"><a xlink:href="structtvm_1_1relax_1_1AllClassNonMaximumSuppressionAttrs.html" target="_top" xlink:title="Attributes used in AllClassNonMaximumSuppression operator.">
-<polygon fill="white" stroke="black" points="574,-9938 574,-9968 755,-9968 755,-9938 574,-9938"/>
-<text text-anchor="start" x="582" y="-9956" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllClassNonMaximum</text>
-<text text-anchor="middle" x="664.5" y="-9945" font-family="Helvetica,sans-Serif" font-size="10.00">SuppressionAttrs</text>
+<polygon fill="white" stroke="black" points="574,-9997 574,-10027 755,-10027 755,-9997 574,-9997"/>
+<text text-anchor="start" x="582" y="-10015" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllClassNonMaximum</text>
+<text text-anchor="middle" x="664.5" y="-10004" font-family="Helvetica,sans-Serif" font-size="10.00">SuppressionAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node162&#45;&gt;Node163 -->
 <g id="edge12" class="edge">
 <title>Node162&#45;&gt;Node163</title>
-<path fill="none" stroke="midnightblue" d="M533,-9953C546.66,-9953 560.53,-9953 573.88,-9953"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="532.6,-9949.5 522.6,-9953 532.6,-9956.5 532.6,-9949.5"/>
+<path fill="none" stroke="midnightblue" d="M533,-10012C546.66,-10012 560.53,-10012 573.88,-10012"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="532.6,-10008.5 522.6,-10012 532.6,-10015.5 532.6,-10008.5"/>
 </g>
 <!-- Node165 -->
 <g id="node15" class="node">
 <title>Node165</title>
 <g id="a_node15"><a xlink:href="structtvm_1_1relax_1_1TakeAttrs.html" target="_top" xlink:title="Attributes used in take operator.">
-<polygon fill="white" stroke="black" points="605.5,-9888.5 605.5,-9907.5 723.5,-9907.5 723.5,-9888.5 605.5,-9888.5"/>
-<text text-anchor="middle" x="664.5" y="-9895.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TakeAttrs</text>
+<polygon fill="white" stroke="black" points="605.5,-9947.5 605.5,-9966.5 723.5,-9966.5 723.5,-9947.5 605.5,-9947.5"/>
+<text text-anchor="middle" x="664.5" y="-9954.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TakeAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node164&#45;&gt;Node165 -->
 <g id="edge14" class="edge">
 <title>Node164&#45;&gt;Node165</title>
-<path fill="none" stroke="midnightblue" d="M509.33,-9898C541,-9898 576.37,-9898 605.23,-9898"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9894.5 499.2,-9898 509.2,-9901.5 509.2,-9894.5"/>
+<path fill="none" stroke="midnightblue" d="M509.33,-9957C541,-9957 576.37,-9957 605.23,-9957"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9953.5 499.2,-9957 509.2,-9960.5 509.2,-9953.5"/>
 </g>
 <!-- Node167 -->
 <g id="node17" class="node">
 <title>Node167</title>
 <g id="a_node17"><a xlink:href="structtvm_1_1relax_1_1ScatterElementsAttrs.html" target="_top" xlink:title="Attributes used in scatter_elements operators.">
-<polygon fill="white" stroke="black" points="588,-9834 588,-9864 741,-9864 741,-9834 588,-9834"/>
-<text text-anchor="start" x="596" y="-9852" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScatterElements</text>
-<text text-anchor="middle" x="664.5" y="-9841" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="588,-9893 588,-9923 741,-9923 741,-9893 588,-9893"/>
+<text text-anchor="start" x="596" y="-9911" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScatterElements</text>
+<text text-anchor="middle" x="664.5" y="-9900" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node166&#45;&gt;Node167 -->
 <g id="edge16" class="edge">
 <title>Node166&#45;&gt;Node167</title>
-<path fill="none" stroke="midnightblue" d="M509.22,-9849C534.74,-9849 562.67,-9849 587.67,-9849"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9845.5 499.2,-9849 509.2,-9852.5 509.2,-9845.5"/>
+<path fill="none" stroke="midnightblue" d="M509.22,-9908C534.74,-9908 562.67,-9908 587.67,-9908"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9904.5 499.2,-9908 509.2,-9911.5 509.2,-9904.5"/>
 </g>
 <!-- Node169 -->
 <g id="node19" class="node">
 <title>Node169</title>
 <g id="a_node19"><a xlink:href="structtvm_1_1relax_1_1MeshgridAttrs.html" target="_top" xlink:title="Attribute used in meshgrid operator.">
-<polygon fill="white" stroke="black" points="594,-9790.5 594,-9809.5 735,-9809.5 735,-9790.5 594,-9790.5"/>
-<text text-anchor="middle" x="664.5" y="-9797.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MeshgridAttrs</text>
+<polygon fill="white" stroke="black" points="594,-9849.5 594,-9868.5 735,-9868.5 735,-9849.5 594,-9849.5"/>
+<text text-anchor="middle" x="664.5" y="-9856.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MeshgridAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node168&#45;&gt;Node169 -->
 <g id="edge18" class="edge">
 <title>Node168&#45;&gt;Node169</title>
-<path fill="none" stroke="midnightblue" d="M509.23,-9800C536.85,-9800 567.3,-9800 593.8,-9800"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9796.5 499.2,-9800 509.2,-9803.5 509.2,-9796.5"/>
+<path fill="none" stroke="midnightblue" d="M509.23,-9859C536.85,-9859 567.3,-9859 593.8,-9859"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9855.5 499.2,-9859 509.2,-9862.5 509.2,-9855.5"/>
 </g>
 <!-- Node171 -->
 <g id="node21" class="node">
 <title>Node171</title>
 <g id="a_node21"><a xlink:href="structtvm_1_1relax_1_1GatherElementsAttrs.html" target="_top" xlink:title="Attributes used in gather_elements operators.">
-<polygon fill="white" stroke="black" points="588.5,-9736 588.5,-9766 740.5,-9766 740.5,-9736 588.5,-9736"/>
-<text text-anchor="start" x="596.5" y="-9754" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GatherElements</text>
-<text text-anchor="middle" x="664.5" y="-9743" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="588.5,-9795 588.5,-9825 740.5,-9825 740.5,-9795 588.5,-9795"/>
+<text text-anchor="start" x="596.5" y="-9813" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GatherElements</text>
+<text text-anchor="middle" x="664.5" y="-9802" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node170&#45;&gt;Node171 -->
 <g id="edge20" class="edge">
 <title>Node170&#45;&gt;Node171</title>
-<path fill="none" stroke="midnightblue" d="M509.32,-9751C535.09,-9751 563.32,-9751 588.5,-9751"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9747.5 499.2,-9751 509.2,-9754.5 509.2,-9747.5"/>
+<path fill="none" stroke="midnightblue" d="M509.32,-9810C535.09,-9810 563.32,-9810 588.5,-9810"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9806.5 499.2,-9810 509.2,-9813.5 509.2,-9806.5"/>
 </g>
 <!-- Node173 -->
 <g id="node23" class="node">
 <title>Node173</title>
 <g id="a_node23"><a xlink:href="structtvm_1_1relax_1_1EinsumAttrs.html" target="_top" xlink:title="Attributes used in einsum operator.">
-<polygon fill="white" stroke="black" points="598.5,-9692.5 598.5,-9711.5 730.5,-9711.5 730.5,-9692.5 598.5,-9692.5"/>
-<text text-anchor="middle" x="664.5" y="-9699.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::EinsumAttrs</text>
+<polygon fill="white" stroke="black" points="598.5,-9751.5 598.5,-9770.5 730.5,-9770.5 730.5,-9751.5 598.5,-9751.5"/>
+<text text-anchor="middle" x="664.5" y="-9758.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::EinsumAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node172&#45;&gt;Node173 -->
 <g id="edge22" class="edge">
 <title>Node172&#45;&gt;Node173</title>
-<path fill="none" stroke="midnightblue" d="M509.36,-9702C538.49,-9702 570.75,-9702 598.2,-9702"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9698.5 499.2,-9702 509.2,-9705.5 509.2,-9698.5"/>
+<path fill="none" stroke="midnightblue" d="M509.36,-9761C538.49,-9761 570.75,-9761 598.2,-9761"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9757.5 499.2,-9761 509.2,-9764.5 509.2,-9757.5"/>
 </g>
 <!-- Node175 -->
 <g id="node25" class="node">
 <title>Node175</title>
 <g id="a_node25"><a xlink:href="structtvm_1_1relax_1_1DistributionAttrs.html" target="_top" xlink:title="Attributes for redistribute and annotate_sharding operator.">
-<polygon fill="white" stroke="black" points="599.5,-9638 599.5,-9668 729.5,-9668 729.5,-9638 599.5,-9638"/>
-<text text-anchor="start" x="607.5" y="-9656" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Distribution</text>
-<text text-anchor="middle" x="664.5" y="-9645" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="599.5,-9697 599.5,-9727 729.5,-9727 729.5,-9697 599.5,-9697"/>
+<text text-anchor="start" x="607.5" y="-9715" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Distribution</text>
+<text text-anchor="middle" x="664.5" y="-9704" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node174&#45;&gt;Node175 -->
 <g id="edge24" class="edge">
 <title>Node174&#45;&gt;Node175</title>
-<path fill="none" stroke="midnightblue" d="M509.49,-9653C539.01,-9653 571.73,-9653 599.39,-9653"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9649.5 499.2,-9653 509.2,-9656.5 509.2,-9649.5"/>
+<path fill="none" stroke="midnightblue" d="M509.49,-9712C539.01,-9712 571.73,-9712 599.39,-9712"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9708.5 499.2,-9712 509.2,-9715.5 509.2,-9708.5"/>
 </g>
 <!-- Node177 -->
 <g id="node27" class="node">
 <title>Node177</title>
 <g id="a_node27"><a xlink:href="structtvm_1_1relax_1_1CallInplacePackedAttrs.html" target="_top" xlink:title="Attributes used in call_inplace_packed.">
-<polygon fill="white" stroke="black" points="584,-9589 584,-9619 745,-9619 745,-9589 584,-9589"/>
-<text text-anchor="start" x="592" y="-9607" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallInplacePacked</text>
-<text text-anchor="middle" x="664.5" y="-9596" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="584,-9648 584,-9678 745,-9678 745,-9648 584,-9648"/>
+<text text-anchor="start" x="592" y="-9666" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallInplacePacked</text>
+<text text-anchor="middle" x="664.5" y="-9655" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node176&#45;&gt;Node177 -->
 <g id="edge26" class="edge">
 <title>Node176&#45;&gt;Node177</title>
-<path fill="none" stroke="midnightblue" d="M510.27,-9604C534.17,-9604 560.1,-9604 583.72,-9604"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="510.17,-9600.5 500.17,-9604 510.17,-9607.5 510.17,-9600.5"/>
+<path fill="none" stroke="midnightblue" d="M510.27,-9663C534.17,-9663 560.1,-9663 583.72,-9663"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="510.17,-9659.5 500.17,-9663 510.17,-9666.5 510.17,-9659.5"/>
 </g>
 <!-- Node179 -->
 <g id="node29" class="node">
 <title>Node179</title>
 <g id="a_node29"><a xlink:href="structtvm_1_1relax_1_1AttentionAttrs.html" target="_top" xlink:title="Attributes used in Attention operator.">
-<polygon fill="white" stroke="black" points="594,-9545.5 594,-9564.5 735,-9564.5 735,-9545.5 594,-9545.5"/>
-<text text-anchor="middle" x="664.5" y="-9552.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AttentionAttrs</text>
+<polygon fill="white" stroke="black" points="594,-9604.5 594,-9623.5 735,-9623.5 735,-9604.5 594,-9604.5"/>
+<text text-anchor="middle" x="664.5" y="-9611.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AttentionAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node178&#45;&gt;Node179 -->
 <g id="edge28" class="edge">
 <title>Node178&#45;&gt;Node179</title>
-<path fill="none" stroke="midnightblue" d="M509.23,-9555C536.85,-9555 567.3,-9555 593.8,-9555"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9551.5 499.2,-9555 509.2,-9558.5 509.2,-9551.5"/>
+<path fill="none" stroke="midnightblue" d="M509.23,-9614C536.85,-9614 567.3,-9614 593.8,-9614"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9610.5 499.2,-9614 509.2,-9617.5 509.2,-9610.5"/>
 </g>
 <!-- Node181 -->
 <g id="node31" class="node">
 <title>Node181</title>
 <g id="a_node31"><a xlink:href="structtvm_1_1relax_1_1AllReduceAttrs.html" target="_top" xlink:title="Attributes used in allreduce operators.">
-<polygon fill="white" stroke="black" points="592,-9496.5 592,-9515.5 737,-9515.5 737,-9496.5 592,-9496.5"/>
-<text text-anchor="middle" x="664.5" y="-9503.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllReduceAttrs</text>
+<polygon fill="white" stroke="black" points="592,-9555.5 592,-9574.5 737,-9574.5 737,-9555.5 592,-9555.5"/>
+<text text-anchor="middle" x="664.5" y="-9562.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllReduceAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node180&#45;&gt;Node181 -->
 <g id="edge30" class="edge">
 <title>Node180&#45;&gt;Node181</title>
-<path fill="none" stroke="midnightblue" d="M509.36,-9506C536.24,-9506 565.8,-9506 591.77,-9506"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9502.5 499.2,-9506 509.2,-9509.5 509.2,-9502.5"/>
+<path fill="none" stroke="midnightblue" d="M509.36,-9565C536.24,-9565 565.8,-9565 591.77,-9565"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9561.5 499.2,-9565 509.2,-9568.5 509.2,-9561.5"/>
 </g>
 <!-- Node183 -->
 <g id="node33" class="node">
 <title>Node183</title>
 <g id="a_node33"><a xlink:href="structtvm_1_1relax_1_1AdaptivePool2DAttrs.html" target="_top" xlink:title="Attributes for 2d adaptive pool operator.">
-<polygon fill="white" stroke="black" points="593,-9442 593,-9472 736,-9472 736,-9442 593,-9442"/>
-<text text-anchor="start" x="601" y="-9460" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool2</text>
-<text text-anchor="middle" x="664.5" y="-9449" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
+<polygon fill="white" stroke="black" points="593,-9501 593,-9531 736,-9531 736,-9501 593,-9501"/>
+<text text-anchor="start" x="601" y="-9519" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool2</text>
+<text text-anchor="middle" x="664.5" y="-9508" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node182&#45;&gt;Node183 -->
 <g id="edge32" class="edge">
 <title>Node182&#45;&gt;Node183</title>
-<path fill="none" stroke="midnightblue" d="M509.5,-9457C536.77,-9457 566.77,-9457 592.99,-9457"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9453.5 499.2,-9457 509.2,-9460.5 509.2,-9453.5"/>
+<path fill="none" stroke="midnightblue" d="M509.5,-9516C536.77,-9516 566.77,-9516 592.99,-9516"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9512.5 499.2,-9516 509.2,-9519.5 509.2,-9512.5"/>
 </g>
 <!-- Node185 -->
 <g id="node35" class="node">
 <title>Node185</title>
 <g id="a_node35"><a xlink:href="structtvm_1_1relax_1_1ScatterNDAttrs.html" target="_top" xlink:title="Attributes used in scatter_nd operators.">
-<polygon fill="white" stroke="black" points="591.5,-9398.5 591.5,-9417.5 737.5,-9417.5 737.5,-9398.5 591.5,-9398.5"/>
-<text text-anchor="middle" x="664.5" y="-9405.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScatterNDAttrs</text>
+<polygon fill="white" stroke="black" points="591.5,-9457.5 591.5,-9476.5 737.5,-9476.5 737.5,-9457.5 591.5,-9457.5"/>
+<text text-anchor="middle" x="664.5" y="-9464.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScatterNDAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node184&#45;&gt;Node185 -->
 <g id="edge34" class="edge">
 <title>Node184&#45;&gt;Node185</title>
-<path fill="none" stroke="midnightblue" d="M509.31,-9408C536.07,-9408 565.47,-9408 591.36,-9408"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9404.5 499.2,-9408 509.2,-9411.5 509.2,-9404.5"/>
+<path fill="none" stroke="midnightblue" d="M509.31,-9467C536.07,-9467 565.47,-9467 591.36,-9467"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9463.5 499.2,-9467 509.2,-9470.5 509.2,-9463.5"/>
 </g>
 <!-- Node187 -->
 <g id="node37" class="node">
 <title>Node187</title>
 <g id="a_node37"><a xlink:href="structtvm_1_1relax_1_1InitAttrs.html" target="_top" xlink:title="Attributes used in full/full_like, ones/ones_like, and zeros/zeros_like operators.">
-<polygon fill="white" stroke="black" points="608.5,-9349.5 608.5,-9368.5 720.5,-9368.5 720.5,-9349.5 608.5,-9349.5"/>
-<text text-anchor="middle" x="664.5" y="-9356.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::InitAttrs</text>
+<polygon fill="white" stroke="black" points="608.5,-9408.5 608.5,-9427.5 720.5,-9427.5 720.5,-9408.5 608.5,-9408.5"/>
+<text text-anchor="middle" x="664.5" y="-9415.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::InitAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node186&#45;&gt;Node187 -->
 <g id="edge36" class="edge">
 <title>Node186&#45;&gt;Node187</title>
-<path fill="none" stroke="midnightblue" d="M509.24,-9359C542.05,-9359 578.85,-9359 608.27,-9359"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9355.5 499.2,-9359 509.2,-9362.5 509.2,-9355.5"/>
+<path fill="none" stroke="midnightblue" d="M509.24,-9418C542.05,-9418 578.85,-9418 608.27,-9418"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9414.5 499.2,-9418 509.2,-9421.5 509.2,-9414.5"/>
 </g>
 <!-- Node189 -->
 <g id="node39" class="node">
 <title>Node189</title>
 <g id="a_node39"><a xlink:href="structtvm_1_1relax_1_1FlipAttrs.html" target="_top" xlink:title="Attributes used in flip operators.">
-<polygon fill="white" stroke="black" points="607.5,-9300.5 607.5,-9319.5 721.5,-9319.5 721.5,-9300.5 607.5,-9300.5"/>
-<text text-anchor="middle" x="664.5" y="-9307.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::FlipAttrs</text>
+<polygon fill="white" stroke="black" points="607.5,-9359.5 607.5,-9378.5 721.5,-9378.5 721.5,-9359.5 607.5,-9359.5"/>
+<text text-anchor="middle" x="664.5" y="-9366.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::FlipAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node188&#45;&gt;Node189 -->
 <g id="edge38" class="edge">
 <title>Node188&#45;&gt;Node189</title>
-<path fill="none" stroke="midnightblue" d="M509.54,-9310C541.86,-9310 578,-9310 607.14,-9310"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9306.5 499.2,-9310 509.2,-9313.5 509.2,-9306.5"/>
+<path fill="none" stroke="midnightblue" d="M509.54,-9369C541.86,-9369 578,-9369 607.14,-9369"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9365.5 499.2,-9369 509.2,-9372.5 509.2,-9365.5"/>
 </g>
 <!-- Node191 -->
 <g id="node41" class="node">
 <title>Node191</title>
 <g id="a_node41"><a xlink:href="structtvm_1_1relax_1_1AllGatherAttrs.html" target="_top" xlink:title="Attributes used in allgather operators.">
-<polygon fill="white" stroke="black" points="593.5,-9251.5 593.5,-9270.5 735.5,-9270.5 735.5,-9251.5 593.5,-9251.5"/>
-<text text-anchor="middle" x="664.5" y="-9258.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllGatherAttrs</text>
+<polygon fill="white" stroke="black" points="593.5,-9310.5 593.5,-9329.5 735.5,-9329.5 735.5,-9310.5 593.5,-9310.5"/>
+<text text-anchor="middle" x="664.5" y="-9317.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllGatherAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node190&#45;&gt;Node191 -->
 <g id="edge40" class="edge">
 <title>Node190&#45;&gt;Node191</title>
-<path fill="none" stroke="midnightblue" d="M509.55,-9261C536.95,-9261 567.09,-9261 593.39,-9261"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9257.5 499.2,-9261 509.2,-9264.5 509.2,-9257.5"/>
+<path fill="none" stroke="midnightblue" d="M509.55,-9320C536.95,-9320 567.09,-9320 593.39,-9320"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9316.5 499.2,-9320 509.2,-9323.5 509.2,-9316.5"/>
 </g>
 <!-- Node193 -->
 <g id="node43" class="node">
 <title>Node193</title>
 <g id="a_node43"><a xlink:href="structtvm_1_1relax_1_1AdaptivePool3DAttrs.html" target="_top" xlink:title="Attributes for 3d adaptive pool operator.">
-<polygon fill="white" stroke="black" points="593,-9197 593,-9227 736,-9227 736,-9197 593,-9197"/>
-<text text-anchor="start" x="601" y="-9215" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool3</text>
-<text text-anchor="middle" x="664.5" y="-9204" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
+<polygon fill="white" stroke="black" points="593,-9256 593,-9286 736,-9286 736,-9256 593,-9256"/>
+<text text-anchor="start" x="601" y="-9274" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool3</text>
+<text text-anchor="middle" x="664.5" y="-9263" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node192&#45;&gt;Node193 -->
 <g id="edge42" class="edge">
 <title>Node192&#45;&gt;Node193</title>
-<path fill="none" stroke="midnightblue" d="M509.5,-9212C536.77,-9212 566.77,-9212 592.99,-9212"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9208.5 499.2,-9212 509.2,-9215.5 509.2,-9208.5"/>
+<path fill="none" stroke="midnightblue" d="M509.5,-9271C536.77,-9271 566.77,-9271 592.99,-9271"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9267.5 499.2,-9271 509.2,-9274.5 509.2,-9267.5"/>
 </g>
 <!-- Node195 -->
 <g id="node45" class="node">
 <title>Node195</title>
 <g id="a_node45"><a xlink:href="structtvm_1_1relax_1_1ToVDeviceAttrs.html" target="_top" xlink:title="Attributes used in to_vdevice.">
-<polygon fill="white" stroke="black" points="591,-9153.5 591,-9172.5 738,-9172.5 738,-9153.5 591,-9153.5"/>
-<text text-anchor="middle" x="664.5" y="-9160.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ToVDeviceAttrs</text>
+<polygon fill="white" stroke="black" points="591,-9212.5 591,-9231.5 738,-9231.5 738,-9212.5 591,-9212.5"/>
+<text text-anchor="middle" x="664.5" y="-9219.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ToVDeviceAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node194&#45;&gt;Node195 -->
 <g id="edge44" class="edge">
 <title>Node194&#45;&gt;Node195</title>
-<path fill="none" stroke="midnightblue" d="M509.26,-9163C535.89,-9163 565.15,-9163 590.95,-9163"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9159.5 499.2,-9163 509.2,-9166.5 509.2,-9159.5"/>
+<path fill="none" stroke="midnightblue" d="M509.26,-9222C535.89,-9222 565.15,-9222 590.95,-9222"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9218.5 499.2,-9222 509.2,-9225.5 509.2,-9218.5"/>
 </g>
 <!-- Node197 -->
 <g id="node47" class="node">
 <title>Node197</title>
 <g id="a_node47"><a xlink:href="structtvm_1_1relax_1_1NonMaximumSuppressionAttrs.html" target="_top" xlink:title="Attributes used in NonMaximumSuppression operator.">
-<polygon fill="white" stroke="black" points="564,-9099 564,-9129 765,-9129 765,-9099 564,-9099"/>
-<text text-anchor="start" x="572" y="-9117" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::NonMaximumSuppression</text>
-<text text-anchor="middle" x="664.5" y="-9106" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="564,-9158 564,-9188 765,-9188 765,-9158 564,-9158"/>
+<text text-anchor="start" x="572" y="-9176" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::NonMaximumSuppression</text>
+<text text-anchor="middle" x="664.5" y="-9165" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node196&#45;&gt;Node197 -->
 <g id="edge46" class="edge">
 <title>Node196&#45;&gt;Node197</title>
-<path fill="none" stroke="midnightblue" d="M530.62,-9114C541.65,-9114 552.85,-9114 563.82,-9114"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="530.55,-9110.5 520.55,-9114 530.55,-9117.5 530.55,-9110.5"/>
+<path fill="none" stroke="midnightblue" d="M530.62,-9173C541.65,-9173 552.85,-9173 563.82,-9173"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="530.55,-9169.5 520.55,-9173 530.55,-9176.5 530.55,-9169.5"/>
 </g>
 <!-- Node199 -->
 <g id="node49" class="node">
 <title>Node199</title>
 <g id="a_node49"><a xlink:href="structtvm_1_1relax_1_1IndexPutAttrs.html" target="_top" xlink:title="Attributes used in index_put operator.">
-<polygon fill="white" stroke="black" points="595,-9055.5 595,-9074.5 734,-9074.5 734,-9055.5 595,-9055.5"/>
-<text text-anchor="middle" x="664.5" y="-9062.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::IndexPutAttrs</text>
+<polygon fill="white" stroke="black" points="595,-9114.5 595,-9133.5 734,-9133.5 734,-9114.5 595,-9114.5"/>
+<text text-anchor="middle" x="664.5" y="-9121.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::IndexPutAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node198&#45;&gt;Node199 -->
 <g id="edge48" class="edge">
 <title>Node198&#45;&gt;Node199</title>
-<path fill="none" stroke="midnightblue" d="M509.32,-9065C537.2,-9065 567.95,-9065 594.6,-9065"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9061.5 499.2,-9065 509.2,-9068.5 509.2,-9061.5"/>
+<path fill="none" stroke="midnightblue" d="M509.32,-9124C537.2,-9124 567.95,-9124 594.6,-9124"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9120.5 499.2,-9124 509.2,-9127.5 509.2,-9120.5"/>
 </g>
 <!-- Node201 -->
 <g id="node51" class="node">
 <title>Node201</title>
 <g id="a_node51"><a xlink:href="structtvm_1_1relax_1_1ExpandDimsAttrs.html" target="_top" xlink:title="Attributes used in expand_dims operators.">
-<polygon fill="white" stroke="black" points="585.5,-9006.5 585.5,-9025.5 743.5,-9025.5 743.5,-9006.5 585.5,-9006.5"/>
-<text text-anchor="middle" x="664.5" y="-9013.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExpandDimsAttrs</text>
+<polygon fill="white" stroke="black" points="585.5,-9065.5 585.5,-9084.5 743.5,-9084.5 743.5,-9065.5 585.5,-9065.5"/>
+<text text-anchor="middle" x="664.5" y="-9072.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExpandDimsAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node200&#45;&gt;Node201 -->
 <g id="edge50" class="edge">
 <title>Node200&#45;&gt;Node201</title>
-<path fill="none" stroke="midnightblue" d="M509.25,-9016C533.92,-9016 560.84,-9016 585.19,-9016"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9012.5 499.2,-9016 509.2,-9019.5 509.2,-9012.5"/>
+<path fill="none" stroke="midnightblue" d="M509.25,-9075C533.92,-9075 560.84,-9075 585.19,-9075"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9071.5 499.2,-9075 509.2,-9078.5 509.2,-9071.5"/>
 </g>
 <!-- Node203 -->
 <g id="node53" class="node">
 <title>Node203</title>
 <g id="a_node53"><a xlink:href="structtvm_1_1relax_1_1ConcatAttrs.html" target="_top" xlink:title="Attributes used in concat operators.">
-<polygon fill="white" stroke="black" points="599.5,-8957.5 599.5,-8976.5 729.5,-8976.5 729.5,-8957.5 599.5,-8957.5"/>
-<text text-anchor="middle" x="664.5" y="-8964.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ConcatAttrs</text>
+<polygon fill="white" stroke="black" points="599.5,-9016.5 599.5,-9035.5 729.5,-9035.5 729.5,-9016.5 599.5,-9016.5"/>
+<text text-anchor="middle" x="664.5" y="-9023.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ConcatAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node202&#45;&gt;Node203 -->
 <g id="edge52" class="edge">
 <title>Node202&#45;&gt;Node203</title>
-<path fill="none" stroke="midnightblue" d="M509.49,-8967C539.01,-8967 571.73,-8967 599.39,-8967"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8963.5 499.2,-8967 509.2,-8970.5 509.2,-8963.5"/>
+<path fill="none" stroke="midnightblue" d="M509.49,-9026C539.01,-9026 571.73,-9026 599.39,-9026"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-9022.5 499.2,-9026 509.2,-9029.5 509.2,-9022.5"/>
 </g>
 <!-- Node205 -->
 <g id="node55" class="node">
 <title>Node205</title>
 <g id="a_node55"><a xlink:href="structtvm_1_1relax_1_1TriluAttrs.html" target="_top" xlink:title="Attributes used in tril and triu operator.">
-<polygon fill="white" stroke="black" points="606.5,-8908.5 606.5,-8927.5 722.5,-8927.5 722.5,-8908.5 606.5,-8908.5"/>
-<text text-anchor="middle" x="664.5" y="-8915.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TriluAttrs</text>
+<polygon fill="white" stroke="black" points="606.5,-8967.5 606.5,-8986.5 722.5,-8986.5 722.5,-8967.5 606.5,-8967.5"/>
+<text text-anchor="middle" x="664.5" y="-8974.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TriluAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node204&#45;&gt;Node205 -->
 <g id="edge54" class="edge">
 <title>Node204&#45;&gt;Node205</title>
-<path fill="none" stroke="midnightblue" d="M509.46,-8918C541.51,-8918 577.34,-8918 606.38,-8918"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8914.5 499.2,-8918 509.2,-8921.5 509.2,-8914.5"/>
+<path fill="none" stroke="midnightblue" d="M509.46,-8977C541.51,-8977 577.34,-8977 606.38,-8977"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8973.5 499.2,-8977 509.2,-8980.5 509.2,-8973.5"/>
 </g>
 <!-- Node207 -->
 <g id="node57" class="node">
 <title>Node207</title>
 <g id="a_node57"><a xlink:href="structtvm_1_1relax_1_1SoftmaxAttrs.html" target="_top" xlink:title="Attributes used in softmax operators.">
-<polygon fill="white" stroke="black" points="596,-8859.5 596,-8878.5 733,-8878.5 733,-8859.5 596,-8859.5"/>
-<text text-anchor="middle" x="664.5" y="-8866.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SoftmaxAttrs</text>
+<polygon fill="white" stroke="black" points="596,-8918.5 596,-8937.5 733,-8937.5 733,-8918.5 596,-8918.5"/>
+<text text-anchor="middle" x="664.5" y="-8925.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SoftmaxAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node206&#45;&gt;Node207 -->
 <g id="edge56" class="edge">
 <title>Node206&#45;&gt;Node207</title>
-<path fill="none" stroke="midnightblue" d="M509.46,-8869C537.73,-8869 568.92,-8869 595.81,-8869"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8865.5 499.2,-8869 509.2,-8872.5 509.2,-8865.5"/>
+<path fill="none" stroke="midnightblue" d="M509.46,-8928C537.73,-8928 568.92,-8928 595.81,-8928"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8924.5 499.2,-8928 509.2,-8931.5 509.2,-8924.5"/>
 </g>
 <!-- Node209 -->
 <g id="node59" class="node">
 <title>Node209</title>
 <g id="a_node59"><a xlink:href="structtvm_1_1relax_1_1ROIAlignAttrs.html" target="_top" xlink:title="Attributes used in ROIAlign operator.">
-<polygon fill="white" stroke="black" points="595.5,-8810.5 595.5,-8829.5 733.5,-8829.5 733.5,-8810.5 595.5,-8810.5"/>
-<text text-anchor="middle" x="664.5" y="-8817.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ROIAlignAttrs</text>
+<polygon fill="white" stroke="black" points="595.5,-8869.5 595.5,-8888.5 733.5,-8888.5 733.5,-8869.5 595.5,-8869.5"/>
+<text text-anchor="middle" x="664.5" y="-8876.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ROIAlignAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node208&#45;&gt;Node209 -->
 <g id="edge58" class="edge">
 <title>Node208&#45;&gt;Node209</title>
-<path fill="none" stroke="midnightblue" d="M509.42,-8820C537.55,-8820 568.6,-8820 595.41,-8820"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8816.5 499.2,-8820 509.2,-8823.5 509.2,-8816.5"/>
+<path fill="none" stroke="midnightblue" d="M509.42,-8879C537.55,-8879 568.6,-8879 595.41,-8879"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8875.5 499.2,-8879 509.2,-8882.5 509.2,-8875.5"/>
 </g>
 <!-- Node211 -->
 <g id="node61" class="node">
 <title>Node211</title>
 <g id="a_node61"><a xlink:href="structtvm_1_1relax_1_1AdaptivePool1DAttrs.html" target="_top" xlink:title="Attributes for 1d adaptive pool operator.">
-<polygon fill="white" stroke="black" points="593,-8756 593,-8786 736,-8786 736,-8756 593,-8756"/>
-<text text-anchor="start" x="601" y="-8774" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool1</text>
-<text text-anchor="middle" x="664.5" y="-8763" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
+<polygon fill="white" stroke="black" points="593,-8815 593,-8845 736,-8845 736,-8815 593,-8815"/>
+<text text-anchor="start" x="601" y="-8833" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool1</text>
+<text text-anchor="middle" x="664.5" y="-8822" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node210&#45;&gt;Node211 -->
 <g id="edge60" class="edge">
 <title>Node210&#45;&gt;Node211</title>
-<path fill="none" stroke="midnightblue" d="M509.5,-8771C536.77,-8771 566.77,-8771 592.99,-8771"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8767.5 499.2,-8771 509.2,-8774.5 509.2,-8767.5"/>
+<path fill="none" stroke="midnightblue" d="M509.5,-8830C536.77,-8830 566.77,-8830 592.99,-8830"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8826.5 499.2,-8830 509.2,-8833.5 509.2,-8826.5"/>
 </g>
 <!-- Node213 -->
 <g id="node63" class="node">
 <title>Node213</title>
 <g id="a_node63"><a xlink:href="structtvm_1_1relax_1_1SoftplusAttrs.html" target="_top" xlink:title="Attributes used in softplus operators.">
-<polygon fill="white" stroke="black" points="597,-8712.5 597,-8731.5 732,-8731.5 732,-8712.5 597,-8712.5"/>
-<text text-anchor="middle" x="664.5" y="-8719.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SoftplusAttrs</text>
+<polygon fill="white" stroke="black" points="597,-8771.5 597,-8790.5 732,-8790.5 732,-8771.5 597,-8771.5"/>
+<text text-anchor="middle" x="664.5" y="-8778.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SoftplusAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node212&#45;&gt;Node213 -->
 <g id="edge62" class="edge">
 <title>Node212&#45;&gt;Node213</title>
-<path fill="none" stroke="midnightblue" d="M509.55,-8722C538.07,-8722 569.57,-8722 596.61,-8722"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8718.5 499.2,-8722 509.2,-8725.5 509.2,-8718.5"/>
+<path fill="none" stroke="midnightblue" d="M509.55,-8781C538.07,-8781 569.57,-8781 596.61,-8781"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8777.5 499.2,-8781 509.2,-8784.5 509.2,-8777.5"/>
 </g>
 <!-- Node215 -->
 <g id="node65" class="node">
 <title>Node215</title>
 <g id="a_node65"><a xlink:href="structtvm_1_1relax_1_1Resize3DAttrs.html" target="_top" xlink:title="Attributes used in image resize3d operator.">
-<polygon fill="white" stroke="black" points="593.5,-8663.5 593.5,-8682.5 735.5,-8682.5 735.5,-8663.5 593.5,-8663.5"/>
-<text text-anchor="middle" x="664.5" y="-8670.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Resize3DAttrs</text>
+<polygon fill="white" stroke="black" points="593.5,-8722.5 593.5,-8741.5 735.5,-8741.5 735.5,-8722.5 593.5,-8722.5"/>
+<text text-anchor="middle" x="664.5" y="-8729.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Resize3DAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node214&#45;&gt;Node215 -->
 <g id="edge64" class="edge">
 <title>Node214&#45;&gt;Node215</title>
-<path fill="none" stroke="midnightblue" d="M509.55,-8673C536.95,-8673 567.09,-8673 593.39,-8673"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8669.5 499.2,-8673 509.2,-8676.5 509.2,-8669.5"/>
+<path fill="none" stroke="midnightblue" d="M509.55,-8732C536.95,-8732 567.09,-8732 593.39,-8732"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8728.5 499.2,-8732 509.2,-8735.5 509.2,-8728.5"/>
 </g>
 <!-- Node217 -->
 <g id="node67" class="node">
 <title>Node217</title>
 <g id="a_node67"><a xlink:href="structtvm_1_1relax_1_1MatmulAttrs.html" target="_top" xlink:title="Attributes for matmul operator.">
-<polygon fill="white" stroke="black" points="597.5,-8614.5 597.5,-8633.5 731.5,-8633.5 731.5,-8614.5 597.5,-8614.5"/>
-<text text-anchor="middle" x="664.5" y="-8621.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatmulAttrs</text>
+<polygon fill="white" stroke="black" points="597.5,-8673.5 597.5,-8692.5 731.5,-8692.5 731.5,-8673.5 597.5,-8673.5"/>
+<text text-anchor="middle" x="664.5" y="-8680.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatmulAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node216&#45;&gt;Node217 -->
 <g id="edge66" class="edge">
 <title>Node216&#45;&gt;Node217</title>
-<path fill="none" stroke="midnightblue" d="M509.27,-8624C538.14,-8624 570.1,-8624 597.4,-8624"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8620.5 499.2,-8624 509.2,-8627.5 509.2,-8620.5"/>
+<path fill="none" stroke="midnightblue" d="M509.27,-8683C538.14,-8683 570.1,-8683 597.4,-8683"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8679.5 499.2,-8683 509.2,-8686.5 509.2,-8679.5"/>
 </g>
 <!-- Node219 -->
 <g id="node69" class="node">
 <title>Node219</title>
 <g id="a_node69"><a xlink:href="structtvm_1_1relax_1_1ArgmaxArgminAttrs.html" target="_top" xlink:title="Attributes for search operators.">
-<polygon fill="white" stroke="black" points="591.5,-8560 591.5,-8590 737.5,-8590 737.5,-8560 591.5,-8560"/>
-<text text-anchor="start" x="599.5" y="-8578" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ArgmaxArgmin</text>
-<text text-anchor="middle" x="664.5" y="-8567" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="591.5,-8619 591.5,-8649 737.5,-8649 737.5,-8619 591.5,-8619"/>
+<text text-anchor="start" x="599.5" y="-8637" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ArgmaxArgmin</text>
+<text text-anchor="middle" x="664.5" y="-8626" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node218&#45;&gt;Node219 -->
 <g id="edge68" class="edge">
 <title>Node218&#45;&gt;Node219</title>
-<path fill="none" stroke="midnightblue" d="M509.31,-8575C536.07,-8575 565.47,-8575 591.36,-8575"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8571.5 499.2,-8575 509.2,-8578.5 509.2,-8571.5"/>
+<path fill="none" stroke="midnightblue" d="M509.31,-8634C536.07,-8634 565.47,-8634 591.36,-8634"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8630.5 499.2,-8634 509.2,-8637.5 509.2,-8630.5"/>
 </g>
 <!-- Node221 -->
 <g id="node71" class="node">
 <title>Node221</title>
 <g id="a_node71"><a xlink:href="structtvm_1_1relax_1_1Resize2DAttrs.html" target="_top" xlink:title="Attributes used in image resize2d operator.">
-<polygon fill="white" stroke="black" points="593.5,-8516.5 593.5,-8535.5 735.5,-8535.5 735.5,-8516.5 593.5,-8516.5"/>
-<text text-anchor="middle" x="664.5" y="-8523.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Resize2DAttrs</text>
+<polygon fill="white" stroke="black" points="593.5,-8575.5 593.5,-8594.5 735.5,-8594.5 735.5,-8575.5 593.5,-8575.5"/>
+<text text-anchor="middle" x="664.5" y="-8582.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Resize2DAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node220&#45;&gt;Node221 -->
 <g id="edge70" class="edge">
 <title>Node220&#45;&gt;Node221</title>
-<path fill="none" stroke="midnightblue" d="M509.55,-8526C536.95,-8526 567.09,-8526 593.39,-8526"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8522.5 499.2,-8526 509.2,-8529.5 509.2,-8522.5"/>
+<path fill="none" stroke="midnightblue" d="M509.55,-8585C536.95,-8585 567.09,-8585 593.39,-8585"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8581.5 499.2,-8585 509.2,-8588.5 509.2,-8581.5"/>
 </g>
 <!-- Node223 -->
 <g id="node73" class="node">
 <title>Node223</title>
 <g id="a_node73"><a xlink:href="structtvm_1_1relax_1_1Pool3DAttrs.html" target="_top" xlink:title="Attributes used in max_pool3d and avg_pool3d operator.">
-<polygon fill="white" stroke="black" points="599,-8467.5 599,-8486.5 730,-8486.5 730,-8467.5 599,-8467.5"/>
-<text text-anchor="middle" x="664.5" y="-8474.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool3DAttrs</text>
+<polygon fill="white" stroke="black" points="599,-8526.5 599,-8545.5 730,-8545.5 730,-8526.5 599,-8526.5"/>
+<text text-anchor="middle" x="664.5" y="-8533.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool3DAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node222&#45;&gt;Node223 -->
 <g id="edge72" class="edge">
 <title>Node222&#45;&gt;Node223</title>
-<path fill="none" stroke="midnightblue" d="M509.45,-8477C538.84,-8477 571.4,-8477 598.99,-8477"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8473.5 499.2,-8477 509.2,-8480.5 509.2,-8473.5"/>
+<path fill="none" stroke="midnightblue" d="M509.45,-8536C538.84,-8536 571.4,-8536 598.99,-8536"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8532.5 499.2,-8536 509.2,-8539.5 509.2,-8532.5"/>
 </g>
 <!-- Node225 -->
 <g id="node75" class="node">
 <title>Node225</title>
 <g id="a_node75"><a xlink:href="structtvm_1_1relax_1_1LayerNormAttrs.html" target="_top" xlink:title="Attributes used in layer_norm operator.">
-<polygon fill="white" stroke="black" points="589.5,-8418.5 589.5,-8437.5 739.5,-8437.5 739.5,-8418.5 589.5,-8418.5"/>
-<text text-anchor="middle" x="664.5" y="-8425.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LayerNormAttrs</text>
+<polygon fill="white" stroke="black" points="589.5,-8477.5 589.5,-8496.5 739.5,-8496.5 739.5,-8477.5 589.5,-8477.5"/>
+<text text-anchor="middle" x="664.5" y="-8484.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LayerNormAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node224&#45;&gt;Node225 -->
 <g id="edge74" class="edge">
 <title>Node224&#45;&gt;Node225</title>
-<path fill="none" stroke="midnightblue" d="M509.42,-8428C535.45,-8428 563.97,-8428 589.32,-8428"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8424.5 499.2,-8428 509.2,-8431.5 509.2,-8424.5"/>
+<path fill="none" stroke="midnightblue" d="M509.42,-8487C535.45,-8487 563.97,-8487 589.32,-8487"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8483.5 499.2,-8487 509.2,-8490.5 509.2,-8483.5"/>
 </g>
 <!-- Node227 -->
 <g id="node77" class="node">
 <title>Node227</title>
 <g id="a_node77"><a xlink:href="structtvm_1_1relax_1_1SqueezeAttrs.html" target="_top" xlink:title="Attributes used in squeeze operators.">
-<polygon fill="white" stroke="black" points="596,-8369.5 596,-8388.5 733,-8388.5 733,-8369.5 596,-8369.5"/>
-<text text-anchor="middle" x="664.5" y="-8376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SqueezeAttrs</text>
+<polygon fill="white" stroke="black" points="596,-8428.5 596,-8447.5 733,-8447.5 733,-8428.5 596,-8428.5"/>
+<text text-anchor="middle" x="664.5" y="-8435.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SqueezeAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node226&#45;&gt;Node227 -->
 <g id="edge76" class="edge">
 <title>Node226&#45;&gt;Node227</title>
-<path fill="none" stroke="midnightblue" d="M509.46,-8379C537.73,-8379 568.92,-8379 595.81,-8379"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8375.5 499.2,-8379 509.2,-8382.5 509.2,-8375.5"/>
+<path fill="none" stroke="midnightblue" d="M509.46,-8438C537.73,-8438 568.92,-8438 595.81,-8438"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8434.5 499.2,-8438 509.2,-8441.5 509.2,-8434.5"/>
 </g>
 <!-- Node229 -->
 <g id="node79" class="node">
 <title>Node229</title>
 <g id="a_node79"><a xlink:href="structtvm_1_1relax_1_1Pool2DAttrs.html" target="_top" xlink:title="Attributes used in max_pool2d and avg_pool2d operator.">
-<polygon fill="white" stroke="black" points="599,-8320.5 599,-8339.5 730,-8339.5 730,-8320.5 599,-8320.5"/>
-<text text-anchor="middle" x="664.5" y="-8327.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool2DAttrs</text>
+<polygon fill="white" stroke="black" points="599,-8379.5 599,-8398.5 730,-8398.5 730,-8379.5 599,-8379.5"/>
+<text text-anchor="middle" x="664.5" y="-8386.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool2DAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node228&#45;&gt;Node229 -->
 <g id="edge78" class="edge">
 <title>Node228&#45;&gt;Node229</title>
-<path fill="none" stroke="midnightblue" d="M509.45,-8330C538.84,-8330 571.4,-8330 598.99,-8330"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8326.5 499.2,-8330 509.2,-8333.5 509.2,-8326.5"/>
+<path fill="none" stroke="midnightblue" d="M509.45,-8389C538.84,-8389 571.4,-8389 598.99,-8389"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8385.5 499.2,-8389 509.2,-8392.5 509.2,-8385.5"/>
 </g>
 <!-- Node231 -->
 <g id="node81" class="node">
 <title>Node231</title>
 <g id="a_node81"><a xlink:href="structtvm_1_1relax_1_1OneHotAttrs.html" target="_top" xlink:title="Attributes used in one_hot operator.">
-<polygon fill="white" stroke="black" points="598,-8271.5 598,-8290.5 731,-8290.5 731,-8271.5 598,-8271.5"/>
-<text text-anchor="middle" x="664.5" y="-8278.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::OneHotAttrs</text>
+<polygon fill="white" stroke="black" points="598,-8330.5 598,-8349.5 731,-8349.5 731,-8330.5 598,-8330.5"/>
+<text text-anchor="middle" x="664.5" y="-8337.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::OneHotAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node230&#45;&gt;Node231 -->
 <g id="edge80" class="edge">
 <title>Node230&#45;&gt;Node231</title>
-<path fill="none" stroke="midnightblue" d="M509.31,-8281C538.32,-8281 570.43,-8281 597.8,-8281"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8277.5 499.2,-8281 509.2,-8284.5 509.2,-8277.5"/>
+<path fill="none" stroke="midnightblue" d="M509.31,-8340C538.32,-8340 570.43,-8340 597.8,-8340"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8336.5 499.2,-8340 509.2,-8343.5 509.2,-8336.5"/>
 </g>
 <!-- Node233 -->
 <g id="node83" class="node">
 <title>Node233</title>
 <g id="a_node83"><a xlink:href="structtvm_1_1relax_1_1NLLLossAttrs.html" target="_top" xlink:title="Attributes used in nll_loss operator.">
-<polygon fill="white" stroke="black" points="596.5,-8222.5 596.5,-8241.5 732.5,-8241.5 732.5,-8222.5 596.5,-8222.5"/>
-<text text-anchor="middle" x="664.5" y="-8229.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::NLLLossAttrs</text>
+<polygon fill="white" stroke="black" points="596.5,-8281.5 596.5,-8300.5 732.5,-8300.5 732.5,-8281.5 596.5,-8281.5"/>
+<text text-anchor="middle" x="664.5" y="-8288.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::NLLLossAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node232&#45;&gt;Node233 -->
 <g id="edge82" class="edge">
 <title>Node232&#45;&gt;Node233</title>
-<path fill="none" stroke="midnightblue" d="M509.51,-8232C537.9,-8232 569.25,-8232 596.21,-8232"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8228.5 499.2,-8232 509.2,-8235.5 509.2,-8228.5"/>
+<path fill="none" stroke="midnightblue" d="M509.51,-8291C537.9,-8291 569.25,-8291 596.21,-8291"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8287.5 499.2,-8291 509.2,-8294.5 509.2,-8287.5"/>
 </g>
 <!-- Node235 -->
 <g id="node85" class="node">
 <title>Node235</title>
 <g id="a_node85"><a xlink:href="structtvm_1_1relax_1_1BatchNormAttrs.html" target="_top" xlink:title="Attributes used in batch_norm operator.">
-<polygon fill="white" stroke="black" points="589,-8173.5 589,-8192.5 740,-8192.5 740,-8173.5 589,-8173.5"/>
-<text text-anchor="middle" x="664.5" y="-8180.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BatchNormAttrs</text>
+<polygon fill="white" stroke="black" points="589,-8232.5 589,-8251.5 740,-8251.5 740,-8232.5 589,-8232.5"/>
+<text text-anchor="middle" x="664.5" y="-8239.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BatchNormAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node234&#45;&gt;Node235 -->
 <g id="edge84" class="edge">
 <title>Node234&#45;&gt;Node235</title>
-<path fill="none" stroke="midnightblue" d="M509.37,-8183C535.27,-8183 563.64,-8183 588.91,-8183"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8179.5 499.2,-8183 509.2,-8186.5 509.2,-8179.5"/>
+<path fill="none" stroke="midnightblue" d="M509.37,-8242C535.27,-8242 563.64,-8242 588.91,-8242"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8238.5 499.2,-8242 509.2,-8245.5 509.2,-8238.5"/>
 </g>
 <!-- Node237 -->
 <g id="node87" class="node">
 <title>Node237</title>
 <g id="a_node87"><a xlink:href="structtvm_1_1relax_1_1RepeatAttrs.html" target="_top" xlink:title="Attributes used in repeat operators.">
-<polygon fill="white" stroke="black" points="599,-8124.5 599,-8143.5 730,-8143.5 730,-8124.5 599,-8124.5"/>
-<text text-anchor="middle" x="664.5" y="-8131.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::RepeatAttrs</text>
+<polygon fill="white" stroke="black" points="599,-8183.5 599,-8202.5 730,-8202.5 730,-8183.5 599,-8183.5"/>
+<text text-anchor="middle" x="664.5" y="-8190.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::RepeatAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node236&#45;&gt;Node237 -->
 <g id="edge86" class="edge">
 <title>Node236&#45;&gt;Node237</title>
-<path fill="none" stroke="midnightblue" d="M509.45,-8134C538.84,-8134 571.4,-8134 598.99,-8134"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8130.5 499.2,-8134 509.2,-8137.5 509.2,-8130.5"/>
+<path fill="none" stroke="midnightblue" d="M509.45,-8193C538.84,-8193 571.4,-8193 598.99,-8193"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8189.5 499.2,-8193 509.2,-8196.5 509.2,-8189.5"/>
 </g>
 <!-- Node239 -->
 <g id="node89" class="node">
 <title>Node239</title>
 <g id="a_node89"><a xlink:href="structtvm_1_1relax_1_1Pool1DAttrs.html" target="_top" xlink:title="Attributes used in max_pool1d and avg_pool1d operator.">
-<polygon fill="white" stroke="black" points="599,-8075.5 599,-8094.5 730,-8094.5 730,-8075.5 599,-8075.5"/>
-<text text-anchor="middle" x="664.5" y="-8082.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool1DAttrs</text>
+<polygon fill="white" stroke="black" points="599,-8134.5 599,-8153.5 730,-8153.5 730,-8134.5 599,-8134.5"/>
+<text text-anchor="middle" x="664.5" y="-8141.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool1DAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node238&#45;&gt;Node239 -->
 <g id="edge88" class="edge">
 <title>Node238&#45;&gt;Node239</title>
-<path fill="none" stroke="midnightblue" d="M509.45,-8085C538.84,-8085 571.4,-8085 598.99,-8085"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8081.5 499.2,-8085 509.2,-8088.5 509.2,-8081.5"/>
+<path fill="none" stroke="midnightblue" d="M509.45,-8144C538.84,-8144 571.4,-8144 598.99,-8144"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8140.5 499.2,-8144 509.2,-8147.5 509.2,-8140.5"/>
 </g>
 <!-- Node241 -->
 <g id="node91" class="node">
 <title>Node241</title>
 <g id="a_node91"><a xlink:href="structtvm_1_1relax_1_1StackAttrs.html" target="_top" xlink:title="Attributes used in stack operators.">
-<polygon fill="white" stroke="black" points="603,-8026.5 603,-8045.5 726,-8045.5 726,-8026.5 603,-8026.5"/>
-<text text-anchor="middle" x="664.5" y="-8033.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StackAttrs</text>
+<polygon fill="white" stroke="black" points="603,-8085.5 603,-8104.5 726,-8104.5 726,-8085.5 603,-8085.5"/>
+<text text-anchor="middle" x="664.5" y="-8092.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StackAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node240&#45;&gt;Node241 -->
 <g id="edge90" class="edge">
 <title>Node240&#45;&gt;Node241</title>
-<path fill="none" stroke="midnightblue" d="M509.49,-8036C540.27,-8036 574.53,-8036 602.91,-8036"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8032.5 499.2,-8036 509.2,-8039.5 509.2,-8032.5"/>
+<path fill="none" stroke="midnightblue" d="M509.49,-8095C540.27,-8095 574.53,-8095 602.91,-8095"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8091.5 499.2,-8095 509.2,-8098.5 509.2,-8091.5"/>
 </g>
 <!-- Node243 -->
 <g id="node93" class="node">
 <title>Node243</title>
 <g id="a_node93"><a xlink:href="structtvm_1_1relax_1_1ScanopAttrs.html" target="_top" xlink:title="Attributes used in scan operators like cumsum, cumprod.">
-<polygon fill="white" stroke="black" points="599,-7977.5 599,-7996.5 730,-7996.5 730,-7977.5 599,-7977.5"/>
-<text text-anchor="middle" x="664.5" y="-7984.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScanopAttrs</text>
+<polygon fill="white" stroke="black" points="599,-8036.5 599,-8055.5 730,-8055.5 730,-8036.5 599,-8036.5"/>
+<text text-anchor="middle" x="664.5" y="-8043.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScanopAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node242&#45;&gt;Node243 -->
 <g id="edge92" class="edge">
 <title>Node242&#45;&gt;Node243</title>
-<path fill="none" stroke="midnightblue" d="M509.45,-7987C538.84,-7987 571.4,-7987 598.99,-7987"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7983.5 499.2,-7987 509.2,-7990.5 509.2,-7983.5"/>
+<path fill="none" stroke="midnightblue" d="M509.45,-8046C538.84,-8046 571.4,-8046 598.99,-8046"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-8042.5 499.2,-8046 509.2,-8049.5 509.2,-8042.5"/>
 </g>
 <!-- Node245 -->
 <g id="node95" class="node">
 <title>Node245</title>
 <g id="a_node95"><a xlink:href="structtvm_1_1relax_1_1LeakyReluAttrs.html" target="_top" xlink:title="Attributes used in softmax operators.">
-<polygon fill="white" stroke="black" points="591.5,-7928.5 591.5,-7947.5 737.5,-7947.5 737.5,-7928.5 591.5,-7928.5"/>
-<text text-anchor="middle" x="664.5" y="-7935.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LeakyReluAttrs</text>
+<polygon fill="white" stroke="black" points="591.5,-7987.5 591.5,-8006.5 737.5,-8006.5 737.5,-7987.5 591.5,-7987.5"/>
+<text text-anchor="middle" x="664.5" y="-7994.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LeakyReluAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node244&#45;&gt;Node245 -->
 <g id="edge94" class="edge">
 <title>Node244&#45;&gt;Node245</title>
-<path fill="none" stroke="midnightblue" d="M509.31,-7938C536.07,-7938 565.47,-7938 591.36,-7938"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7934.5 499.2,-7938 509.2,-7941.5 509.2,-7934.5"/>
+<path fill="none" stroke="midnightblue" d="M509.31,-7997C536.07,-7997 565.47,-7997 591.36,-7997"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7993.5 499.2,-7997 509.2,-8000.5 509.2,-7993.5"/>
 </g>
 <!-- Node247 -->
 <g id="node97" class="node">
 <title>Node247</title>
 <g id="a_node97"><a xlink:href="structtvm_1_1relax_1_1CallTIRWithGradAttrs.html" target="_top" xlink:title="Attributes used in call_tir_with_grad.">
-<polygon fill="white" stroke="black" points="588,-7874 588,-7904 741,-7904 741,-7874 588,-7874"/>
-<text text-anchor="start" x="596" y="-7892" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallTIRWithGrad</text>
-<text text-anchor="middle" x="664.5" y="-7881" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="588,-7933 588,-7963 741,-7963 741,-7933 588,-7933"/>
+<text text-anchor="start" x="596" y="-7951" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallTIRWithGrad</text>
+<text text-anchor="middle" x="664.5" y="-7940" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node246&#45;&gt;Node247 -->
 <g id="edge96" class="edge">
 <title>Node246&#45;&gt;Node247</title>
-<path fill="none" stroke="midnightblue" d="M509.22,-7889C534.74,-7889 562.67,-7889 587.67,-7889"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7885.5 499.2,-7889 509.2,-7892.5 509.2,-7885.5"/>
+<path fill="none" stroke="midnightblue" d="M509.22,-7948C534.74,-7948 562.67,-7948 587.67,-7948"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7944.5 499.2,-7948 509.2,-7951.5 509.2,-7944.5"/>
 </g>
 <!-- Node249 -->
 <g id="node99" class="node">
 <title>Node249</title>
 <g id="a_node99"><a xlink:href="structtvm_1_1relax_1_1CallTIRInplaceAttrs.html" target="_top" xlink:title="Attributes used in call_tir_inplace.">
-<polygon fill="white" stroke="black" points="593,-7825 593,-7855 736,-7855 736,-7825 593,-7825"/>
-<text text-anchor="start" x="601" y="-7843" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallTIRInplace</text>
-<text text-anchor="middle" x="664.5" y="-7832" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="593,-7884 593,-7914 736,-7914 736,-7884 593,-7884"/>
+<text text-anchor="start" x="601" y="-7902" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallTIRInplace</text>
+<text text-anchor="middle" x="664.5" y="-7891" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node248&#45;&gt;Node249 -->
 <g id="edge98" class="edge">
 <title>Node248&#45;&gt;Node249</title>
-<path fill="none" stroke="midnightblue" d="M509.5,-7840C536.77,-7840 566.77,-7840 592.99,-7840"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7836.5 499.2,-7840 509.2,-7843.5 509.2,-7836.5"/>
+<path fill="none" stroke="midnightblue" d="M509.5,-7899C536.77,-7899 566.77,-7899 592.99,-7899"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7895.5 499.2,-7899 509.2,-7902.5 509.2,-7895.5"/>
 </g>
 <!-- Node251 -->
 <g id="node101" class="node">
 <title>Node251</title>
 <g id="a_node101"><a xlink:href="structtvm_1_1relax_1_1AstypeAttrs.html" target="_top" xlink:title="Attributes used in astype operator.">
-<polygon fill="white" stroke="black" points="599.5,-7781.5 599.5,-7800.5 729.5,-7800.5 729.5,-7781.5 599.5,-7781.5"/>
-<text text-anchor="middle" x="664.5" y="-7788.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AstypeAttrs</text>
+<polygon fill="white" stroke="black" points="599.5,-7840.5 599.5,-7859.5 729.5,-7859.5 729.5,-7840.5 599.5,-7840.5"/>
+<text text-anchor="middle" x="664.5" y="-7847.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AstypeAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node250&#45;&gt;Node251 -->
 <g id="edge100" class="edge">
 <title>Node250&#45;&gt;Node251</title>
-<path fill="none" stroke="midnightblue" d="M509.49,-7791C539.01,-7791 571.73,-7791 599.39,-7791"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7787.5 499.2,-7791 509.2,-7794.5 509.2,-7787.5"/>
+<path fill="none" stroke="midnightblue" d="M509.49,-7850C539.01,-7850 571.73,-7850 599.39,-7850"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7846.5 499.2,-7850 509.2,-7853.5 509.2,-7846.5"/>
 </g>
 <!-- Node253 -->
 <g id="node103" class="node">
 <title>Node253</title>
 <g id="a_node103"><a xlink:href="structtvm_1_1relax_1_1PixelShuffleAttrs.html" target="_top" xlink:title="Attributes used for the pixel shuffle operator.">
-<polygon fill="white" stroke="black" points="599.5,-7727 599.5,-7757 729.5,-7757 729.5,-7727 599.5,-7727"/>
-<text text-anchor="start" x="607.5" y="-7745" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PixelShuffle</text>
-<text text-anchor="middle" x="664.5" y="-7734" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="599.5,-7786 599.5,-7816 729.5,-7816 729.5,-7786 599.5,-7786"/>
+<text text-anchor="start" x="607.5" y="-7804" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PixelShuffle</text>
+<text text-anchor="middle" x="664.5" y="-7793" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node252&#45;&gt;Node253 -->
 <g id="edge102" class="edge">
 <title>Node252&#45;&gt;Node253</title>
-<path fill="none" stroke="midnightblue" d="M509.49,-7742C539.01,-7742 571.73,-7742 599.39,-7742"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7738.5 499.2,-7742 509.2,-7745.5 509.2,-7738.5"/>
+<path fill="none" stroke="midnightblue" d="M509.49,-7801C539.01,-7801 571.73,-7801 599.39,-7801"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7797.5 499.2,-7801 509.2,-7804.5 509.2,-7797.5"/>
 </g>
 <!-- Node255 -->
 <g id="node105" class="node">
 <title>Node255</title>
 <g id="a_node105"><a xlink:href="structtvm_1_1relax_1_1PadAttrs.html" target="_top" xlink:title="Attributes used for the padding operator.">
-<polygon fill="white" stroke="black" points="608,-7683.5 608,-7702.5 721,-7702.5 721,-7683.5 608,-7683.5"/>
-<text text-anchor="middle" x="664.5" y="-7690.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PadAttrs</text>
+<polygon fill="white" stroke="black" points="608,-7742.5 608,-7761.5 721,-7761.5 721,-7742.5 608,-7742.5"/>
+<text text-anchor="middle" x="664.5" y="-7749.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PadAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node254&#45;&gt;Node255 -->
 <g id="edge104" class="edge">
 <title>Node254&#45;&gt;Node255</title>
-<path fill="none" stroke="midnightblue" d="M509.2,-7693C541.88,-7693 578.52,-7693 607.9,-7693"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7689.5 499.2,-7693 509.2,-7696.5 509.2,-7689.5"/>
+<path fill="none" stroke="midnightblue" d="M509.2,-7752C541.88,-7752 578.52,-7752 607.9,-7752"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7748.5 499.2,-7752 509.2,-7755.5 509.2,-7748.5"/>
 </g>
 <!-- Node257 -->
 <g id="node107" class="node">
 <title>Node257</title>
 <g id="a_node107"><a xlink:href="structtvm_1_1relax_1_1InstanceNormAttrs.html" target="_top" xlink:title="Attributes used in instance_norm operator.">
-<polygon fill="white" stroke="black" points="594,-7629 594,-7659 735,-7659 735,-7629 594,-7629"/>
-<text text-anchor="start" x="602" y="-7647" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::InstanceNorm</text>
-<text text-anchor="middle" x="664.5" y="-7636" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="594,-7688 594,-7718 735,-7718 735,-7688 594,-7688"/>
+<text text-anchor="start" x="602" y="-7706" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::InstanceNorm</text>
+<text text-anchor="middle" x="664.5" y="-7695" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node256&#45;&gt;Node257 -->
 <g id="edge106" class="edge">
 <title>Node256&#45;&gt;Node257</title>
-<path fill="none" stroke="midnightblue" d="M509.23,-7644C536.85,-7644 567.3,-7644 593.8,-7644"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7640.5 499.2,-7644 509.2,-7647.5 509.2,-7640.5"/>
+<path fill="none" stroke="midnightblue" d="M509.23,-7703C536.85,-7703 567.3,-7703 593.8,-7703"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7699.5 499.2,-7703 509.2,-7706.5 509.2,-7699.5"/>
 </g>
 <!-- Node259 -->
 <g id="node109" class="node">
 <title>Node259</title>
 <g id="a_node109"><a xlink:href="structtvm_1_1relax_1_1DropoutAttrs.html" target="_top" xlink:title="Attributes used in dropout operator.">
-<polygon fill="white" stroke="black" points="597,-7585.5 597,-7604.5 732,-7604.5 732,-7585.5 597,-7585.5"/>
-<text text-anchor="middle" x="664.5" y="-7592.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DropoutAttrs</text>
+<polygon fill="white" stroke="black" points="597,-7644.5 597,-7663.5 732,-7663.5 732,-7644.5 597,-7644.5"/>
+<text text-anchor="middle" x="664.5" y="-7651.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DropoutAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node258&#45;&gt;Node259 -->
 <g id="edge108" class="edge">
 <title>Node258&#45;&gt;Node259</title>
-<path fill="none" stroke="midnightblue" d="M509.55,-7595C538.07,-7595 569.57,-7595 596.61,-7595"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7591.5 499.2,-7595 509.2,-7598.5 509.2,-7591.5"/>
+<path fill="none" stroke="midnightblue" d="M509.55,-7654C538.07,-7654 569.57,-7654 596.61,-7654"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7650.5 499.2,-7654 509.2,-7657.5 509.2,-7650.5"/>
 </g>
 <!-- Node261 -->
 <g id="node111" class="node">
 <title>Node261</title>
 <g id="a_node111"><a xlink:href="structtvm_1_1relax_1_1TopKAttrs.html" target="_top" xlink:title="Attributes used in topk operator.">
-<polygon fill="white" stroke="black" points="605,-7536.5 605,-7555.5 724,-7555.5 724,-7536.5 605,-7536.5"/>
-<text text-anchor="middle" x="664.5" y="-7543.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TopKAttrs</text>
+<polygon fill="white" stroke="black" points="605,-7595.5 605,-7614.5 724,-7614.5 724,-7595.5 605,-7595.5"/>
+<text text-anchor="middle" x="664.5" y="-7602.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TopKAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node260&#45;&gt;Node261 -->
 <g id="edge110" class="edge">
 <title>Node260&#45;&gt;Node261</title>
-<path fill="none" stroke="midnightblue" d="M509.29,-7546C540.83,-7546 576.04,-7546 604.84,-7546"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7542.5 499.2,-7546 509.2,-7549.5 509.2,-7542.5"/>
+<path fill="none" stroke="midnightblue" d="M509.29,-7605C540.83,-7605 576.04,-7605 604.84,-7605"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7601.5 499.2,-7605 509.2,-7608.5 509.2,-7601.5"/>
 </g>
 <!-- Node263 -->
 <g id="node113" class="node">
 <title>Node263</title>
 <g id="a_node113"><a xlink:href="structtvm_1_1relax_1_1MultinomialFromUniformAttrs.html" target="_top" xlink:title="Attributes used in multinomial_from_uniform operator.">
-<polygon fill="white" stroke="black" points="586.5,-7482 586.5,-7512 742.5,-7512 742.5,-7482 586.5,-7482"/>
-<text text-anchor="start" x="594.5" y="-7500" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MultinomialFrom</text>
-<text text-anchor="middle" x="664.5" y="-7489" font-family="Helvetica,sans-Serif" font-size="10.00">UniformAttrs</text>
+<polygon fill="white" stroke="black" points="586.5,-7541 586.5,-7571 742.5,-7571 742.5,-7541 586.5,-7541"/>
+<text text-anchor="start" x="594.5" y="-7559" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MultinomialFrom</text>
+<text text-anchor="middle" x="664.5" y="-7548" font-family="Helvetica,sans-Serif" font-size="10.00">UniformAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node262&#45;&gt;Node263 -->
 <g id="edge112" class="edge">
 <title>Node262&#45;&gt;Node263</title>
-<path fill="none" stroke="midnightblue" d="M527.96,-7497C547.47,-7497 567.6,-7497 586.18,-7497"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="527.82,-7493.5 517.82,-7497 527.82,-7500.5 527.82,-7493.5"/>
+<path fill="none" stroke="midnightblue" d="M527.96,-7556C547.47,-7556 567.6,-7556 586.18,-7556"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="527.82,-7552.5 517.82,-7556 527.82,-7559.5 527.82,-7552.5"/>
 </g>
 <!-- Node265 -->
 <g id="node115" class="node">
 <title>Node265</title>
 <g id="a_node115"><a xlink:href="structtvm_1_1relax_1_1Conv3DAttrs.html" target="_top" xlink:title="Attributes used in Conv3d operator.">
-<polygon fill="white" stroke="black" points="597.5,-7438.5 597.5,-7457.5 731.5,-7457.5 731.5,-7438.5 597.5,-7438.5"/>
-<text text-anchor="middle" x="664.5" y="-7445.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv3DAttrs</text>
+<polygon fill="white" stroke="black" points="597.5,-7497.5 597.5,-7516.5 731.5,-7516.5 731.5,-7497.5 597.5,-7497.5"/>
+<text text-anchor="middle" x="664.5" y="-7504.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv3DAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node264&#45;&gt;Node265 -->
 <g id="edge114" class="edge">
 <title>Node264&#45;&gt;Node265</title>
-<path fill="none" stroke="midnightblue" d="M509.27,-7448C538.14,-7448 570.1,-7448 597.4,-7448"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7444.5 499.2,-7448 509.2,-7451.5 509.2,-7444.5"/>
+<path fill="none" stroke="midnightblue" d="M509.27,-7507C538.14,-7507 570.1,-7507 597.4,-7507"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7503.5 499.2,-7507 509.2,-7510.5 509.2,-7503.5"/>
 </g>
 <!-- Node267 -->
 <g id="node117" class="node">
 <title>Node267</title>
 <g id="a_node117"><a xlink:href="classtvm_1_1VirtualDeviceNode.html" target="_top" xlink:title="Describes at compile time the constraints on where data is to be stored at runtime down to the (virtu...">
-<polygon fill="white" stroke="black" points="597.5,-7389.5 597.5,-7408.5 731.5,-7408.5 731.5,-7389.5 597.5,-7389.5"/>
-<text text-anchor="middle" x="664.5" y="-7396.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::VirtualDeviceNode</text>
+<polygon fill="white" stroke="black" points="597.5,-7448.5 597.5,-7467.5 731.5,-7467.5 731.5,-7448.5 597.5,-7448.5"/>
+<text text-anchor="middle" x="664.5" y="-7455.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::VirtualDeviceNode</text>
 </a>
 </g>
 </g>
 <!-- Node266&#45;&gt;Node267 -->
 <g id="edge116" class="edge">
 <title>Node266&#45;&gt;Node267</title>
-<path fill="none" stroke="midnightblue" d="M509.27,-7399C538.14,-7399 570.1,-7399 597.4,-7399"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7395.5 499.2,-7399 509.2,-7402.5 509.2,-7395.5"/>
+<path fill="none" stroke="midnightblue" d="M509.27,-7458C538.14,-7458 570.1,-7458 597.4,-7458"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7454.5 499.2,-7458 509.2,-7461.5 509.2,-7454.5"/>
 </g>
 <!-- Node269 -->
 <g id="node119" class="node">
 <title>Node269</title>
 <g id="a_node119"><a xlink:href="structtvm_1_1relax_1_1WrapParamAttrs.html" target="_top" xlink:title="Attributes used in wrap_param operator.">
-<polygon fill="white" stroke="black" points="588.5,-7340.5 588.5,-7359.5 740.5,-7359.5 740.5,-7340.5 588.5,-7340.5"/>
-<text text-anchor="middle" x="664.5" y="-7347.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::WrapParamAttrs</text>
+<polygon fill="white" stroke="black" points="588.5,-7399.5 588.5,-7418.5 740.5,-7418.5 740.5,-7399.5 588.5,-7399.5"/>
+<text text-anchor="middle" x="664.5" y="-7406.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::WrapParamAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node268&#45;&gt;Node269 -->
 <g id="edge118" class="edge">
 <title>Node268&#45;&gt;Node269</title>
-<path fill="none" stroke="midnightblue" d="M509.32,-7350C535.09,-7350 563.32,-7350 588.5,-7350"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7346.5 499.2,-7350 509.2,-7353.5 509.2,-7346.5"/>
+<path fill="none" stroke="midnightblue" d="M509.32,-7409C535.09,-7409 563.32,-7409 588.5,-7409"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7405.5 499.2,-7409 509.2,-7412.5 509.2,-7405.5"/>
 </g>
 <!-- Node271 -->
 <g id="node121" class="node">
 <title>Node271</title>
 <g id="a_node121"><a xlink:href="structtvm_1_1relax_1_1TileAttrs.html" target="_top" xlink:title="Attributes used in tile operators.">
-<polygon fill="white" stroke="black" points="607.5,-7291.5 607.5,-7310.5 721.5,-7310.5 721.5,-7291.5 607.5,-7291.5"/>
-<text text-anchor="middle" x="664.5" y="-7298.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TileAttrs</text>
+<polygon fill="white" stroke="black" points="607.5,-7350.5 607.5,-7369.5 721.5,-7369.5 721.5,-7350.5 607.5,-7350.5"/>
+<text text-anchor="middle" x="664.5" y="-7357.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TileAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node270&#45;&gt;Node271 -->
 <g id="edge120" class="edge">
 <title>Node270&#45;&gt;Node271</title>
-<path fill="none" stroke="midnightblue" d="M509.54,-7301C541.86,-7301 578,-7301 607.14,-7301"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7297.5 499.2,-7301 509.2,-7304.5 509.2,-7297.5"/>
+<path fill="none" stroke="midnightblue" d="M509.54,-7360C541.86,-7360 578,-7360 607.14,-7360"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7356.5 499.2,-7360 509.2,-7363.5 509.2,-7356.5"/>
 </g>
 <!-- Node273 -->
 <g id="node123" class="node">
 <title>Node273</title>
 <g id="a_node123"><a xlink:href="structtvm_1_1relax_1_1StridedSliceAttrs.html" target="_top" xlink:title="Attributes used in strided_slice operator.">
-<polygon fill="white" stroke="black" points="599,-7237 599,-7267 730,-7267 730,-7237 599,-7237"/>
-<text text-anchor="start" x="607" y="-7255" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StridedSlice</text>
-<text text-anchor="middle" x="664.5" y="-7244" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="599,-7296 599,-7326 730,-7326 730,-7296 599,-7296"/>
+<text text-anchor="start" x="607" y="-7314" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StridedSlice</text>
+<text text-anchor="middle" x="664.5" y="-7303" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node272&#45;&gt;Node273 -->
 <g id="edge122" class="edge">
 <title>Node272&#45;&gt;Node273</title>
-<path fill="none" stroke="midnightblue" d="M509.45,-7252C538.84,-7252 571.4,-7252 598.99,-7252"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7248.5 499.2,-7252 509.2,-7255.5 509.2,-7248.5"/>
+<path fill="none" stroke="midnightblue" d="M509.45,-7311C538.84,-7311 571.4,-7311 598.99,-7311"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7307.5 499.2,-7311 509.2,-7314.5 509.2,-7307.5"/>
 </g>
 <!-- Node275 -->
 <g id="node125" class="node">
 <title>Node275</title>
 <g id="a_node125"><a xlink:href="structtvm_1_1relax_1_1SplitAttrs.html" target="_top" xlink:title="Attributes used in split operator.">
-<polygon fill="white" stroke="black" points="605.5,-7193.5 605.5,-7212.5 723.5,-7212.5 723.5,-7193.5 605.5,-7193.5"/>
-<text text-anchor="middle" x="664.5" y="-7200.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SplitAttrs</text>
+<polygon fill="white" stroke="black" points="605.5,-7252.5 605.5,-7271.5 723.5,-7271.5 723.5,-7252.5 605.5,-7252.5"/>
+<text text-anchor="middle" x="664.5" y="-7259.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SplitAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node274&#45;&gt;Node275 -->
 <g id="edge124" class="edge">
 <title>Node274&#45;&gt;Node275</title>
-<path fill="none" stroke="midnightblue" d="M509.33,-7203C541,-7203 576.37,-7203 605.23,-7203"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7199.5 499.2,-7203 509.2,-7206.5 509.2,-7199.5"/>
+<path fill="none" stroke="midnightblue" d="M509.33,-7262C541,-7262 576.37,-7262 605.23,-7262"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7258.5 499.2,-7262 509.2,-7265.5 509.2,-7258.5"/>
 </g>
 <!-- Node277 -->
 <g id="node127" class="node">
 <title>Node277</title>
 <g id="a_node127"><a xlink:href="structtvm_1_1relax_1_1RMSNormAttrs.html" target="_top" xlink:title="Attributes used in rms_norm operator.">
-<polygon fill="white" stroke="black" points="592,-7144.5 592,-7163.5 737,-7163.5 737,-7144.5 592,-7144.5"/>
-<text text-anchor="middle" x="664.5" y="-7151.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::RMSNormAttrs</text>
+<polygon fill="white" stroke="black" points="592,-7203.5 592,-7222.5 737,-7222.5 737,-7203.5 592,-7203.5"/>
+<text text-anchor="middle" x="664.5" y="-7210.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::RMSNormAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node276&#45;&gt;Node277 -->
 <g id="edge126" class="edge">
 <title>Node276&#45;&gt;Node277</title>
-<path fill="none" stroke="midnightblue" d="M509.36,-7154C536.24,-7154 565.8,-7154 591.77,-7154"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7150.5 499.2,-7154 509.2,-7157.5 509.2,-7150.5"/>
+<path fill="none" stroke="midnightblue" d="M509.36,-7213C536.24,-7213 565.8,-7213 591.77,-7213"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7209.5 499.2,-7213 509.2,-7216.5 509.2,-7209.5"/>
 </g>
 <!-- Node279 -->
 <g id="node129" class="node">
 <title>Node279</title>
 <g id="a_node129"><a xlink:href="structtvm_1_1relax_1_1QuantizeAttrs.html" target="_top" xlink:title="Attributes for relax.quantize/relax.dequantize operator.">
-<polygon fill="white" stroke="black" points="594.5,-7095.5 594.5,-7114.5 734.5,-7114.5 734.5,-7095.5 594.5,-7095.5"/>
-<text text-anchor="middle" x="664.5" y="-7102.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::QuantizeAttrs</text>
+<polygon fill="white" stroke="black" points="594.5,-7154.5 594.5,-7173.5 734.5,-7173.5 734.5,-7154.5 594.5,-7154.5"/>
+<text text-anchor="middle" x="664.5" y="-7161.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::QuantizeAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node278&#45;&gt;Node279 -->
 <g id="edge128" class="edge">
 <title>Node278&#45;&gt;Node279</title>
-<path fill="none" stroke="midnightblue" d="M509.28,-7105C537.03,-7105 567.63,-7105 594.2,-7105"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7101.5 499.2,-7105 509.2,-7108.5 509.2,-7101.5"/>
+<path fill="none" stroke="midnightblue" d="M509.28,-7164C537.03,-7164 567.63,-7164 594.2,-7164"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7160.5 499.2,-7164 509.2,-7167.5 509.2,-7160.5"/>
 </g>
 <!-- Node281 -->
 <g id="node131" class="node">
 <title>Node281</title>
 <g id="a_node131"><a xlink:href="structtvm_1_1relax_1_1PReluAttrs.html" target="_top" xlink:title="Attributes used in PReLU operator.">
-<polygon fill="white" stroke="black" points="602.5,-7046.5 602.5,-7065.5 726.5,-7065.5 726.5,-7046.5 602.5,-7046.5"/>
-<text text-anchor="middle" x="664.5" y="-7053.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PReluAttrs</text>
+<polygon fill="white" stroke="black" points="602.5,-7105.5 602.5,-7124.5 726.5,-7124.5 726.5,-7105.5 602.5,-7105.5"/>
+<text text-anchor="middle" x="664.5" y="-7112.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PReluAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node280&#45;&gt;Node281 -->
 <g id="edge130" class="edge">
 <title>Node280&#45;&gt;Node281</title>
-<path fill="none" stroke="midnightblue" d="M509.4,-7056C539.93,-7056 573.88,-7056 602.13,-7056"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7052.5 499.2,-7056 509.2,-7059.5 509.2,-7052.5"/>
+<path fill="none" stroke="midnightblue" d="M509.4,-7115C539.93,-7115 573.88,-7115 602.13,-7115"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7111.5 499.2,-7115 509.2,-7118.5 509.2,-7111.5"/>
 </g>
 <!-- Node283 -->
 <g id="node133" class="node">
 <title>Node283</title>
 <g id="a_node133"><a xlink:href="structtvm_1_1relax_1_1MultiboxTransformLocAttrs.html" target="_top" xlink:title="Attributes for multibox_transform_loc (SSD / TFLite&#45;style box decode).">
-<polygon fill="white" stroke="black" points="582.5,-6992 582.5,-7022 746.5,-7022 746.5,-6992 582.5,-6992"/>
-<text text-anchor="start" x="590.5" y="-7010" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MultiboxTransform</text>
-<text text-anchor="middle" x="664.5" y="-6999" font-family="Helvetica,sans-Serif" font-size="10.00">LocAttrs</text>
+<polygon fill="white" stroke="black" points="582.5,-7051 582.5,-7081 746.5,-7081 746.5,-7051 582.5,-7051"/>
+<text text-anchor="start" x="590.5" y="-7069" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MultiboxTransform</text>
+<text text-anchor="middle" x="664.5" y="-7058" font-family="Helvetica,sans-Serif" font-size="10.00">LocAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node282&#45;&gt;Node283 -->
 <g id="edge132" class="edge">
 <title>Node282&#45;&gt;Node283</title>
-<path fill="none" stroke="midnightblue" d="M520.08,-7007C540.67,-7007 562.3,-7007 582.34,-7007"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="520.07,-7003.5 510.07,-7007 520.07,-7010.5 520.07,-7003.5"/>
+<path fill="none" stroke="midnightblue" d="M520.08,-7066C540.67,-7066 562.3,-7066 582.34,-7066"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="520.07,-7062.5 510.07,-7066 520.07,-7069.5 520.07,-7062.5"/>
 </g>
 <!-- Node285 -->
 <g id="node135" class="node">
 <title>Node285</title>
 <g id="a_node135"><a xlink:href="structtvm_1_1relax_1_1Conv2DAttrs.html" target="_top" xlink:title="Attributes used in Conv2d operator.">
-<polygon fill="white" stroke="black" points="597.5,-6948.5 597.5,-6967.5 731.5,-6967.5 731.5,-6948.5 597.5,-6948.5"/>
-<text text-anchor="middle" x="664.5" y="-6955.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv2DAttrs</text>
+<polygon fill="white" stroke="black" points="597.5,-7007.5 597.5,-7026.5 731.5,-7026.5 731.5,-7007.5 597.5,-7007.5"/>
+<text text-anchor="middle" x="664.5" y="-7014.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv2DAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node284&#45;&gt;Node285 -->
 <g id="edge134" class="edge">
 <title>Node284&#45;&gt;Node285</title>
-<path fill="none" stroke="midnightblue" d="M509.27,-6958C538.14,-6958 570.1,-6958 597.4,-6958"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6954.5 499.2,-6958 509.2,-6961.5 509.2,-6954.5"/>
+<path fill="none" stroke="midnightblue" d="M509.27,-7017C538.14,-7017 570.1,-7017 597.4,-7017"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-7013.5 499.2,-7017 509.2,-7020.5 509.2,-7013.5"/>
 </g>
 <!-- Node287 -->
 <g id="node137" class="node">
 <title>Node287</title>
 <g id="a_node137"><a xlink:href="structtvm_1_1relax_1_1SortAttrs.html" target="_top" xlink:title="Attributes used in sort operator.">
-<polygon fill="white" stroke="black" points="606.5,-6899.5 606.5,-6918.5 722.5,-6918.5 722.5,-6899.5 606.5,-6899.5"/>
-<text text-anchor="middle" x="664.5" y="-6906.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SortAttrs</text>
+<polygon fill="white" stroke="black" points="606.5,-6958.5 606.5,-6977.5 722.5,-6977.5 722.5,-6958.5 606.5,-6958.5"/>
+<text text-anchor="middle" x="664.5" y="-6965.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SortAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node286&#45;&gt;Node287 -->
 <g id="edge136" class="edge">
 <title>Node286&#45;&gt;Node287</title>
-<path fill="none" stroke="midnightblue" d="M509.46,-6909C541.51,-6909 577.34,-6909 606.38,-6909"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6905.5 499.2,-6909 509.2,-6912.5 509.2,-6905.5"/>
+<path fill="none" stroke="midnightblue" d="M509.46,-6968C541.51,-6968 577.34,-6968 606.38,-6968"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6964.5 499.2,-6968 509.2,-6971.5 509.2,-6964.5"/>
 </g>
 <!-- Node289 -->
 <g id="node139" class="node">
 <title>Node289</title>
 <g id="a_node139"><a xlink:href="structtvm_1_1relax_1_1Conv1DAttrs.html" target="_top" xlink:title="Attributes used in Conv1d operator.">
-<polygon fill="white" stroke="black" points="597.5,-6850.5 597.5,-6869.5 731.5,-6869.5 731.5,-6850.5 597.5,-6850.5"/>
-<text text-anchor="middle" x="664.5" y="-6857.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv1DAttrs</text>
+<polygon fill="white" stroke="black" points="597.5,-6909.5 597.5,-6928.5 731.5,-6928.5 731.5,-6909.5 597.5,-6909.5"/>
+<text text-anchor="middle" x="664.5" y="-6916.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv1DAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node288&#45;&gt;Node289 -->
 <g id="edge138" class="edge">
 <title>Node288&#45;&gt;Node289</title>
-<path fill="none" stroke="midnightblue" d="M509.27,-6860C538.14,-6860 570.1,-6860 597.4,-6860"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6856.5 499.2,-6860 509.2,-6863.5 509.2,-6856.5"/>
+<path fill="none" stroke="midnightblue" d="M509.27,-6919C538.14,-6919 570.1,-6919 597.4,-6919"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6915.5 499.2,-6919 509.2,-6922.5 509.2,-6915.5"/>
 </g>
 <!-- Node291 -->
 <g id="node141" class="node">
 <title>Node291</title>
 <g id="a_node141"><a xlink:href="structtvm_1_1relax_1_1BucketizeAttrs.html" target="_top" xlink:title="Attributes for bucketize operator.">
-<polygon fill="white" stroke="black" points="593,-6801.5 593,-6820.5 736,-6820.5 736,-6801.5 593,-6801.5"/>
-<text text-anchor="middle" x="664.5" y="-6808.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BucketizeAttrs</text>
+<polygon fill="white" stroke="black" points="593,-6860.5 593,-6879.5 736,-6879.5 736,-6860.5 593,-6860.5"/>
+<text text-anchor="middle" x="664.5" y="-6867.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BucketizeAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node290&#45;&gt;Node291 -->
 <g id="edge140" class="edge">
 <title>Node290&#45;&gt;Node291</title>
-<path fill="none" stroke="midnightblue" d="M509.5,-6811C536.77,-6811 566.77,-6811 592.99,-6811"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6807.5 499.2,-6811 509.2,-6814.5 509.2,-6807.5"/>
+<path fill="none" stroke="midnightblue" d="M509.5,-6870C536.77,-6870 566.77,-6870 592.99,-6870"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6866.5 499.2,-6870 509.2,-6873.5 509.2,-6866.5"/>
 </g>
 <!-- Node293 -->
 <g id="node143" class="node">
 <title>Node293</title>
 <g id="a_node143"><a xlink:href="structtvm_1_1relax_1_1ArgsortAttrs.html" target="_top" xlink:title="Attributes used in argsort operator.">
-<polygon fill="white" stroke="black" points="599,-6752.5 599,-6771.5 730,-6771.5 730,-6752.5 599,-6752.5"/>
-<text text-anchor="middle" x="664.5" y="-6759.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ArgsortAttrs</text>
+<polygon fill="white" stroke="black" points="599,-6811.5 599,-6830.5 730,-6830.5 730,-6811.5 599,-6811.5"/>
+<text text-anchor="middle" x="664.5" y="-6818.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ArgsortAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node292&#45;&gt;Node293 -->
 <g id="edge142" class="edge">
 <title>Node292&#45;&gt;Node293</title>
-<path fill="none" stroke="midnightblue" d="M509.45,-6762C538.84,-6762 571.4,-6762 598.99,-6762"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6758.5 499.2,-6762 509.2,-6765.5 509.2,-6758.5"/>
+<path fill="none" stroke="midnightblue" d="M509.45,-6821C538.84,-6821 571.4,-6821 598.99,-6821"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6817.5 499.2,-6821 509.2,-6824.5 509.2,-6817.5"/>
 </g>
 <!-- Node295 -->
 <g id="node145" class="node">
 <title>Node295</title>
 <g id="a_node145"><a xlink:href="structtvm_1_1relax_1_1StatisticalAttrs.html" target="_top" xlink:title="Attributes for statistical operators.">
-<polygon fill="white" stroke="black" points="592,-6703.5 592,-6722.5 737,-6722.5 737,-6703.5 592,-6703.5"/>
-<text text-anchor="middle" x="664.5" y="-6710.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StatisticalAttrs</text>
+<polygon fill="white" stroke="black" points="592,-6762.5 592,-6781.5 737,-6781.5 737,-6762.5 592,-6762.5"/>
+<text text-anchor="middle" x="664.5" y="-6769.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StatisticalAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node294&#45;&gt;Node295 -->
 <g id="edge144" class="edge">
 <title>Node294&#45;&gt;Node295</title>
-<path fill="none" stroke="midnightblue" d="M509.36,-6713C536.24,-6713 565.8,-6713 591.77,-6713"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6709.5 499.2,-6713 509.2,-6716.5 509.2,-6709.5"/>
+<path fill="none" stroke="midnightblue" d="M509.36,-6772C536.24,-6772 565.8,-6772 591.77,-6772"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6768.5 499.2,-6772 509.2,-6775.5 509.2,-6768.5"/>
 </g>
 <!-- Node297 -->
 <g id="node147" class="node">
 <title>Node297</title>
 <g id="a_node147"><a xlink:href="structtvm_1_1relax_1_1LayoutTransformAttrs.html" target="_top" xlink:title="Attributes used in layout_transform operator.">
-<polygon fill="white" stroke="black" points="587,-6649 587,-6679 742,-6679 742,-6649 587,-6649"/>
-<text text-anchor="start" x="595" y="-6667" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LayoutTransform</text>
-<text text-anchor="middle" x="664.5" y="-6656" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="587,-6708 587,-6738 742,-6738 742,-6708 587,-6708"/>
+<text text-anchor="start" x="595" y="-6726" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LayoutTransform</text>
+<text text-anchor="middle" x="664.5" y="-6715" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node296&#45;&gt;Node297 -->
 <g id="edge146" class="edge">
 <title>Node296&#45;&gt;Node297</title>
-<path fill="none" stroke="midnightblue" d="M509.46,-6664C534.63,-6664 562.14,-6664 586.85,-6664"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6660.5 499.2,-6664 509.2,-6667.5 509.2,-6660.5"/>
+<path fill="none" stroke="midnightblue" d="M509.46,-6723C534.63,-6723 562.14,-6723 586.85,-6723"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6719.5 499.2,-6723 509.2,-6726.5 509.2,-6719.5"/>
 </g>
 <!-- Node299 -->
 <g id="node149" class="node">
 <title>Node299</title>
 <g id="a_node149"><a xlink:href="structtvm_1_1relax_1_1Conv1DTransposeAttrs.html" target="_top" xlink:title="Attributes used in Conv1DTranspose operator.">
-<polygon fill="white" stroke="black" points="584.5,-6600 584.5,-6630 744.5,-6630 744.5,-6600 584.5,-6600"/>
-<text text-anchor="start" x="592.5" y="-6618" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv1DTranspose</text>
-<text text-anchor="middle" x="664.5" y="-6607" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="584.5,-6659 584.5,-6689 744.5,-6689 744.5,-6659 584.5,-6659"/>
+<text text-anchor="start" x="592.5" y="-6677" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv1DTranspose</text>
+<text text-anchor="middle" x="664.5" y="-6666" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node298&#45;&gt;Node299 -->
 <g id="edge148" class="edge">
 <title>Node298&#45;&gt;Node299</title>
-<path fill="none" stroke="midnightblue" d="M509.74,-6615C533.92,-6615 560.24,-6615 584.14,-6615"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.52,-6611.5 499.52,-6615 509.52,-6618.5 509.52,-6611.5"/>
+<path fill="none" stroke="midnightblue" d="M509.74,-6674C533.92,-6674 560.24,-6674 584.14,-6674"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.52,-6670.5 499.52,-6674 509.52,-6677.5 509.52,-6670.5"/>
 </g>
 <!-- Node301 -->
 <g id="node151" class="node">
 <title>Node301</title>
 <g id="a_node151"><a xlink:href="structtvm_1_1relax_1_1GetValidCountsAttrs.html" target="_top" xlink:title="Attributes used in GetValidCounts operator.">
-<polygon fill="white" stroke="black" points="590.5,-6551 590.5,-6581 738.5,-6581 738.5,-6551 590.5,-6551"/>
-<text text-anchor="start" x="598.5" y="-6569" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GetValidCounts</text>
-<text text-anchor="middle" x="664.5" y="-6558" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="590.5,-6610 590.5,-6640 738.5,-6640 738.5,-6610 590.5,-6610"/>
+<text text-anchor="start" x="598.5" y="-6628" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GetValidCounts</text>
+<text text-anchor="middle" x="664.5" y="-6617" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node300&#45;&gt;Node301 -->
 <g id="edge150" class="edge">
 <title>Node300&#45;&gt;Node301</title>
-<path fill="none" stroke="midnightblue" d="M509.52,-6566C535.8,-6566 564.61,-6566 590.14,-6566"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6562.5 499.2,-6566 509.2,-6569.5 509.2,-6562.5"/>
+<path fill="none" stroke="midnightblue" d="M509.52,-6625C535.8,-6625 564.61,-6625 590.14,-6625"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6621.5 499.2,-6625 509.2,-6628.5 509.2,-6621.5"/>
 </g>
 <!-- Node303 -->
 <g id="node153" class="node">
 <title>Node303</title>
 <g id="a_node153"><a xlink:href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html" target="_top" xlink:title="Attributes used in Conv2d operator.">
-<polygon fill="white" stroke="black" points="584.5,-6502 584.5,-6532 744.5,-6532 744.5,-6502 584.5,-6502"/>
-<text text-anchor="start" x="592.5" y="-6520" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv2DTranspose</text>
-<text text-anchor="middle" x="664.5" y="-6509" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="black" points="584.5,-6561 584.5,-6591 744.5,-6591 744.5,-6561 584.5,-6561"/>
+<text text-anchor="start" x="592.5" y="-6579" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv2DTranspose</text>
+<text text-anchor="middle" x="664.5" y="-6568" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
 <!-- Node302&#45;&gt;Node303 -->
 <g id="edge152" class="edge">
 <title>Node302&#45;&gt;Node303</title>
-<path fill="none" stroke="midnightblue" d="M509.74,-6517C533.92,-6517 560.24,-6517 584.14,-6517"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.52,-6513.5 499.52,-6517 509.52,-6520.5 509.52,-6513.5"/>
+<path fill="none" stroke="midnightblue" d="M509.74,-6576C533.92,-6576 560.24,-6576 584.14,-6576"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.52,-6572.5 499.52,-6576 509.52,-6579.5 509.52,-6572.5"/>
 </g>
 <!-- Node305 -->
 <g id="node155" class="node">
 <title>Node305</title>
 <g id="a_node155"><a xlink:href="structtvm_1_1relax_1_1PermuteDimsAttrs.html" target="_top" xlink:title="Attributes used in permute_dims operator.">
-<polygon fill="white" stroke="black" points="583,-6458.5 583,-6477.5 746,-6477.5 746,-6458.5 583,-6458.5"/>
-<text text-anchor="middle" x="664.5" y="-6465.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PermuteDimsAttrs</text>
+<polygon fill="white" stroke="black" points="583,-6517.5 583,-6536.5 746,-6536.5 746,-6517.5 583,-6517.5"/>
+<text text-anchor="middle" x="664.5" y="-6524.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PermuteDimsAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node304&#45;&gt;Node305 -->
 <g id="edge154" class="edge">
 <title>Node304&#45;&gt;Node305</title>
-<path fill="none" stroke="midnightblue" d="M509.27,-6468C533.09,-6468 559.01,-6468 582.69,-6468"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6464.5 499.2,-6468 509.2,-6471.5 509.2,-6464.5"/>
+<path fill="none" stroke="midnightblue" d="M509.27,-6527C533.09,-6527 559.01,-6527 582.69,-6527"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6523.5 499.2,-6527 509.2,-6530.5 509.2,-6523.5"/>
 </g>
 <!-- Node307 -->
 <g id="node157" class="node">
 <title>Node307</title>
 <g id="a_node157"><a xlink:href="structtvm_1_1relax_1_1GroupNormAttrs.html" target="_top" xlink:title="Attributes used in group_norm operator.">
-<polygon fill="white" stroke="black" points="588.5,-6415.5 588.5,-6434.5 740.5,-6434.5 740.5,-6415.5 588.5,-6415.5"/>
-<text text-anchor="middle" x="664.5" y="-6422.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GroupNormAttrs</text>
+<polygon fill="white" stroke="black" points="588.5,-6468.5 588.5,-6487.5 740.5,-6487.5 740.5,-6468.5 588.5,-6468.5"/>
+<text text-anchor="middle" x="664.5" y="-6475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GroupNormAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node306&#45;&gt;Node307 -->
 <g id="edge156" class="edge">
 <title>Node306&#45;&gt;Node307</title>
-<path fill="none" stroke="midnightblue" d="M509.32,-6421.1C535.09,-6421.76 563.32,-6422.47 588.5,-6423.11"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.28,-6417.6 499.2,-6420.85 509.1,-6424.6 509.28,-6417.6"/>
+<path fill="none" stroke="midnightblue" d="M509.32,-6478C535.09,-6478 563.32,-6478 588.5,-6478"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.2,-6474.5 499.2,-6478 509.2,-6481.5 509.2,-6474.5"/>
 </g>
 <!-- Node309 -->
 <g id="node159" class="node">
 <title>Node309</title>
 <g id="a_node159"><a xlink:href="structtvm_1_1relax_1_1GatherNDAttrs.html" target="_top" xlink:title="Attributes used in gather_nd operators.">
-<polygon fill="white" stroke="black" points="592.5,-6377.5 592.5,-6396.5 736.5,-6396.5 736.5,-6377.5 592.5,-6377.5"/>
-<text text-anchor="middle" x="664.5" y="-6384.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GatherNDAttrs</text>
+<polygon fill="white" stroke="black" points="592.5,-6425.5 592.5,-6444.5 736.5,-6444.5 736.5,-6425.5 592.5,-6425.5"/>
+<text text-anchor="middle" x="664.5" y="-6432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GatherNDAttrs</text>
 </a>
 </g>
 </g>
 <!-- Node308&#45;&gt;Node309 -->
 <g id="edge158" class="edge">
 <title>Node308&#45;&gt;Node309</title>
-<path fill="none" stroke="midnightblue" d="M509.4,-6375.97C536.42,-6377.9 566.12,-6380.03 592.18,-6381.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="509.42,-6372.46 499.2,-6375.24 508.92,-6379.44 509.42,-6372.46"/>
+<path fill="none" stroke="midnightblue" d="M509.4,-6431.11C536.42,-6431.79 566.12,-6432.54 592.18,-6433.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.28,-6427.6 499.2,-6430.85 509.1,-6434.6 509.28,-6427.6"/>
 </g>
-<!-- Node313 -->
-<g id="node163" class="node">
-<title>Node313</title>
-<g id="a_node163"><a xlink:href="classtvm_1_1PrimExprNode.html" target="_top" xlink:title="Base node of all primitive expressions.">
-<polygon fill="white" stroke="black" points="369,-5508.5 369,-5527.5 481,-5527.5 481,-5508.5 369,-5508.5"/>
-<text text-anchor="middle" x="425" y="-5515.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExprNode</text>
+<!-- Node311 -->
+<g id="node161" class="node">
+<title>Node311</title>
+<g id="a_node161"><a xlink:href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html" target="_top" xlink:title="Attributes used in Conv3dTranspose operator.">
+<polygon fill="white" stroke="black" points="584.5,-6376 584.5,-6406 744.5,-6406 744.5,-6376 584.5,-6376"/>
+<text text-anchor="start" x="592.5" y="-6394" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv3DTranspose</text>
+<text text-anchor="middle" x="664.5" y="-6383" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
 </a>
 </g>
 </g>
-<!-- Node312&#45;&gt;Node313 -->
-<g id="edge162" class="edge">
-<title>Node312&#45;&gt;Node313</title>
-<path fill="none" stroke="midnightblue" d="M193.08,-4885.39C229.38,-4984.85 394.05,-5435.96 420.43,-5508.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="196.27,-4883.92 189.55,-4875.72 189.69,-4886.32 196.27,-4883.92"/>
+<!-- Node310&#45;&gt;Node311 -->
+<g id="edge160" class="edge">
+<title>Node310&#45;&gt;Node311</title>
+<path fill="none" stroke="midnightblue" d="M509.74,-6383.88C533.92,-6385 560.24,-6386.22 584.14,-6387.32"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="509.67,-6380.37 499.52,-6383.41 509.35,-6387.36 509.67,-6380.37"/>
 </g>
-<!-- Node367 -->
-<g id="node217" class="node">
-<title>Node367</title>
-<g id="a_node217"><a xlink:href="classtvm_1_1RelaxExprNode.html" target="_top" xlink:title="Base node of all non&#45;primitive expressions.">
-<polygon fill="white" stroke="black" points="366.5,-4729.5 366.5,-4748.5 483.5,-4748.5 483.5,-4729.5 366.5,-4729.5"/>
-<text text-anchor="middle" x="425" y="-4736.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::RelaxExprNode</text>
+<!-- Node315 -->
+<g id="node165" class="node">
+<title>Node315</title>
+<g id="a_node165"><a xlink:href="classtvm_1_1PrimExprNode.html" target="_top" xlink:title="Base node of all primitive expressions.">
+<polygon fill="white" stroke="black" points="369,-5507.5 369,-5526.5 481,-5526.5 481,-5507.5 369,-5507.5"/>
+<text text-anchor="middle" x="425" y="-5514.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExprNode</text>
 </a>
 </g>
 </g>
-<!-- Node312&#45;&gt;Node367 -->
-<g id="edge216" class="edge">
-<title>Node312&#45;&gt;Node367</title>
-<path fill="none" stroke="midnightblue" d="M251.51,-4858.2C263.3,-4855.5 275.25,-4851.88 286,-4847 341.41,-4821.86 394.47,-4770.08 415.03,-4748.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="250.75,-4854.78 241.68,-4860.25 252.18,-4861.63 250.75,-4854.78"/>
+<!-- Node314&#45;&gt;Node315 -->
+<g id="edge164" class="edge">
+<title>Node314&#45;&gt;Node315</title>
+<path fill="none" stroke="midnightblue" d="M193.08,-4884.39C229.38,-4983.85 394.05,-5434.96 420.43,-5507.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="196.27,-4882.92 189.55,-4874.72 189.69,-4885.32 196.27,-4882.92"/>
 </g>
... 31836 lines suppressed ...