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

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

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 8e48662ce deploying docs (apache/tvm@910624a86bb7618f0039235128b82ac2a4ed549a)
8e48662ce is described below

commit 8e48662cef53908ebb5f29a910913d4310d820bc
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Thu Jun 23 01:12:04 2022 +0000

    deploying docs (apache/tvm@910624a86bb7618f0039235128b82ac2a4ed549a)
---
 .../how_to/compile_models/from_mxnet.rst.txt       |   2 +-
 .../how_to/compile_models/from_oneflow.rst.txt     |   2 +-
 .../how_to/compile_models/from_paddle.rst.txt      |   2 +-
 .../how_to/compile_models/from_pytorch.rst.txt     |   2 +-
 .../how_to/compile_models/from_tensorflow.rst.txt  |   2 +-
 .../compile_models/sg_execution_times.rst.txt      |  22 +-
 .../deploy_models/deploy_model_on_android.rst.txt  |   2 +-
 .../deploy_object_detection_pytorch.rst.txt        |   4 +-
 .../deploy_models/deploy_prequantized.rst.txt      |   6 +-
 .../deploy_prequantized_tflite.rst.txt             |   4 +-
 .../how_to/deploy_models/deploy_quantized.rst.txt  |   2 +-
 .../deploy_models/deploy_ssd_gluoncv.rst.txt       |   4 +-
 .../deploy_models/sg_execution_times.rst.txt       |  16 +-
 .../extend_tvm/bring_your_own_datatypes.rst.txt    |   4 +-
 .../how_to/extend_tvm/sg_execution_times.rst.txt   |   8 +-
 .../how_to/extend_tvm/use_pass_instrument.rst.txt  |  16 +-
 .../optimize_operators/opt_conv_cuda.rst.txt       |   2 +-
 .../optimize_operators/opt_conv_tensorcore.rst.txt |   2 +-
 .../how_to/optimize_operators/opt_gemm.rst.txt     |  16 +-
 .../optimize_operators/sg_execution_times.rst.txt  |   8 +-
 .../sg_execution_times.rst.txt                     |  14 +-
 .../tune_conv2d_layer_cuda.rst.txt                 | 520 +++++----------------
 .../tune_network_cuda.rst.txt                      |   2 +-
 .../tune_network_x86.rst.txt                       |   4 +-
 .../tune_sparse_x86.rst.txt                        |  86 +++-
 .../tune_with_autotvm/sg_execution_times.rst.txt   |   6 +-
 .../tune_with_autotvm/tune_conv2d_cuda.rst.txt     |  34 +-
 .../work_with_microtvm/micro_autotune.rst.txt      |  16 +-
 .../how_to/work_with_microtvm/micro_train.rst.txt  |  16 +-
 .../work_with_microtvm/sg_execution_times.rst.txt  |   8 +-
 .../work_with_relay/sg_execution_times.rst.txt     |   6 +-
 .../how_to/work_with_schedules/intrin_math.rst.txt |   2 +-
 .../work_with_schedules/sg_execution_times.rst.txt |  16 +-
 .../how_to/work_with_schedules/tensorize.rst.txt   |   2 +-
 .../tutorials/autotvm/sg_execution_times.rst.txt   |   6 +-
 .../frontend/deploy_classification.rst.txt         |   2 +-
 .../tutorials/frontend/deploy_detection.rst.txt    |   2 +-
 .../tutorials/frontend/sg_execution_times.rst.txt  |   6 +-
 .../tutorials/optimize/sg_execution_times.rst.txt  |   6 +-
 .../topic/vta/tutorials/sg_execution_times.rst.txt |   6 +-
 .../tutorial/auto_scheduler_matmul_x86.rst.txt     |   9 +-
 docs/_sources/tutorial/autotvm_matmul_x86.rst.txt  |  20 +-
 docs/_sources/tutorial/autotvm_relay_x86.rst.txt   |  54 +--
 .../tutorial/cross_compilation_and_rpc.rst.txt     |   2 +-
 docs/_sources/tutorial/intro_topi.rst.txt          |   2 +-
 docs/_sources/tutorial/sg_execution_times.rst.txt  |  22 +-
 .../tutorial/tensor_expr_get_started.rst.txt       |  46 +-
 docs/commit_hash                                   |   2 +-
 docs/how_to/compile_models/from_mxnet.html         |   2 +-
 docs/how_to/compile_models/from_oneflow.html       | 106 ++---
 docs/how_to/compile_models/from_paddle.html        |   2 +-
 docs/how_to/compile_models/from_pytorch.html       |   6 +-
 docs/how_to/compile_models/from_tensorflow.html    |   2 +-
 docs/how_to/compile_models/sg_execution_times.html |  26 +-
 .../deploy_models/deploy_model_on_android.html     |   2 +-
 .../deploy_object_detection_pytorch.html           |  25 +-
 docs/how_to/deploy_models/deploy_prequantized.html |  14 +-
 .../deploy_models/deploy_prequantized_tflite.html  |   4 +-
 docs/how_to/deploy_models/deploy_quantized.html    |   2 +-
 docs/how_to/deploy_models/deploy_ssd_gluoncv.html  |  40 +-
 docs/how_to/deploy_models/sg_execution_times.html  |  16 +-
 .../extend_tvm/bring_your_own_datatypes.html       |   4 +-
 docs/how_to/extend_tvm/sg_execution_times.html     |   8 +-
 docs/how_to/extend_tvm/use_pass_instrument.html    |  16 +-
 docs/how_to/optimize_operators/opt_conv_cuda.html  |   2 +-
 .../optimize_operators/opt_conv_tensorcore.html    |   2 +-
 docs/how_to/optimize_operators/opt_gemm.html       |  16 +-
 .../optimize_operators/sg_execution_times.html     |   8 +-
 .../sg_execution_times.html                        |  14 +-
 .../tune_conv2d_layer_cuda.html                    | 520 +++++----------------
 .../tune_with_autoscheduler/tune_network_cuda.html |   2 +-
 .../tune_with_autoscheduler/tune_network_x86.html  |   4 +-
 .../tune_with_autoscheduler/tune_sparse_x86.html   |  86 +++-
 .../tune_with_autotvm/sg_execution_times.html      |   6 +-
 .../how_to/tune_with_autotvm/tune_conv2d_cuda.html |  34 +-
 docs/how_to/work_with_microtvm/micro_autotune.html |  16 +-
 docs/how_to/work_with_microtvm/micro_train.html    |  16 +-
 .../work_with_microtvm/sg_execution_times.html     |   8 +-
 .../how_to/work_with_relay/sg_execution_times.html |   6 +-
 docs/how_to/work_with_schedules/intrin_math.html   |   2 +-
 .../work_with_schedules/sg_execution_times.html    |  16 +-
 docs/how_to/work_with_schedules/tensorize.html     |   2 +-
 .../doxygen/apply__history__best_8h_source.html    |   2 +-
 .../api/doxygen/attr__registry__map_8h_source.html |   2 +-
 docs/reference/api/doxygen/buffer_8h_source.html   |   2 +-
 .../classtvm_1_1AttrFieldInfoNode__coll__graph.svg |   2 +-
 .../doxygen/classtvm_1_1CompilationConfigNode.html |   2 +-
 .../classtvm_1_1ConstructorNode__coll__graph.svg   |   2 +-
 .../classtvm_1_1DiagnosticNode__coll__graph.svg    |   2 +-
 .../classtvm_1_1EnvFuncNode__coll__graph.svg       |   2 +-
 .../classtvm_1_1GlobalTypeVarNode__coll__graph.svg |   2 +-
 .../classtvm_1_1GlobalVarNode__coll__graph.svg     |   2 +-
 .../doxygen/classtvm_1_1OpNode__coll__graph.svg    |   2 +-
 .../classtvm_1_1PointerTypeNode__coll__graph.svg   |   2 +-
 .../classtvm_1_1SourceNameNode__coll__graph.svg    |   2 +-
 .../classtvm_1_1TargetKindNode__coll__graph.svg    |   2 +-
 .../classtvm_1_1TargetNode__coll__graph.svg        |   2 +-
 .../classtvm_1_1TargetTagNode__coll__graph.svg     |   2 +-
 .../classtvm_1_1TypeVarNode__coll__graph.svg       |   2 +-
 .../classtvm_1_1VirtualDeviceNode__coll__graph.svg |   2 +-
 ...__scheduler_1_1BuildResultNode__coll__graph.svg |   2 +-
 ...scheduler_1_1CacheReadStepNode__coll__graph.svg |   2 +-
 ...cheduler_1_1CacheWriteStepNode__coll__graph.svg |   2 +-
 ...uto__scheduler_1_1IteratorNode__coll__graph.svg |   2 +-
 ..._scheduler_1_1LocalBuilderNode__coll__graph.svg |   2 +-
 ...scheduler_1_1MeasureResultNode__coll__graph.svg |   2 +-
 ...o__scheduler_1_1PragmaStepNode__coll__graph.svg |   2 +-
 ...r_1_1PreloadMeasuredStatesNode__coll__graph.svg |   2 +-
 ...to__scheduler_1_1RPCRunnerNode__coll__graph.svg |   2 +-
 ..._scheduler_1_1RecordReaderNode__coll__graph.svg |   2 +-
 ..._scheduler_1_1RecordToFileNode__coll__graph.svg |   2 +-
 ...o__scheduler_1_1SearchTaskNode__coll__graph.svg |   2 +-
 ...strument_1_1PassInstrumentNode__coll__graph.svg |   2 +-
 ..._schedule_1_1ExtractedTaskNode__coll__graph.svg |   2 +-
 ...a__schedule_1_1RunnerInputNode__coll__graph.svg |   2 +-
 ...asstvm_1_1parser_1_1SourceNode__coll__graph.svg |   2 +-
 ...sstvm_1_1relay_1_1ExecutorNode__coll__graph.svg |   2 +-
 .../classtvm_1_1relay_1_1IdNode__coll__graph.svg   |   2 +-
 ...1relay_1_1OpImplementationNode__coll__graph.svg |   2 +-
 ...asstvm_1_1relay_1_1RuntimeNode__coll__graph.svg |   2 +-
 ...tvm_1_1relay_1_1VarPatternNode__coll__graph.svg |   2 +-
 .../classtvm_1_1runtime_1_1String-members.html     |  43 +-
 .../api/doxygen/classtvm_1_1runtime_1_1String.html |  31 --
 .../classtvm_1_1runtime_1_1String__coll__graph.svg |   2 +-
 ...asstvm_1_1runtime_1_1String__inherit__graph.svg |   2 +-
 ...lasstvm_1_1tir_1_1AttrStmtNode__coll__graph.svg |   2 +-
 .../classtvm_1_1tir_1_1BlockNode__coll__graph.svg  |   2 +-
 .../classtvm_1_1tir_1_1BufferNode__coll__graph.svg |   2 +-
 ..._1_1tir_1_1InstructionKindNode__coll__graph.svg |   2 +-
 ...classtvm_1_1tir_1_1IterVarNode__coll__graph.svg |   2 +-
 .../classtvm_1_1tir_1_1LayoutNode__coll__graph.svg |   2 +-
 ..._1_1tir_1_1ProducerRealizeNode__coll__graph.svg |   2 +-
 ...classtvm_1_1tir_1_1SizeVarNode__coll__graph.svg |   2 +-
 ...asstvm_1_1tir_1_1StringImmNode__coll__graph.svg |   2 +-
 .../classtvm_1_1tir_1_1VarNode__coll__graph.svg    |   2 +-
 ...m_1_1transform_1_1PassInfoNode__coll__graph.svg |   2 +-
 .../api/doxygen/compute__dag_8h_source.html        |   2 +-
 .../api/doxygen/data__layout_8h_source.html        |   2 +-
 docs/reference/api/doxygen/database_8h_source.html |   2 +-
 .../api/doxygen/dataflow__pattern_8h_source.html   |   2 +-
 .../api/doxygen/diagnostic_8h_source.html          |   2 +-
 .../reference/api/doxygen/env__func_8h_source.html |   2 +-
 docs/reference/api/doxygen/executor_8h_source.html |   2 +-
 .../api/doxygen/extracted__task_8h_source.html     |   2 +-
 docs/reference/api/doxygen/functions_func_o.html   |  35 +-
 docs/reference/api/doxygen/functions_func_s.html   |   8 +-
 docs/reference/api/doxygen/functions_func_t.html   |   2 +-
 docs/reference/api/doxygen/functions_func_v.html   |   4 +-
 docs/reference/api/doxygen/functions_i.html        |   2 +-
 docs/reference/api/doxygen/functions_o.html        |  15 +-
 docs/reference/api/doxygen/functions_s.html        |   4 +-
 docs/reference/api/doxygen/functions_t.html        |   6 +-
 docs/reference/api/doxygen/functions_v.html        |   8 +-
 docs/reference/api/doxygen/image_8h_source.html    |   2 +-
 .../api/doxygen/index__map_8h_source.html          |   2 +-
 .../api/doxygen/instruction_8h_source.html         |   2 +-
 .../api/doxygen/instrument_8h_source.html          |   2 +-
 docs/reference/api/doxygen/ir_2adt_8h_source.html  |   2 +-
 .../reference/api/doxygen/ir_2attrs_8h_source.html |   2 +-
 docs/reference/api/doxygen/ir_2expr_8h_source.html |   2 +-
 .../api/doxygen/ir_2module_8h_source.html          |   2 +-
 docs/reference/api/doxygen/ir_2op_8h_source.html   |   2 +-
 docs/reference/api/doxygen/ir_2span_8h_source.html |   2 +-
 .../api/doxygen/ir_2transform_8h_source.html       |   2 +-
 docs/reference/api/doxygen/ir_2type_8h_source.html |   4 +-
 .../api/doxygen/libtorch__runtime_8h_source.html   |   2 +-
 .../api/doxygen/loop__state_8h_source.html         |   2 +-
 docs/reference/api/doxygen/measure_8h_source.html  |   2 +-
 .../api/doxygen/measure__record_8h_source.html     |   2 +-
 .../api/doxygen/memory__pools_8h_source.html       |   2 +-
 .../meta__schedule_2cost__model_8h_source.html     |   2 +-
 .../api/doxygen/metadata__base_8h_source.html      |   4 +-
 docs/reference/api/doxygen/namespacellvm.html      |  73 ---
 docs/reference/api/doxygen/namespaces.html         |  81 ++--
 .../api/doxygen/op__strategy_8h_source.html        |   2 +-
 .../reference/api/doxygen/operation_8h_source.html |   2 +-
 .../api/doxygen/packed__func_8h_source.html        |   2 +-
 docs/reference/api/doxygen/profiler_8h_source.html |   2 +-
 .../reference/api/doxygen/profiling_8h_source.html |   2 +-
 .../api/doxygen/reflection_8h_source.html          |   2 +-
 .../api/doxygen/relay_2attrs_2nn_8h_source.html    |   2 +-
 .../doxygen/relay_2attrs_2transform_8h_source.html |   2 +-
 .../api/doxygen/relay_2base_8h_source.html         |   2 +-
 .../api/doxygen/relay_2expr_8h_source.html         |   2 +-
 .../api/doxygen/relay_2transform_8h_source.html    |   2 +-
 docs/reference/api/doxygen/runner_8h_source.html   |   2 +-
 .../runtime_2container_2base_8h_source.html        |   2 +-
 .../api/doxygen/runtime_2module_8h_source.html     |   2 +-
 docs/reference/api/doxygen/runtime_8h_source.html  |   2 +-
 .../api/doxygen/schedule__rule_8h_source.html      |   2 +-
 docs/reference/api/doxygen/search/all_10.js        |   5 +-
 docs/reference/api/doxygen/search/all_11.js        |   2 +-
 docs/reference/api/doxygen/search/all_13.js        |   4 +-
 docs/reference/api/doxygen/search/all_14.js        |  10 +-
 docs/reference/api/doxygen/search/all_15.js        |   4 +-
 docs/reference/api/doxygen/search/all_16.js        |   6 +-
 docs/reference/api/doxygen/search/all_17.js        |   4 +-
 docs/reference/api/doxygen/search/all_a.js         |   2 +-
 docs/reference/api/doxygen/search/all_d.js         |   1 -
 docs/reference/api/doxygen/search/all_e.js         |   2 +-
 docs/reference/api/doxygen/search/functions_10.js  |   2 +-
 docs/reference/api/doxygen/search/functions_12.js  |   2 +-
 docs/reference/api/doxygen/search/functions_13.js  |   6 +-
 docs/reference/api/doxygen/search/functions_14.js  |   4 +-
 docs/reference/api/doxygen/search/functions_15.js  |   4 +-
 docs/reference/api/doxygen/search/functions_16.js  |   2 +-
 docs/reference/api/doxygen/search/functions_9.js   |   2 +-
 docs/reference/api/doxygen/search/functions_d.js   |   2 +-
 docs/reference/api/doxygen/search/functions_f.js   |   3 +-
 docs/reference/api/doxygen/search/namespaces_1.js  |  34 +-
 .../reference/api/doxygen/search/namespaces_2.html |  26 --
 docs/reference/api/doxygen/search/namespaces_2.js  |  36 --
 docs/reference/api/doxygen/search/searchdata.js    |   2 +-
 .../api/doxygen/search__policy_8h_source.html      |   2 +-
 .../api/doxygen/search__task_8h_source.html        |   2 +-
 .../api/doxygen/source__map_8h_source.html         |   2 +-
 docs/reference/api/doxygen/stmt_8h_source.html     |   2 +-
 docs/reference/api/doxygen/string_8h.html          |   2 -
 docs/reference/api/doxygen/string_8h_source.html   |  67 +--
 .../structtvm_1_1PoolInfoNode__coll__graph.svg     |   2 +-
 ..._1relay_1_1AdaptivePool1DAttrs__coll__graph.svg |   2 +-
 ..._1relay_1_1AdaptivePool2DAttrs__coll__graph.svg |   2 +-
 ..._1relay_1_1AdaptivePool3DAttrs__coll__graph.svg |   2 +-
 ...tvm_1_1relay_1_1AvgPool1DAttrs__coll__graph.svg |   2 +-
 ...tvm_1_1relay_1_1AvgPool2DAttrs__coll__graph.svg |   2 +-
 ...tvm_1_1relay_1_1AvgPool3DAttrs__coll__graph.svg |   2 +-
 ...m_1_1relay_1_1BatchMatmulAttrs__coll__graph.svg |   2 +-
 ...ucttvm_1_1relay_1_1Conv1DAttrs__coll__graph.svg |   2 +-
 ...ucttvm_1_1relay_1_1Conv2DAttrs__coll__graph.svg |   2 +-
 ..._1relay_1_1Conv2DWinogradAttrs__coll__graph.svg |   2 +-
 ...ucttvm_1_1relay_1_1Conv3DAttrs__coll__graph.svg |   2 +-
 ...1relay_1_1Conv3DTransposeAttrs__coll__graph.svg |   2 +-
 ...m_1_1relay_1_1CorrelationAttrs__coll__graph.svg |   2 +-
 ...ructtvm_1_1relay_1_1DenseAttrs__coll__graph.svg |   2 +-
 ...tvm_1_1relay_1_1DensePackAttrs__coll__graph.svg |   2 +-
 ...ucttvm_1_1relay_1_1EinsumAttrs__coll__graph.svg |   2 +-
 ..._1_1relay_1_1GlobalPool2DAttrs__coll__graph.svg |   2 +-
 ...vm_1_1relay_1_1GridSampleAttrs__coll__graph.svg |   2 +-
 ...ucttvm_1_1relay_1_1MatmulAttrs__coll__graph.svg |   2 +-
 ...tvm_1_1relay_1_1MaxPool1DAttrs__coll__graph.svg |   2 +-
 ...tvm_1_1relay_1_1MaxPool2DAttrs__coll__graph.svg |   2 +-
 ...tvm_1_1relay_1_1MaxPool3DAttrs__coll__graph.svg |   2 +-
 ...structtvm_1_1relay_1_1PadAttrs__coll__graph.svg |   2 +-
 ...tvm_1_1relay_1_1ScatterNDAttrs__coll__graph.svg |   2 +-
 ..._1_1relay_1_1StridedSliceAttrs__coll__graph.svg |   2 +-
 ...tructtvm_1_1relay_1_1TakeAttrs__coll__graph.svg |   2 +-
 ...vm_1_1relay_1_1UpSamplingAttrs__coll__graph.svg |   2 +-
 ...time_1_1profiling_1_1CallFrame__coll__graph.svg |   2 +-
 ...1tir_1_1usmp_1_1BufferInfoNode__coll__graph.svg |   2 +-
 docs/reference/api/doxygen/tag_8h_source.html      |   2 +-
 docs/reference/api/doxygen/target_8h_source.html   |   2 +-
 .../api/doxygen/target__kind_8h_source.html        |   2 +-
 docs/reference/api/doxygen/tensor_8h_source.html   |   2 +-
 .../reference/api/doxygen/tir_2expr_8h_source.html |   2 +-
 .../api/doxygen/tir_2function_8h_source.html       |   2 +-
 .../doxygen/tir_2op__attr__types_8h_source.html    |   2 +-
 .../doxygen/tir_2schedule_2schedule_8h_source.html |   2 +-
 .../api/doxygen/tir_2usmp_2utils_8h_source.html    |   2 +-
 .../api/doxygen/topi_2transform_8h_source.html     |   2 +-
 .../api/doxygen/transform__step_8h_source.html     |   2 +-
 docs/reference/api/doxygen/var_8h_source.html      |   2 +-
 .../api/doxygen/virtual__device_8h_source.html     |   4 +-
 docs/reference/api/python/auto_scheduler.html      |   4 +-
 .../api/typedoc/classes/bytestreamreader.html      |  12 +-
 .../api/typedoc/classes/cachedcallstack.html       |  34 +-
 docs/reference/api/typedoc/classes/dldatatype.html |  12 +-
 docs/reference/api/typedoc/classes/dldevice.html   |  10 +-
 .../reference/api/typedoc/classes/environment.html |  12 +-
 docs/reference/api/typedoc/classes/ffilibrary.html |  20 +-
 .../api/typedoc/classes/graphexecutor.html         |  16 +-
 docs/reference/api/typedoc/classes/instance.html   |  40 +-
 docs/reference/api/typedoc/classes/memory.html     |  34 +-
 docs/reference/api/typedoc/classes/module.html     |  10 +-
 docs/reference/api/typedoc/classes/ndarray.html    |  22 +-
 .../api/typedoc/classes/packedfunccell.html        |   6 +-
 docs/reference/api/typedoc/classes/rpcserver.html  |  14 +-
 docs/reference/api/typedoc/classes/scalar.html     |   6 +-
 .../api/typedoc/classes/webgpucontext.html         |  12 +-
 docs/reference/api/typedoc/enums/argtypecode.html  |  30 +-
 .../api/typedoc/enums/aynccallbackcode.html        |   4 +-
 .../api/typedoc/enums/dldatatypecode.html          |   8 +-
 .../api/typedoc/enums/rpcserverstate.html          |  12 +-
 docs/reference/api/typedoc/enums/sizeof.html       |  18 +-
 docs/reference/api/typedoc/index.html              | 112 ++---
 .../api/typedoc/interfaces/disposable.html         |   2 +-
 .../api/typedoc/interfaces/functioninfo.html       |   6 +-
 .../api/typedoc/interfaces/libraryprovider.html    |   4 +-
 docs/searchindex.js                                |   2 +-
 .../vta/tutorials/autotvm/sg_execution_times.html  |   6 +-
 .../tutorials/frontend/deploy_classification.html  |   2 +-
 .../vta/tutorials/frontend/deploy_detection.html   |   2 +-
 .../vta/tutorials/frontend/sg_execution_times.html |   6 +-
 .../vta/tutorials/optimize/sg_execution_times.html |   6 +-
 docs/topic/vta/tutorials/sg_execution_times.html   |   6 +-
 docs/tutorial/auto_scheduler_matmul_x86.html       |   5 +-
 docs/tutorial/autotvm_matmul_x86.html              |  20 +-
 docs/tutorial/autotvm_relay_x86.html               | 258 +++++-----
 docs/tutorial/cross_compilation_and_rpc.html       |   2 +-
 docs/tutorial/intro_topi.html                      |   2 +-
 docs/tutorial/sg_execution_times.html              |  26 +-
 docs/tutorial/tensor_expr_get_started.html         |  46 +-
 301 files changed, 1590 insertions(+), 2173 deletions(-)

diff --git a/docs/_sources/how_to/compile_models/from_mxnet.rst.txt b/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
index 3c6bd737d..adf8923bd 100644
--- a/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
@@ -114,7 +114,7 @@ In this section, we download a pretrained imagenet model and classify an image.
 
  .. code-block:: none
 
-    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip51464a44-d7a5-4c85-a9b0-3ab112eaf7c4 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip93ed7a0b-5677-4712-be0f-76ae9eb7d94a from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
     x (1, 3, 224, 224)
 
 
diff --git a/docs/_sources/how_to/compile_models/from_oneflow.rst.txt b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
index a8fed2d9a..5ad530888 100644
--- a/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
@@ -112,7 +112,7 @@ Load a pretrained OneFlow model and save model
  .. code-block:: none
 
     Downloading: "https://oneflow-public.oss-cn-beijing.aliyuncs.com/model_zoo/flowvision/classification/ResNet/resnet18.zip" to /workspace/.oneflow/flowvision_cache/resnet18.zip
-
      0%|          | 0.00/41.5M [00:00<?, ?B/s]
      0%|          | 16.0k/41.5M [00:00<08:07, 89.1kB/s]
      0%|          | 48.0k/41.5M [00:00<05:07, 141kB/s] 
      0%|          | 80.0k/41.5M [00:00<04:35, 158kB/s]
      0%|          | 136k/41.5M [00:00<03:18, 218kB/s] 
      1%|          | 288k/41.5M [00:00<01:37, 443kB/s]
      1%|1         | 584k/41.5M [00:01<00:50, 851kB/s]
      2%|2         | 920k/41.5M [00:01<00:35, 1.18MB/s]
      3%|3         | 1.25M/41.5M [00:01<00:29, 1.44MB/s]
      4%|3         | 1.62M/41.5M [00:01<00:25, 1.64MB/s]
      5%|4         | 2.00M/41.5M [00:01<00:22, 1.81MB/s]
      6%|5         | 2.41M/41.5M [00:02<00:20, 1.96MB/s]
      7%|6         | 2.84M/41.5M [00:02<00:19, 2.11MB/s]
      8%|7         | 3.28M/41.5M [00:02<00:17, 2.23MB/s]
      9%|9         | 3.75M/41.5M [00:02<00:16, 2.36MB/s]
     10%|#         | 4.24M/41.5M [00:02<00:15, 2.49MB/s]
     11%|#1        | 4.76M/41.5M [00:02<00:14, 2.62MB/s]
     13%|#2        | 5.30M/41.5M [00:03<00:
 13, 2.77MB/s]
     14%|#4        | 5.88M/41.5M [00:03<00:12, 2.91MB/s]
     16%|#5        | 6.47M/41.5M [00:03<00:12, 3.05MB/s]
     17%|#7        | 7.09M/41.5M [00:03<00:11, 3.20MB/s]
     19%|#8        | 7.76M/41.5M [00:03<00:10, 3.37MB/s]
     20%|##        | 8.45M/41.5M [00:04<00:09, 3.53MB/s]
     22%|##2       | 9.15M/41.5M [00:04<00:09, 3.67MB/s]
     24%|##3       | 9.88M/41.5M [00:04<00:08, 3.81MB/s]
     26%|##5       | 10.6M/41.5M [00:04<00:08, 3.94MB/s]
     28%|##7       | 11.4M/41.5M [00:04<00:07, 4.10MB/s]
     29%|##9       | 12.2M/41.5M [00:04<00:07, 4.26MB/s]
     32%|###1      | 13.1M/41.5M [00:05<00:06, 4.42MB/s]
     34%|###3      | 14.0M/41.5M [00:05<00:06, 4.61MB/s]
     36%|###5      | 14.9M/41.5M [00:05<00:05, 4.78MB/s]
     38%|###8      | 15.8M/41.5M [00:05<00:04, 5.56MB/s]
     41%|####      | 16.8M/41.5M [00:05<00:04, 6.15MB/s]
     42%|####2     | 17.4M/41.5M [00:05<00:04, 5.90MB/s]
     43%|####3     | 18.0M/41.5M [00:06<00:04, 5.05MB/s]
     46%|####5
      | 19.0M/41.5M [00:06<00:03, 5.92MB/s]
     49%|####8     | 20.1M/41.5M [00:06<00:03, 6.82MB/s]
     50%|#####     | 20.8M/41.5M [00:06<00:03, 6.52MB/s]
     52%|#####1    | 21.5M/41.5M [00:06<00:03, 5.53MB/s]
     54%|#####4    | 22.6M/41.5M [00:06<00:02, 6.70MB/s]
     58%|#####7    | 23.9M/41.5M [00:06<00:02, 7.52MB/s]
     59%|#####9    | 24.7M/41.5M [00:07<00:02, 7.37MB/s]
     61%|######1   | 25.4M/41.5M [00:07<00:02, 6.24MB/s]
     64%|######4   | 26.7M/41.5M [00:07<00:02, 7.71MB/s]
     68%|######7   | 28.2M/41.5M [00:07<00:01, 7.94MB/s]
     71%|#######1  | 29.7M/41.5M [00:07<00:01, 9.44MB/s]
     74%|#######3  | 30.6M/41.5M [00:07<00:01, 8.52MB/s]
     76%|#######5  | 31.5M/41.5M [00:07<00:01, 7.33MB/s]
     79%|#######8  | 32.6M/41.5M [00:08<00:01, 7.37MB/s]
     82%|########2 | 34.1M/41.5M [00:08<00:01, 7.69MB/s]
     86%|########5 | 35.5M/41.5M [00:08<00:00, 7.88MB/s]
     89%|########9 | 37.0M/41.5M [00:08<00:00, 8.03MB/s]
     93%|#########2| 38.5M/41.5M [00:08<00
 :00, 8.13MB/s]
     96%|#########6| 39.9M/41.5M [00:09<00:00, 8.18MB/s]
    100%|#########9| 41.4M/41.5M [00:09<00:00, 8.23MB/s]
    100%|##########| 41.5M/41.5M [00:09<00:00, 4.71MB/s]
+
      0%|          | 0.00/41.5M [00:00<?, ?B/s]
      0%|          | 16.0k/41.5M [00:00<07:36, 95.2kB/s]
      0%|          | 48.0k/41.5M [00:00<04:48, 151kB/s] 
      0%|          | 104k/41.5M [00:00<03:06, 233kB/s] 
      0%|          | 208k/41.5M [00:00<01:52, 384kB/s]
      1%|          | 424k/41.5M [00:00<01:00, 706kB/s]
      2%|2         | 856k/41.5M [00:01<00:31, 1.34MB/s]
      3%|3         | 1.42M/41.5M [00:01<00:20, 2.06MB/s]
      5%|4         | 2.04M/41.5M [00:01<00:15, 2.60MB/s]
      6%|6         | 2.69M/41.5M [00:01<00:13, 3.01MB/s]
      8%|8         | 3.35M/41.5M [00:01<00:10, 3.69MB/s]
      9%|9         | 3.86M/41.5M [00:01<00:09, 4.05MB/s]
     10%|#         | 4.27M/41.5M [00:01<00:10, 3.84MB/s]
     11%|#1        | 4.77M/41.5M [00:02<00:09, 4.01MB/s]
     13%|#2        | 5.25M/41.5M [00:02<00:08, 4.27MB/s]
     14%|#3        | 5.68M/41.5M [00:02<00:09, 4.02MB/s]
     15%|#5        | 6.30M/41.5M [00:02<00:08, 4.49MB/s]
     16%|#6        | 6.84M/41.5M [00:02<00
 :07, 4.77MB/s]
     18%|#7        | 7.30M/41.5M [00:02<00:08, 4.44MB/s]
     19%|#9        | 8.00M/41.5M [00:02<00:07, 4.99MB/s]
     21%|##        | 8.55M/41.5M [00:02<00:06, 5.19MB/s]
     22%|##1       | 9.05M/41.5M [00:02<00:07, 4.83MB/s]
     24%|##3       | 9.87M/41.5M [00:03<00:05, 5.57MB/s]
     25%|##5       | 10.5M/41.5M [00:03<00:05, 5.74MB/s]
     27%|##6       | 11.0M/41.5M [00:03<00:06, 5.32MB/s]
     29%|##8       | 11.9M/41.5M [00:03<00:05, 6.17MB/s]
     30%|###       | 12.5M/41.5M [00:03<00:04, 6.20MB/s]
     32%|###1      | 13.1M/41.5M [00:03<00:05, 5.77MB/s]
     34%|###4      | 14.2M/41.5M [00:03<00:04, 6.82MB/s]
     36%|###5      | 14.8M/41.5M [00:03<00:04, 6.83MB/s]
     37%|###7      | 15.5M/41.5M [00:03<00:04, 6.35MB/s]
     40%|####      | 16.6M/41.5M [00:04<00:03, 6.77MB/s]
     43%|####3     | 17.9M/41.5M [00:04<00:03, 7.20MB/s]
     46%|####6     | 19.3M/41.5M [00:04<00:03, 7.59MB/s]
     50%|####9     | 20.7M/41.5M [00:04<00:02, 8.80MB/s]
     52%|####
 #2    | 21.6M/41.5M [00:04<00:02, 8.60MB/s]
     54%|#####4    | 22.4M/41.5M [00:04<00:02, 8.07MB/s]
     57%|#####7    | 23.7M/41.5M [00:04<00:02, 9.18MB/s]
     59%|#####9    | 24.6M/41.5M [00:05<00:01, 8.93MB/s]
     61%|######1   | 25.4M/41.5M [00:05<00:02, 8.35MB/s]
     64%|######4   | 26.6M/41.5M [00:05<00:01, 7.93MB/s]
     68%|######7   | 28.1M/41.5M [00:05<00:01, 8.27MB/s]
     71%|#######1  | 29.5M/41.5M [00:05<00:01, 8.48MB/s]
     75%|#######4  | 31.0M/41.5M [00:05<00:01, 8.61MB/s]
     78%|#######8  | 32.5M/41.5M [00:06<00:01, 8.70MB/s]
     82%|########1 | 33.9M/41.5M [00:06<00:00, 8.77MB/s]
     85%|########5 | 35.4M/41.5M [00:06<00:00, 8.81MB/s]
     89%|########8 | 36.9M/41.5M [00:06<00:00, 9.10MB/s]
     92%|#########2| 38.3M/41.5M [00:06<00:00, 9.02MB/s]
     96%|#########5| 39.8M/41.5M [00:06<00:00, 8.98MB/s]
     99%|#########9| 41.3M/41.5M [00:07<00:00, 8.70MB/s]
    100%|##########| 41.5M/41.5M [00:07<00:00, 6.13MB/s]
 
 
 
diff --git a/docs/_sources/how_to/compile_models/from_paddle.rst.txt b/docs/_sources/how_to/compile_models/from_paddle.rst.txt
index 07f8a0e9f..90f8e460f 100644
--- a/docs/_sources/how_to/compile_models/from_paddle.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_paddle.rst.txt
@@ -235,7 +235,7 @@ Look up prediction top 1 index in 1000 class synset.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  6.399 seconds)
+   **Total running time of the script:** ( 1 minutes  7.564 seconds)
 
 
 .. _sphx_glr_download_how_to_compile_models_from_paddle.py:
diff --git a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
index 8470f6409..8ebb92805 100644
--- a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
@@ -93,7 +93,7 @@ Load a pretrained PyTorch model
  .. 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]
     32%|###1      | 14.1M/44.7M [00:00<00:00, 148MB/s]
     78%|#######7  | 34.6M/44.7M [00:00<00:00, 188MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 189MB/s]
+
      0%|          | 0.00/44.7M [00:00<?, ?B/s]
     37%|###7      | 16.6M/44.7M [00:00<00:00, 174MB/s]
     88%|########7 | 39.3M/44.7M [00:00<00:00, 211MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 210MB/s]
 
 
 
diff --git a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
index 98bab9980..c19764304 100644
--- a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
@@ -422,7 +422,7 @@ Run the corresponding model on tensorflow
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  2.709 seconds)
+   **Total running time of the script:** ( 1 minutes  4.387 seconds)
 
 
 .. _sphx_glr_download_how_to_compile_models_from_tensorflow.py:
diff --git a/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt b/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
index 40a8ea631..dd8487773 100644
--- a/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
@@ -5,26 +5,26 @@
 
 Computation times
 =================
-**05:39.204** total execution time for **how_to_compile_models** files:
+**05:28.251** total execution time for **how_to_compile_models** files:
 
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)         | 01:06.399 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)         | 01:07.564 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:02.709 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:04.387 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)       | 00:57.760 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)       | 00:58.525 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)         | 00:37.852 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)       | 00:32.587 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)       | 00:35.331 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)         | 00:23.992 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)           | 00:22.454 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)           | 00:23.037 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)         | 00:21.264 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)         | 00:21.629 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)       | 00:19.102 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)       | 00:19.432 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)           | 00:13.978 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)           | 00:14.676 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)             | 00:02.355 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)             | 00:02.422 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt b/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
index 5f0302b9b..492d84e7c 100644
--- a/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
@@ -440,7 +440,7 @@ Execute on TVM
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      16.3524      16.3525      16.8470      15.8259       0.2984   
+      16.7883      16.7733      16.9013      16.6767       0.0700   
                
 
 
diff --git a/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt b/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
index a7c7c020c..a09a466fc 100644
--- a/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
@@ -122,7 +122,7 @@ Load pre-trained maskrcnn from torchvision and do tracing
  .. code-block:: none
 
     Downloading: "https://download.pytorch.org/models/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth" to /workspace/.cache/torch/hub/checkpoints/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth
-
      0%|          | 0.00/170M [00:00<?, ?B/s]
      3%|3         | 5.44M/170M [00:00<00:03, 56.9MB/s]
      8%|8         | 13.7M/170M [00:00<00:02, 74.1MB/s]
     19%|#8        | 31.5M/170M [00:00<00:01, 125MB/s] 
     30%|##9       | 50.8M/170M [00:00<00:00, 156MB/s]
     41%|####1     | 70.0M/170M [00:00<00:00, 172MB/s]
     53%|#####2    | 89.4M/170M [00:00<00:00, 183MB/s]
     64%|######4   | 109M/170M [00:00<00:00, 189MB/s] 
     75%|#######5  | 128M/170M [00:00<00:00, 193MB/s]
     87%|########6 | 147M/170M [00:00<00:00, 196MB/s]
     98%|#########7| 166M/170M [00:01<00:00, 197MB/s]
    100%|##########| 170M/170M [00:01<00:00, 175MB/s]
+
      0%|          | 0.00/170M [00:00<?, ?B/s]
      6%|5         | 9.85M/170M [00:00<00:01, 103MB/s]
     14%|#4        | 24.3M/170M [00:00<00:01, 131MB/s]
     26%|##5       | 43.7M/170M [00:00<00:00, 164MB/s]
     35%|###4      | 59.4M/170M [00:00<00:00, 152MB/s]
     44%|####4     | 74.8M/170M [00:00<00:00, 155MB/s]
     53%|#####2    | 89.7M/170M [00:00<00:00, 149MB/s]
     61%|######1   | 104M/170M [00:00<00:00, 129MB/s] 
     69%|######8   | 117M/170M [00:00<00:00, 124MB/s]
     76%|#######6  | 129M/170M [00:01<00:00, 127MB/s]
     84%|########4 | 143M/170M [00:01<00:00, 132MB/s]
     93%|#########2| 157M/170M [00:01<00:00, 136MB/s]
    100%|##########| 170M/170M [00:01<00:00, 127MB/s]
     /usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3878: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
       for i in range(dim)
     /usr/local/lib/python3.7/dist-packages/torchvision/models/detection/anchor_utils.py:127: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
@@ -291,7 +291,7 @@ Get boxes with score larger than 0.9
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  52.534 seconds)
+   **Total running time of the script:** ( 2 minutes  53.656 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_object_detection_pytorch.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
index 0103e9d40..d4450c116 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
@@ -219,7 +219,7 @@ training. Other models require a full post training calibration.
  .. code-block:: none
 
     Downloading: "https://download.pytorch.org/models/mobilenet_v2-b0353104.pth" to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2-b0353104.pth
-
      0%|          | 0.00/13.6M [00:00<?, ?B/s]
     19%|#8        | 2.56M/13.6M [00:00<00:00, 26.9MB/s]
     40%|###9      | 5.37M/13.6M [00:00<00:00, 28.3MB/s]
     70%|######9   | 9.47M/13.6M [00:00<00:00, 35.0MB/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 38.7MB/s]
+
      0%|          | 0.00/13.6M [00:00<?, ?B/s]
     18%|#7        | 2.38M/13.6M [00:00<00:00, 24.6MB/s]
     36%|###5      | 4.88M/13.6M [00:00<00:00, 24.6MB/s]
     57%|#####6    | 7.69M/13.6M [00:00<00:00, 26.7MB/s]
     76%|#######5  | 10.2M/13.6M [00:00<00:00, 21.6MB/s]
     92%|#########1| 12.4M/13.6M [00:00<00:00, 20.3MB/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 22.1MB/s]
 
 
 
@@ -399,7 +399,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      90.2008      90.1679      90.9741      89.8930       0.1842   
+      90.4044      90.3407      93.6237      90.1909       0.3723   
                
 
 
@@ -448,7 +448,7 @@ TODO
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  6.156 seconds)
+   **Total running time of the script:** ( 1 minutes  6.882 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_prequantized.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt b/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
index ff39d19df..64523010f 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
@@ -426,7 +426,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      117.5799     117.4638     120.0842     116.0641      0.8241   
+      121.1691     121.0770     128.1146     120.3657      0.7814   
                
 
 
@@ -463,7 +463,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  58.136 seconds)
+   **Total running time of the script:** ( 1 minutes  56.703 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_prequantized_tflite.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
index 772452393..87f8e9d8b 100644
--- a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
@@ -254,7 +254,7 @@ We create a Relay VM to build and execute the model.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  22.164 seconds)
+   **Total running time of the script:** ( 1 minutes  15.905 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_quantized.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt b/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt
index 3444f06f1..8b90c79d0 100644
--- a/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt
@@ -157,7 +157,7 @@ Convert and compile model for CPU.
             data: None
       input_sym_arg_type = in_param.infer_type()[0]
     Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
-
      0%|          | 0/132723 [00:00<?, ?KB/s]
      2%|1         | 2353/132723 [00:00<00:05, 23527.72KB/s]
      5%|5         | 7068/132723 [00:00<00:03, 37420.08KB/s]
     11%|#1        | 14768/132723 [00:00<00:02, 55488.80KB/s]
     18%|#7        | 23304/132723 [00:00<00:01, 67279.22KB/s]
     24%|##4       | 31873/132723 [00:00<00:01, 73914.16KB/s]
     31%|###       | 40538/132723 [00:00<00:01, 78242.73KB/s]
     37%|###7      | 49221/132723 [00:00<00:01, 81045.11KB/s]
     44%|####3     | 57869/132723 [00:00<00:00, 82772.00KB/s]
     50%|#####     | 66490/132723 [00:00<00:00, 83844.64KB/s]
     57%|#####6    | 75176/132723 [00:01<00:00, 84773.26KB/s]
     63%|######3   | 83826/132723 [00:01<00:00, 85298.54KB/s]
     70%|######9   | 92483/132723 [00:01<00:00, 85683.65KB/s]
     76%|#######6  | 101130/132723 [00:01<00:00, 85918.96KB/s]
     83%|########2 | 109793/132723 [00:01<00:00, 86130.14KB/s]
     89%|########9 | 118407/132723 [00:01<00:00, 71394.63KB/s]
     96%|#########
 5| 127031/132723 [00:01<00:00, 75298.31KB/s]
    100%|##########| 132723/132723 [00:01<00:00, 76226.39KB/s]
+
      0%|          | 0/132723 [00:00<?, ?KB/s]
      2%|2         | 2869/132723 [00:00<00:04, 28684.08KB/s]
      7%|6         | 9186/132723 [00:00<00:02, 48962.52KB/s]
     12%|#2        | 15973/132723 [00:00<00:02, 57593.78KB/s]
     16%|#6        | 21817/132723 [00:00<00:01, 57924.20KB/s]
     21%|##        | 27623/132723 [00:00<00:01, 57970.84KB/s]
     25%|##5       | 33421/132723 [00:00<00:02, 47189.54KB/s]
     29%|##8       | 38426/132723 [00:00<00:02, 40702.26KB/s]
     32%|###2      | 42797/132723 [00:00<00:02, 40842.03KB/s]
     38%|###7      | 50410/132723 [00:01<00:01, 50170.37KB/s]
     44%|####3     | 58363/132723 [00:01<00:01, 58217.91KB/s]
     49%|####8     | 64503/132723 [00:01<00:01, 57283.47KB/s]
     53%|#####3    | 70451/132723 [00:01<00:01, 48443.86KB/s]
     59%|#####8    | 77804/132723 [00:01<00:01, 54739.08KB/s]
     63%|######3   | 83660/132723 [00:01<00:00, 52097.21KB/s]
     69%|######8   | 91092/132723 [00:01<00:00, 57886.26KB/s]
     74%|#######4  | 
 98729/132723 [00:01<00:00, 62898.53KB/s]
     80%|########  | 106378/132723 [00:01<00:00, 66693.20KB/s]
     86%|########5 | 114089/132723 [00:02<00:00, 69653.65KB/s]
     91%|#########1| 121215/132723 [00:02<00:00, 69652.90KB/s]
     97%|#########7| 128901/132723 [00:02<00:00, 71750.53KB/s]
    100%|##########| 132723/132723 [00:02<00:00, 57799.59KB/s]
 
 
 
@@ -240,7 +240,7 @@ Display result
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  14.992 seconds)
+   **Total running time of the script:** ( 2 minutes  17.589 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_ssd_gluoncv.py:
diff --git a/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt b/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
index 3cc45f82e..d7a4f1a3f 100644
--- a/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
@@ -5,22 +5,22 @@
 
 Computation times
 =================
-**10:24.184** total execution time for **how_to_deploy_models** files:
+**10:22.488** total execution time for **how_to_deploy_models** files:
 
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 02:52.534 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 02:53.656 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)                           | 02:14.992 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)                           | 02:17.589 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)           | 01:58.136 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)           | 01:56.703 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)                               | 01:22.164 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)                               | 01:15.905 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)                         | 01:06.156 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)                         | 01:06.882 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)                 | 00:28.221 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)                 | 00:29.176 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)                       | 00:21.976 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)                       | 00:22.570 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``)                                     | 00:00.006 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt b/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
index 4cce039fb..9f9a83d99 100644
--- a/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
@@ -463,7 +463,7 @@ First let us define two helper functions to get the mobilenet model and a cat im
 
  .. code-block:: none
 
-    Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip8a98665c-13ab-4d37-9f03-7407aaa86eaa from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+    Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip286d5692-200d-4f72-9f8c-d759971054ae from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
 
 
 
@@ -577,7 +577,7 @@ Now, to actually convert the entire network, we have written `a pass in Relay <h
 
     /workspace/python/tvm/driver/build_module.py:264: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-      Check failed: (lower) is false: FloatImm lowering function for target llvm type 150 not found
+      Check failed: (lower) is false: Intrinsic lowering function for target llvm, intrinsic name tir.sqrt, type 150 not found
 
 
 
diff --git a/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt b/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
index 335268aee..594f1830d 100644
--- a/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
@@ -5,14 +5,14 @@
 
 Computation times
 =================
-**00:39.255** total execution time for **how_to_extend_tvm** files:
+**00:39.780** total execution time for **how_to_extend_tvm** files:
 
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``) | 00:36.184 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``) | 00:36.635 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)           | 00:02.179 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)           | 00:02.214 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)                     | 00:00.886 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)                     | 00:00.924 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``)       | 00:00.006 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt b/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
index 4bb902f7e..92fac1c4c 100644
--- a/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
@@ -215,10 +215,10 @@ profile the execution time of each passes.
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 6705us [6705us] (45.55%; 45.55%)
-    FoldScaleAxis: 8014us [5us] (54.45%; 54.45%)
-            FoldConstant: 8008us [1601us] (54.41%; 99.93%)
-                    InferType: 6407us [6407us] (43.53%; 80.01%)
+    InferType: 6650us [6650us] (45.56%; 45.56%)
+    FoldScaleAxis: 7946us [5us] (54.44%; 54.44%)
+            FoldConstant: 7941us [1600us] (54.40%; 99.93%)
+                    InferType: 6340us [6340us] (43.44%; 79.85%)
 
 
 
@@ -257,10 +257,10 @@ Refer to following sections and :py:func:`tvm.instrument.pass_instrument` for th
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 6337us [6337us] (44.80%; 44.80%)
-    FoldScaleAxis: 7809us [5us] (55.20%; 55.20%)
-            FoldConstant: 7804us [1577us] (55.17%; 99.94%)
-                    InferType: 6227us [6227us] (44.02%; 79.79%)
+    InferType: 6712us [6712us] (46.12%; 46.12%)
+    FoldScaleAxis: 7840us [5us] (53.88%; 53.88%)
+            FoldConstant: 7835us [1643us] (53.84%; 99.94%)
+                    InferType: 6192us [6192us] (42.55%; 79.03%)
 
 
 
diff --git a/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt b/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
index feebbd165..b53e50195 100644
--- a/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
@@ -327,7 +327,7 @@ latency of convolution.
 
  .. code-block:: none
 
-    Convolution: 54.105643 ms
+    Convolution: 36.508513 ms
 
 
 
diff --git a/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt b/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
index 2e6d10a90..6dbd0ef8d 100644
--- a/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
@@ -658,7 +658,7 @@ be able to run on our build server
 
  .. code-block:: none
 
-    conv2d with tensor core: 9.228341 ms
+    conv2d with tensor core: 13.361142 ms
 
 
 
diff --git a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
index 3cdc32aaa..6e1ddd93e 100644
--- a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
@@ -130,8 +130,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 
  .. code-block:: none
 
-    Numpy running time: 0.018333
-    Baseline: 3.438295
+    Numpy running time: 0.018618
+    Baseline: 3.425947
 
 
 
@@ -226,7 +226,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 
  .. code-block:: none
 
-    Opt1: 0.300797
+    Opt1: 0.297899
 
 
 
@@ -329,7 +329,7 @@ In this tutorial, we chose to vectorize the inner loop row data since it is cach
 
  .. code-block:: none
 
-    Opt2: 0.329375
+    Opt2: 0.335597
 
 
 
@@ -425,7 +425,7 @@ the access pattern for A matrix is more cache friendly.
 
  .. code-block:: none
 
-    Opt3: 0.116742
+    Opt3: 0.119677
 
 
 
@@ -550,7 +550,7 @@ flattening.
 
  .. code-block:: none
 
-    Opt4: 0.110503
+    Opt4: 0.110711
 
 
 
@@ -672,7 +672,7 @@ write to C when all the block results are ready.
 
  .. code-block:: none
 
-    Opt5: 0.111406
+    Opt5: 0.111777
 
 
 
@@ -797,7 +797,7 @@ Futhermore, we can also utilize multi-core processors to do the thread-level par
 
  .. code-block:: none
 
-    Opt6: 0.145185
+    Opt6: 0.145677
 
 
 
diff --git a/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt b/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
index 4dfc644db..01ac5e21b 100644
--- a/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
@@ -5,12 +5,12 @@
 
 Computation times
 =================
-**00:34.464** total execution time for **how_to_optimize_operators** files:
+**00:34.658** total execution time for **how_to_optimize_operators** files:
 
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)                       | 00:32.169 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)                       | 00:32.272 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.257 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.362 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)             | 00:01.039 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)             | 00:01.025 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
index 2691b8520..0df40373e 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
@@ -5,18 +5,18 @@
 
 Computation times
 =================
-**05:13.322** total execution time for **how_to_tune_with_autoscheduler** files:
+**05:11.455** total execution time for **how_to_tune_with_autoscheduler** files:
 
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 02:37.780 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 02:33.566 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)             | 01:19.702 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)             | 01:20.484 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)           | 00:42.738 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)           | 00:42.894 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)               | 00:16.421 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)               | 00:17.379 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)           | 00:08.377 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)           | 00:08.627 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)             | 00:08.303 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)             | 00:08.505 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt
index d22aa9f1b..6e0bed39e 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt
@@ -239,219 +239,75 @@ cooperative fetching, unrolling and operator fusion.
                  compute: Buffer(compute_2: Pointer(float32), float32, [25088], [])}
       buffer_map = {data_1: data, kernel_1: kernel, bias_1: bias, compute_1: compute}
       preflattened_buffer_map = {data_1: data_3: Buffer(data_2, float32, [1, 512, 7, 7], []), kernel_1: kernel_3: Buffer(kernel_2, float32, [512, 512, 3, 3], []), bias_1: bias_3: Buffer(bias_2, float32, [1, 512, 1, 1], []), compute_1: compute_3: Buffer(compute_2, float32, [1, 512, 7, 7], [])} {
-      attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 224;
-      allocate(conv2d_nchw: Pointer(local float32), float32, [2]), storage_scope = local;
+      attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 56;
+      allocate(conv2d_nchw: Pointer(local float32), float32, [14]), storage_scope = local;
       allocate(pad_temp.shared: Pointer(shared float32), float32, [216]), storage_scope = shared;
-      allocate(kernel.shared: Pointer(shared float32), float32, [1152]), storage_scope = shared;
-      attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56 {
-        conv2d_nchw_1: Buffer(conv2d_nchw, float32, [2], [], scope="local", align=8)[0] = 0f32
+      allocate(kernel.shared: Pointer(shared float32), float32, [4608]), storage_scope = shared;
+      attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 32 {
+        conv2d_nchw_1: Buffer(conv2d_nchw, float32, [14], [], scope="local", align=32)[0] = 0f32
         conv2d_nchw_1[1] = 0f32
+        conv2d_nchw_1[2] = 0f32
+        conv2d_nchw_1[3] = 0f32
+        conv2d_nchw_1[4] = 0f32
+        conv2d_nchw_1[5] = 0f32
+        conv2d_nchw_1[6] = 0f32
+        conv2d_nchw_1[7] = 0f32
+        conv2d_nchw_1[8] = 0f32
+        conv2d_nchw_1[9] = 0f32
+        conv2d_nchw_1[10] = 0f32
+        conv2d_nchw_1[11] = 0f32
+        conv2d_nchw_1[12] = 0f32
+        conv2d_nchw_1[13] = 0f32
         for (rc.outer.outer: int32, 0, 64) {
-          let cse_var_2: int32 = (rc.outer.outer*392)
-          let cse_var_1: int32 = (rc.outer.outer*72)
+          let cse_var_1: int32 = (rc.outer.outer*392)
            {
-            attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            pad_temp.shared_1: Buffer(pad_temp.shared, float32, [216], [], scope="shared")[threadIdx.x_1] = @tir.if_then_else(((((3 <= floormod(threadIdx.x_1, 27)) && (floormod(threadIdx.x_1, 27) < 24)) && (1 <= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)))) && ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) < 8)), data[(((((cse_var_2 + (floordiv(threadIdx.x_1, 27)*49)) + (floordiv(floormod(threadIdx.x_1, 27), 3)*7)) + floormod(blockIdx.x, 7)) + floormod(threadIdx.x_1,  [...]
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            pad_temp.shared_1[(threadIdx.x_1 + 56)] = @tir.if_then_else(((((3 <= floormod((threadIdx.x_1 + 56), 27)) && (floormod((threadIdx.x_1 + 2), 27) < 24)) && (1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) < 8)), data[(((((cse_var_2 + (floordiv((threadIdx.x_1 + 56), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 2), 27), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 2), 3)) - 8)], [...]
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            pad_temp.shared_1[(threadIdx.x_1 + 112)] = @tir.if_then_else(((((3 <= floormod((threadIdx.x_1 + 112), 27)) && (floormod((threadIdx.x_1 + 4), 27) < 24)) && (1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)) < 8)), data[(((((cse_var_2 + (floordiv((threadIdx.x_1 + 112), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 4), 27), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 1), 3)) - 8 [...]
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            if @tir.likely((threadIdx.x_1 < 48), dtype=bool) {
-              pad_temp.shared_1[(threadIdx.x_1 + 168)] = @tir.if_then_else(((((1 <= floormod((floordiv(threadIdx.x_1, 3) + 2), 9)) && (floormod((threadIdx.x_1 + 6), 27) < 24)) && (1 <= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)))) && ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) < 8)), data[(((((cse_var_2 + (floordiv((threadIdx.x_1 + 168), 27)*49)) + (floormod((floordiv(threadIdx.x_1, 3) + 2), 9)*7)) + floormod(blockIdx.x, 7)) + floormod(threadIdx.x_1, 3)) - 8)], 0f3 [...]
+            attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 32;
+            pad_temp.shared_1: Buffer(pad_temp.shared, float32, [216], [], scope="shared")[threadIdx.x_1] = @tir.if_then_else(((((1 <= (floordiv(floormod(threadIdx.x_1, 27), 9) + floormod(blockIdx.x, 7))) && ((floordiv(floormod(threadIdx.x_1, 27), 9) + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), data[(((((cse_var_1 + (floordiv(threadIdx.x_1, 27)*49)) + (floordiv(floormod(threadIdx.x_1, 27), 9)*7)) + (floormod(blockIdx.x, 7)*7 [...]
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 32;
+            pad_temp.shared_1[(threadIdx.x_1 + 32)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 32), 27), 9) + floormod(blockIdx.x, 7))) && ((floordiv(floormod((threadIdx.x_1 + 32), 27), 9) + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod((threadIdx.x_1 + 5), 9))) && (floormod((threadIdx.x_1 + 5), 9) < 8)), data[(((((cse_var_1 + (floordiv((threadIdx.x_1 + 32), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 5), 27), 9)*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(( [...]
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 32;
+            pad_temp.shared_1[(threadIdx.x_1 + 64)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 64), 27), 9) + floormod(blockIdx.x, 7))) && ((floordiv(floormod((threadIdx.x_1 + 64), 27), 9) + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod((threadIdx.x_1 + 1), 9))) && (floormod((threadIdx.x_1 + 1), 9) < 8)), data[(((((cse_var_1 + (floordiv((threadIdx.x_1 + 64), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 10), 27), 9)*7)) + (floormod(blockIdx.x, 7)*7)) + floormod( [...]
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 32;
+            pad_temp.shared_1[(threadIdx.x_1 + 96)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 96), 27), 9) + floormod(blockIdx.x, 7))) && ((floordiv(floormod((threadIdx.x_1 + 96), 27), 9) + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod((threadIdx.x_1 + 6), 9))) && (floormod((threadIdx.x_1 + 6), 9) < 8)), data[(((((cse_var_1 + (floordiv((threadIdx.x_1 + 96), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 15), 27), 9)*7)) + (floormod(blockIdx.x, 7)*7)) + floormod( [...]
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 32;
+            pad_temp.shared_1[(threadIdx.x_1 + 128)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 128), 27), 9) + floormod(blockIdx.x, 7))) && ((floordiv(floormod((threadIdx.x_1 + 128), 27), 9) + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod((threadIdx.x_1 + 2), 9))) && (floormod((threadIdx.x_1 + 2), 9) < 8)), data[(((((cse_var_1 + (floordiv((threadIdx.x_1 + 128), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 20), 27), 9)*7)) + (floormod(blockIdx.x, 7)*7)) + floor [...]
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 32;
+            pad_temp.shared_1[(threadIdx.x_1 + 160)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 160), 27), 9) + floormod(blockIdx.x, 7))) && ((floordiv(floormod((threadIdx.x_1 + 160), 27), 9) + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod((threadIdx.x_1 + 7), 9))) && (floormod((threadIdx.x_1 + 7), 9) < 8)), data[(((((cse_var_1 + (floordiv((threadIdx.x_1 + 160), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 25), 27), 9)*7)) + (floormod(blockIdx.x, 7)*7)) + floor [...]
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 32;
+            if @tir.likely((threadIdx.x_1 < 24), dtype=bool) {
+              pad_temp.shared_1[(threadIdx.x_1 + 192)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 192), 27), 9) + floormod(blockIdx.x, 7))) && ((floordiv(floormod((threadIdx.x_1 + 192), 27), 9) + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod((threadIdx.x_1 + 3), 9))) && (floormod((threadIdx.x_1 + 3), 9) < 8)), data[(((((cse_var_1 + (floordiv((threadIdx.x_1 + 192), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 30), 27), 9)*7)) + (floormod(blockIdx.x, 7)*7)) + flo [...]
             }
-            attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1: Buffer(kernel.shared, float32, [1152], [], scope="shared")[threadIdx.x_2] = kernel[(((floordiv(blockIdx.x, 7)*73728) + cse_var_1) + threadIdx.x_2)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 56)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 7), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 112)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 14), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 168)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 21), 9)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 24)*3)) + floormod(threadIdx.x_2, 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 28), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 224), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 280)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 35), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 280), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 336)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 42), 9)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 24)*3)) + floormod(threadIdx.x_2, 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 49), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 392), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 56), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 448), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 504)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + cse_var_1) + (floordiv(threadIdx.x_2, 3)*3)) + floormod(threadIdx.x_2, 3)) + 32256)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 560)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 70), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 560), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 616)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 77), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 616), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 84), 9)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 24)*3)) + floormod(threadIdx.x_2, 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 728)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 91), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 728), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 784)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 98), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 784), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 840)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 105), 9)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 24)*3)) + floormod(threadIdx.x_2, 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 112), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 896), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 952)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 119), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 952), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1008)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + cse_var_1) + (floordiv(threadIdx.x_2, 3)*3)) + floormod(threadIdx.x_2, 3)) + 64512)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1064)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 133), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1064), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            if @tir.likely((threadIdx.x_2 < 32), dtype=bool) {
-              kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 140), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1120), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+            for (ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer: int32, 0, 72) {
+              attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 32;
+              kernel.shared_1: Buffer(kernel.shared, float32, [4608], [], scope="shared")[ramp(((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer*64) + (threadIdx.x_2*2)), 1, 2)] = kernel[ramp(((((floordiv(blockIdx.x, 7)*294912) + (floordiv(((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer*64) + (threadIdx.x_2*2)), 72)*4608)) + (rc.outer.outer*72)) + floormod(((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer*64) + (threadIdx.x_2*2)), 72)), 1, 2)]
+            }
+            for (rc.outer.inner: int32, 0, 4) {
+              for (ff.outer.inner: int32, 0, 2) {
+                for (xx.outer.inner: int32, 0, 7) {
+                  for (rc.inner: int32, 0, 2) {
+                    let cse_var_3: int32 = ((ff.outer.inner*7) + xx.outer.inner)
+                    let cse_var_2: int32 = (((rc.outer.inner*54) + (rc.inner*27)) + xx.outer.inner)
+                     {
+                      conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[cse_var_2]*kernel.shared_1[((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9))]))
+                      conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 1)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 1)]))
+                      conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 2)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 2)]))
+                      conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 9)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 3)]))
+                      conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 10)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 4)]))
+                      conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 11)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 5)]))
+                      conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 18)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 6)]))
+                      conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 19)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 7)]))
+                      conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 20)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 8)]))
+                    }
+                  }
+                }
+              }
             }
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[(floordiv(threadIdx.x, 7)*144)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 72)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 75)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 6)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 78)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 9)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 81)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 12)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 84)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 15)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 87)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 18)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 90)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 21)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 93)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 24)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 96)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 27)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 99)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 30)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 102)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 33)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 105)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 73)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 4)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 76)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 7)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 79)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 10)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 82)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 13)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 85)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 16)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 88)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 19)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 91)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 22)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 94)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 25)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 97)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 28)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 100)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 31)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 103)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 34)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 106)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 74)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 5)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 77)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 8)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 80)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 11)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 83)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 14)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 86)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 17)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 89)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 20)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 92)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 23)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 95)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 26)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 98)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 29)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 101)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 32)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 104)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 35)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 107)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 108)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 36)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 108)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 108)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 111)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 39)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 111)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 111)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 114)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 42)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 114)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 114)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 135)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 45)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 135)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 117)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 138)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 48)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 138)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 120)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 141)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 51)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 141)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 123)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 162)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 54)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 162)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 126)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 165)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 57)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 165)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 129)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 60)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 132)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 63)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 135)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 192)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 66)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 192)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 138)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 195)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 69)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 195)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 141)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 109)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 37)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 109)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 109)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 112)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 40)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 112)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 112)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 115)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 43)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 115)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 115)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 136)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 46)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 136)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 118)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 139)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 49)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 139)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 121)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 142)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 52)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 142)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 124)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 163)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 55)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 163)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 127)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 166)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 58)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 166)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 130)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 61)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 133)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 64)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 136)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 193)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 67)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 193)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 139)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 196)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 70)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 196)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 142)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 110)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 38)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 110)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 110)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 113)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 41)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 113)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 113)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 116)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 44)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 116)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 116)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 137)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 47)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 137)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 119)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 140)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 50)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 140)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 122)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 143)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 53)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 143)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 125)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 164)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 56)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 164)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 128)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 167)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 59)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 167)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 131)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 62)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 134)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 65)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 137)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 194)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 68)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 194)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 140)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 197)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 71)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 197)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 143)]))
           }
         }
         for (i1.inner: int32, 0, 2) {
-          compute[(((((floordiv(blockIdx.x, 7)*784) + (floordiv(threadIdx.x, 7)*98)) + (i1.inner*49)) + (floormod(threadIdx.x, 7)*7)) + floormod(blockIdx.x, 7))] = max((conv2d_nchw_1[i1.inner] + bias[(((floordiv(blockIdx.x, 7)*16) + (floordiv(threadIdx.x, 7)*2)) + i1.inner)]), 0f32)
+          for (i3.inner: int32, 0, 7) {
+            compute[(((((floordiv(blockIdx.x, 7)*3136) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + i3.inner)] = max((conv2d_nchw_1[((i1.inner*7) + i3.inner)] + bias[(((floordiv(blockIdx.x, 7)*64) + (threadIdx.x*2)) + i1.inner)]), 0f32)
+          }
         }
       }
     }
@@ -506,7 +362,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 0.320 ms
+    Execution time of this operator: 0.342 ms
 
 
 
@@ -554,35 +410,35 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     conv2d_nchw_nn_o_o_i, conv2d_nchw_nn_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_i, factor=1)
     conv2d_nchw_nn_o_o_o_i, conv2d_nchw_nn_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_i, factor=1)
     conv2d_nchw_nn_o_o_o_o, conv2d_nchw_nn_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_o_i, factor=1)
-    conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=2)
-    conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=1)
-    conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=8)
+    conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=1)
+    conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=2)
+    conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=32)
     conv2d_nchw_ff_o_o_o_o, conv2d_nchw_ff_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_o_i, factor=1)
     conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=1)
     conv2d_nchw_yy_o_o_i, conv2d_nchw_yy_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_i, factor=1)
-    conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_i, factor=7)
+    conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_i, factor=1)
     conv2d_nchw_yy_o_o_o_o, conv2d_nchw_yy_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_o_i, factor=1)
     conv2d_nchw_xx_o_i, conv2d_nchw_xx_i = s[conv2d_nchw].split(conv2d_nchw_xx, factor=1)
-    conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=1)
+    conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=7)
     conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=1)
     conv2d_nchw_xx_o_o_o_o, conv2d_nchw_xx_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_o_i, factor=1)
-    conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=4)
-    conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=2)
+    conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=2)
+    conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=4)
     conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=3)
     conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=1)
-    conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=1)
-    conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=3)
+    conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=3)
+    conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=1)
     s[conv2d_nchw].reorder(conv2d_nchw_nn_o_o_o_o, conv2d_nchw_ff_o_o_o_o, conv2d_nchw_yy_o_o_o_o, conv2d_nchw_xx_o_o_o_o, conv2d_nchw_nn_o_o_o_i, conv2d_nchw_ff_o_o_o_i, conv2d_nchw_yy_o_o_o_i, conv2d_nchw_xx_o_o_o_i, conv2d_nchw_nn_o_o_i, conv2d_nchw_ff_o_o_i, conv2d_nchw_yy_o_o_i, conv2d_nchw_xx_o_o_i, conv2d_nchw_rc_o_o, conv2d_nchw_ry_o_o, conv2d_nchw_rx_o_o, conv2d_nchw_rc_o_i, conv2d_nchw_ry_o_i, conv2d_nchw_rx_o_i, conv2d_nchw_nn_o_i, conv2d_nchw_ff_o_i, conv2d_nchw_yy_o_i, conv2 [...]
     compute_i0_o_i, compute_i0_i = s[compute].split(compute_i0, factor=1)
     compute_i0_o_o_i, compute_i0_o_i = s[compute].split(compute_i0_o_i, factor=1)
     compute_i0_o_o_o, compute_i0_o_o_i = s[compute].split(compute_i0_o_o_i, factor=1)
     compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=2)
-    compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=8)
+    compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=32)
     compute_i1_o_o_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=1)
     compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, factor=1)
-    compute_i2_o_o_i, compute_i2_o_i = s[compute].split(compute_i2_o_i, factor=7)
+    compute_i2_o_o_i, compute_i2_o_i = s[compute].split(compute_i2_o_i, factor=1)
     compute_i2_o_o_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=1)
-    compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=1)
+    compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=7)
     compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=1)
     compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=1)
     s[compute].reorder(compute_i0_o_o_o, compute_i1_o_o_o, compute_i2_o_o_o, compute_i3_o_o_o, compute_i0_o_o_i, compute_i1_o_o_i, compute_i2_o_o_i, compute_i3_o_o_i, compute_i0_o_i, compute_i1_o_i, compute_i2_o_i, compute_i3_o_i, compute_i0_i, compute_i1_i, compute_i2_i, compute_i3_i)
@@ -601,16 +457,16 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     compute_i0_o_i_i1_o_i_fused_i2_o_i_fused_i3_o_i_fused = s[compute].fuse(compute_i0_o_i, compute_i1_o_i, compute_i2_o_i, compute_i3_o_i)
     s[compute].bind(compute_i0_o_i_i1_o_i_fused_i2_o_i_fused_i3_o_i_fused, te.thread_axis("threadIdx.x"))
     kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[kernel_shared].fuse(kernel_shared_ax0, kernel_shared_ax1, kernel_shared_ax2, kernel_shared_ax3)
-    kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
+    kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=2)
     s[kernel_shared].vectorize(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-    kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=56)
+    kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=32)
     s[kernel_shared].bind(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
     pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[pad_temp_shared].fuse(pad_temp_shared_ax0, pad_temp_shared_ax1, pad_temp_shared_ax2, pad_temp_shared_ax3)
     pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
     s[pad_temp_shared].vectorize(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-    pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=56)
+    pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=32)
     s[pad_temp_shared].bind(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
-    s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "auto_unroll_max_step", 1024)
+    s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "auto_unroll_max_step", 16)
     s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "unroll_explicit", True)
 
     CUDA source code:
@@ -628,191 +484,61 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
       #define int64_t long long
       #define uint64_t unsigned long long
     #endif
-    extern "C" __global__ void __launch_bounds__(56) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
-      float conv2d_nchw[2];
+    extern "C" __global__ void __launch_bounds__(32) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
+      float conv2d_nchw[14];
       __shared__ float pad_temp_shared[216];
-      __shared__ float kernel_shared[1152];
+      __shared__ float kernel_shared[4608];
       conv2d_nchw[0] = 0.000000e+00f;
       conv2d_nchw[1] = 0.000000e+00f;
+      conv2d_nchw[2] = 0.000000e+00f;
+      conv2d_nchw[3] = 0.000000e+00f;
+      conv2d_nchw[4] = 0.000000e+00f;
+      conv2d_nchw[5] = 0.000000e+00f;
+      conv2d_nchw[6] = 0.000000e+00f;
+      conv2d_nchw[7] = 0.000000e+00f;
+      conv2d_nchw[8] = 0.000000e+00f;
+      conv2d_nchw[9] = 0.000000e+00f;
+      conv2d_nchw[10] = 0.000000e+00f;
+      conv2d_nchw[11] = 0.000000e+00f;
+      conv2d_nchw[12] = 0.000000e+00f;
+      conv2d_nchw[13] = 0.000000e+00f;
       for (int rc_outer_outer = 0; rc_outer_outer < 64; ++rc_outer_outer) {
         __syncthreads();
-        pad_temp_shared[((int)threadIdx.x)] = (((((3 <= (((int)threadIdx.x) % 27)) && ((((int)threadIdx.x) % 27) < 24)) && (1 <= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)))) && (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) < 8)) ? data[((((((rc_outer_outer * 392) + ((((int)threadIdx.x) / 27) * 49)) + (((((int)threadIdx.x) % 27) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 56)] = (((((3 <= ((((int)threadIdx.x) + 2) % 27)) && (((((int)threadIdx.x) + 2) % 27) < 24)) && (1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) < 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 56) / 27) * 49)) + ((((((int)threadIdx.x) + 2) % 27) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) % 3)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 112)] = (((((3 <= ((((int)threadIdx.x) + 4) % 27)) && (((((int)threadIdx.x) + 4) % 27) < 24)) && (1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)) < 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 112) / 27) * 49)) + ((((((int)threadIdx.x) + 4) % 27) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 1) % 3)) - 8)] : 0.000000e+00f);
-        if (((int)threadIdx.x) < 48) {
-          pad_temp_shared[(((int)threadIdx.x) + 168)] = (((((1 <= (((((int)threadIdx.x) / 3) + 2) % 9)) && (((((int)threadIdx.x) + 6) % 27) < 24)) && (1 <= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)))) && (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) < 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 168) / 27) * 49)) + ((((((int)threadIdx.x) / 3) + 2) % 9) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[((int)threadIdx.x)] = (((((1 <= (((((int)threadIdx.x) % 27) / 9) + (((int)blockIdx.x) % 7))) && ((((((int)threadIdx.x) % 27) / 9) + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((int)threadIdx.x) % 9))) && ((((int)threadIdx.x) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((int)threadIdx.x) / 27) * 49)) + (((((int)threadIdx.x) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 32)] = (((((1 <= ((((((int)threadIdx.x) + 5) % 27) / 9) + (((int)blockIdx.x) % 7))) && (((((((int)threadIdx.x) + 5) % 27) / 9) + (((int)blockIdx.x) % 7)) < 8)) && (1 <= ((((int)threadIdx.x) + 5) % 9))) && (((((int)threadIdx.x) + 5) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 32) / 27) * 49)) + ((((((int)threadIdx.x) + 5) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)threadIdx.x) + 5) % 9)) - 8)] : 0.0 [...]
+        pad_temp_shared[(((int)threadIdx.x) + 64)] = (((((1 <= ((((((int)threadIdx.x) + 10) % 27) / 9) + (((int)blockIdx.x) % 7))) && (((((((int)threadIdx.x) + 10) % 27) / 9) + (((int)blockIdx.x) % 7)) < 8)) && (1 <= ((((int)threadIdx.x) + 1) % 9))) && (((((int)threadIdx.x) + 1) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 64) / 27) * 49)) + ((((((int)threadIdx.x) + 10) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)threadIdx.x) + 1) % 9)) - 8)] :  [...]
+        pad_temp_shared[(((int)threadIdx.x) + 96)] = (((((1 <= ((((((int)threadIdx.x) + 15) % 27) / 9) + (((int)blockIdx.x) % 7))) && (((((((int)threadIdx.x) + 15) % 27) / 9) + (((int)blockIdx.x) % 7)) < 8)) && (1 <= ((((int)threadIdx.x) + 6) % 9))) && (((((int)threadIdx.x) + 6) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 96) / 27) * 49)) + ((((((int)threadIdx.x) + 15) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)threadIdx.x) + 6) % 9)) - 8)] :  [...]
+        pad_temp_shared[(((int)threadIdx.x) + 128)] = (((((1 <= ((((((int)threadIdx.x) + 20) % 27) / 9) + (((int)blockIdx.x) % 7))) && (((((((int)threadIdx.x) + 20) % 27) / 9) + (((int)blockIdx.x) % 7)) < 8)) && (1 <= ((((int)threadIdx.x) + 2) % 9))) && (((((int)threadIdx.x) + 2) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 128) / 27) * 49)) + ((((((int)threadIdx.x) + 20) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)threadIdx.x) + 2) % 9)) - 8)]  [...]
+        pad_temp_shared[(((int)threadIdx.x) + 160)] = (((((1 <= ((((((int)threadIdx.x) + 25) % 27) / 9) + (((int)blockIdx.x) % 7))) && (((((((int)threadIdx.x) + 25) % 27) / 9) + (((int)blockIdx.x) % 7)) < 8)) && (1 <= ((((int)threadIdx.x) + 7) % 9))) && (((((int)threadIdx.x) + 7) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 160) / 27) * 49)) + ((((((int)threadIdx.x) + 25) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)threadIdx.x) + 7) % 9)) - 8)]  [...]
+        if (((int)threadIdx.x) < 24) {
+          pad_temp_shared[(((int)threadIdx.x) + 192)] = (((((1 <= ((((((int)threadIdx.x) + 3) % 27) / 9) + (((int)blockIdx.x) % 7))) && (((((((int)threadIdx.x) + 3) % 27) / 9) + (((int)blockIdx.x) % 7)) < 8)) && (1 <= ((((int)threadIdx.x) + 3) % 9))) && (((((int)threadIdx.x) + 3) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 192) / 27) * 49)) + ((((((int)threadIdx.x) + 3) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)threadIdx.x) + 3) % 9)) - 8)] : [...]
         }
-        kernel_shared[((int)threadIdx.x)] = kernel[((((((int)blockIdx.x) / 7) * 73728) + (rc_outer_outer * 72)) + ((int)threadIdx.x))];
-        kernel_shared[(((int)threadIdx.x) + 56)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 56) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 112)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 112) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 168)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 168) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 8) % 24) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 224)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 224) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 280)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 280) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 64) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 336)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 336) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 16) % 24) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 392)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 392) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 32) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 448)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 448) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 504)] = kernel[(((((((int)blockIdx.x) / 7) * 73728) + (rc_outer_outer * 72)) + ((int)threadIdx.x)) + 32256)];
-        kernel_shared[(((int)threadIdx.x) + 560)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 560) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 616)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 616) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 672)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 672) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 8) % 24) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 728)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 728) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 784)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 784) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 64) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 840)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 840) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 16) % 24) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 896)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 896) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 32) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 952)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 952) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[(((((((int)blockIdx.x) / 7) * 73728) + (rc_outer_outer * 72)) + ((int)threadIdx.x)) + 64512)];
-        kernel_shared[(((int)threadIdx.x) + 1064)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 1064) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        if (((int)threadIdx.x) < 32) {
-          kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 1120) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+        for (int ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer = 0; ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer < 72; ++ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer) {
+          *(float2*)(kernel_shared + ((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer * 64) + (((int)threadIdx.x) * 2))) = *(float2*)(kernel + (((((((int)blockIdx.x) / 7) * 294912) + ((((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer * 64) + (((int)threadIdx.x) * 2)) / 72) * 4608)) + (rc_outer_outer * 72)) + (((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer * 64) + (((int)threadIdx.x) * 2)) % 72)));
         }
         __syncthreads();
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[((((int)threadIdx.x) / 7) * 144)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 72)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 75)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 6)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 78)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 9)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 81)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 12)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 84)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 15)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 87)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 18)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 90)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 21)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 93)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 24)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 96)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 27)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 99)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 30)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 102)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 33)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 105)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 73)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 4)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 76)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 7)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 79)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 10)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 82)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 13)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 85)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 16)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 88)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 19)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 91)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 22)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 94)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 25)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 97)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 28)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 100)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 31)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 103)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 34)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 106)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 74)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 5)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 77)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 8)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 80)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 11)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 83)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 14)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 86)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 17)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 89)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 20)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 92)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 23)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 95)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 26)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 98)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 29)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 101)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 32)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 104)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 35)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 107)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 36)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 108)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 111)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 39)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 111)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 111)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 114)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 42)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 114)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 114)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 45)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 117)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 138)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 48)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 138)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 120)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 141)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 51)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 141)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 123)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 162)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 54)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 162)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 126)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 165)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 57)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 165)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 129)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 60)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 132)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 63)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 135)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 192)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 66)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 192)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 138)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 195)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 69)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 195)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 141)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 37)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 109)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 112)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 40)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 112)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 112)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 115)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 43)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 115)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 115)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 46)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 118)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 139)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 49)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 139)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 121)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 142)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 52)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 142)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 124)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 163)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 55)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 163)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 127)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 166)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 58)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 166)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 130)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 61)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 133)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 64)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 136)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 193)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 67)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 193)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 139)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 196)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 70)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 196)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 142)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 38)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 110)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 113)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 41)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 113)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 113)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 116)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 44)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 116)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 116)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 47)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 119)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 140)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 50)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 140)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 122)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 143)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 53)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 143)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 125)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 164)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 56)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 164)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 128)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 167)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 59)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 167)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 131)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 62)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 134)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 65)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 137)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 194)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 68)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 194)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 140)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 197)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 71)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 197)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 143)]));
+        for (int rc_outer_inner = 0; rc_outer_inner < 4; ++rc_outer_inner) {
+          for (int ff_outer_inner = 0; ff_outer_inner < 2; ++ff_outer_inner) {
+            for (int xx_outer_inner = 0; xx_outer_inner < 7; ++xx_outer_inner) {
+              for (int rc_inner = 0; rc_inner < 2; ++rc_inner) {
+                conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[(((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner)] * kernel_shared[((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9))]));
+                conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 1)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 1)]));
+                conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 2)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 2)]));
+                conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 9)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 3)]));
+                conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 10)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 4)]));
+                conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 11)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 5)]));
+                conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 18)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 6)]));
+                conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 19)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 7)]));
+                conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 20)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 8)]));
+              }
+            }
+          }
+        }
       }
       for (int i1_inner = 0; i1_inner < 2; ++i1_inner) {
-        compute[((((((((int)blockIdx.x) / 7) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + ((((int)threadIdx.x) % 7) * 7)) + (((int)blockIdx.x) % 7))] = max((conv2d_nchw[i1_inner] + bias[((((((int)blockIdx.x) / 7) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
+        for (int i3_inner = 0; i3_inner < 7; ++i3_inner) {
+          compute[((((((((int)blockIdx.x) / 7) * 3136) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + i3_inner)] = max((conv2d_nchw[((i1_inner * 7) + i3_inner)] + bias[((((((int)blockIdx.x) / 7) * 64) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
+        }
       }
     }
 
@@ -874,7 +600,7 @@ In the example below we resume the status and do more 5 trials.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  37.780 seconds)
+   **Total running time of the script:** ( 2 minutes  33.566 seconds)
 
 
 .. _sphx_glr_download_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py:
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
index 6d0744844..191bed539 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
@@ -646,7 +646,7 @@ so we can read the log file and load the best schedules.
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       9.6310       9.6329       9.6534       9.6065       0.0192   
+       9.6801       9.6508       9.7407       9.6489       0.0428   
                
 
 
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
index e9fd3b7a2..f2a90d408 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
@@ -665,7 +665,7 @@ so we can read the log file and load the best schedules.
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      756.0595     756.3135     756.5671     755.2978      0.5484   
+      768.4595     769.1067     769.3829     766.8890      1.1163   
                
 
 
@@ -693,7 +693,7 @@ Other Tips
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  19.702 seconds)
+   **Total running time of the script:** ( 1 minutes  20.484 seconds)
 
 
 .. _sphx_glr_download_how_to_tune_with_autoscheduler_tune_network_x86.py:
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt
index 5909c4ee7..20f5d7d52 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt
@@ -396,30 +396,76 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
                  placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [65536], []),
                  compute: Buffer(compute_2: Pointer(float32), float32, [65536], [])}
       buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute}
-      preflattened_buffer_map = {placeholder_9: placeholder_15: Buffer(placeholder_14, float32, [128, 512], []), placeholder_6: placeholder_16: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_5: placeholder_17: Buffer(placeholder_10, float32, [128, 256], []), placeholder_7: placeholder_18: Buffer(placeholder_12, int32, [4916], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_8: placeholder_19: Buffer(placeholder_13, int32, [33], [])} {
-      for (i0.outer.i1.outer.fused: int32, 0, 16) "parallel" {
-        allocate(compute_4: Pointer(global float32), float32, [4096]), storage_scope = global {
-          for (i.outer.inner: int32, 0, 8) {
-            for (nb_j.inner: int32, 0, 2) {
-              for (i.inner.init: int32, 0, 16) {
-                for (j.init: int32, 0, 16) {
-                  compute_5: Buffer(compute_4, float32, [4096], [])[((((i.outer.inner*512) + (i.inner.init*32)) + (nb_j.inner*16)) + j.init)] = 0f32
-                }
+      preflattened_buffer_map = {placeholder_7: placeholder_15: Buffer(placeholder_12, int32, [4916], []), placeholder_8: placeholder_16: Buffer(placeholder_13, int32, [33], []), placeholder_5: placeholder_17: Buffer(placeholder_10, float32, [128, 256], []), placeholder_9: placeholder_18: Buffer(placeholder_14, float32, [128, 512], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_6: placeholder_19: Buffer(placeholder_11, float32, [4916, 16, 1], [])} {
+      for (i0.outer.i1.outer.fused: int32, 0, 64) "parallel" {
+        allocate(compute_4: Pointer(global float32), float32, [1024]), storage_scope = global {
+          for (nb_j.inner: int32, 0, 2) {
+            for (i.inner.init: int32, 0, 32) {
+              let cse_var_1: int32 = ((i.inner.init*32) + (nb_j.inner*16))
+               {
+                compute_5: Buffer(compute_4, float32, [1024], [])[cse_var_1] = 0f32
+                compute_5[(cse_var_1 + 1)] = 0f32
+                compute_5[(cse_var_1 + 2)] = 0f32
+                compute_5[(cse_var_1 + 3)] = 0f32
+                compute_5[(cse_var_1 + 4)] = 0f32
+                compute_5[(cse_var_1 + 5)] = 0f32
+                compute_5[(cse_var_1 + 6)] = 0f32
+                compute_5[(cse_var_1 + 7)] = 0f32
+                compute_5[(cse_var_1 + 8)] = 0f32
+                compute_5[(cse_var_1 + 9)] = 0f32
+                compute_5[(cse_var_1 + 10)] = 0f32
+                compute_5[(cse_var_1 + 11)] = 0f32
+                compute_5[(cse_var_1 + 12)] = 0f32
+                compute_5[(cse_var_1 + 13)] = 0f32
+                compute_5[(cse_var_1 + 14)] = 0f32
+                compute_5[(cse_var_1 + 15)] = 0f32
               }
-              for (elem_idx: int32, 0, let cse_var_1: int32 = ((i0.outer.i1.outer.fused*2) + nb_j.inner) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
-                for (i.inner: int32, 0, 16) {
-                  for (j: int32, 0, 16) {
-                    let cse_var_3: int32 = ((i0.outer.i1.outer.fused*2) + nb_j.inner)
-                    let cse_var_2: int32 = ((((i.outer.inner*512) + (i.inner*32)) + (nb_j.inner*16)) + j)
-                    compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[(((i.outer.inner*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
-                  }
+            }
+            for (elem_idx: int32, 0, let cse_var_2: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_2 + 1)] - placeholder_3[cse_var_2])) {
+              for (i.inner: int32, 0, 32) {
+                let cse_var_21: int32 = (elem_idx*16)
+                let cse_var_20: int32 = ((i.inner*32) + (nb_j.inner*16))
+                let cse_var_19: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
+                let cse_var_18: int32 = ((floordiv(i0.outer.i1.outer.fused, 16)*8192) + (i.inner*256))
+                let cse_var_17: int32 = (cse_var_20 + 9)
+                let cse_var_16: int32 = (cse_var_20 + 8)
+                let cse_var_15: int32 = (cse_var_20 + 7)
+                let cse_var_14: int32 = (cse_var_20 + 6)
+                let cse_var_13: int32 = (cse_var_20 + 5)
+                let cse_var_12: int32 = (cse_var_20 + 4)
+                let cse_var_11: int32 = (cse_var_20 + 3)
+                let cse_var_10: int32 = (cse_var_20 + 2)
+                let cse_var_9: int32 = (cse_var_20 + 15)
+                let cse_var_8: int32 = (cse_var_20 + 14)
+                let cse_var_7: int32 = (cse_var_20 + 13)
+                let cse_var_6: int32 = (cse_var_20 + 12)
+                let cse_var_5: int32 = (cse_var_20 + 11)
+                let cse_var_4: int32 = (cse_var_20 + 10)
+                let cse_var_3: int32 = (cse_var_20 + 1)
+                 {
+                  compute_5[cse_var_20] = (compute_5[cse_var_20] + (placeholder_1[((placeholder_3[cse_var_19]*16) + cse_var_21)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_3] = (compute_5[cse_var_3] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 1)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_10] = (compute_5[cse_var_10] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 2)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_11] = (compute_5[cse_var_11] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 3)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_12] = (compute_5[cse_var_12] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 4)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_13] = (compute_5[cse_var_13] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 5)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_14] = (compute_5[cse_var_14] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 6)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_15] = (compute_5[cse_var_15] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 7)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_16] = (compute_5[cse_var_16] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 8)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_17] = (compute_5[cse_var_17] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 9)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 10)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_5] = (compute_5[cse_var_5] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 11)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_6] = (compute_5[cse_var_6] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 12)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_7] = (compute_5[cse_var_7] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 13)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_8] = (compute_5[cse_var_8] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 14)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_9] = (compute_5[cse_var_9] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 15)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
                 }
               }
             }
           }
-          for (i0.inner: int32, 0, 128) {
-            let cse_var_4: int32 = ((i0.inner*512) + (i0.outer.i1.outer.fused*32))
-            compute[ramp(cse_var_4, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_4, 1, 32)]), broadcast(0f32, 32))
+          for (i0.inner: int32, 0, 32) {
+            let cse_var_22: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*16384) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
+            compute[ramp(cse_var_22, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_22, 1, 32)]), broadcast(0f32, 32))
           }
         }
       }
@@ -475,7 +521,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 1.507 ms
+    Execution time of this operator: 1.760 ms
 
 
 
diff --git a/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt b/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
index a7fbc079e..18e9cc546 100644
--- a/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
@@ -5,12 +5,12 @@
 
 Computation times
 =================
-**00:43.359** total execution time for **how_to_tune_with_autotvm** files:
+**00:43.344** total execution time for **how_to_tune_with_autotvm** files:
 
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)           | 00:43.326 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)           | 00:43.310 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)               | 00:00.019 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)               | 00:00.021 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``)             | 00:00.005 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt b/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
index e232ebf88..10d4bf795 100644
--- a/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
@@ -879,8 +879,8 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 4, 32]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2885496
-    No: 6   GFLOPS: 98.03/98.03     result: MeasureResult(costs=(0.0023614614791666664,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.8400790691375732, timestamp=1655942741.669871)       [('tile_f', [-1, 1, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3754080
-    No: 7   GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+    No: 6   GFLOPS: 92.71/92.71     result: MeasureResult(costs=(0.002497149,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6585273742675781, timestamp=1655944695.6662278)        [('tile_f', [-1, 1, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3754080
+    No: 7   GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1003,7 +1003,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 16, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 256, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6225319
-    No: 8   GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+    No: 8   GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1126,7 +1126,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 1, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,943546
-    No: 9   GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+    No: 9   GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1249,7 +1249,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 16, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 32]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2868708
-    No: 10  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+    No: 10  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 142, in build
         res = future.result()
       File "/usr/lib/python3.7/concurrent/futures/_base.py", line 435, in result
@@ -1267,7 +1267,7 @@ for this template
     TimeoutError
 
             [('tile_f', [-1, 32, 2, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4691833
-    No: 11  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+    No: 11  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1390,7 +1390,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 2, 64]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1042124
-    No: 12  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+    No: 12  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1513,7 +1513,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 32, 1, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10013405
-    No: 13  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+    No: 13  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1636,7 +1636,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 8, 8, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 32]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6732082
-    No: 14  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+    No: 14  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1759,7 +1759,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 4, 32]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7536735
-    No: 15  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+    No: 15  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1882,7 +1882,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 1, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 128, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,482121
-    No: 16  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+    No: 16  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -2005,7 +2005,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 1, 16]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 32, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2824525
-    No: 17  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+    No: 17  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -2128,7 +2128,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 64, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4559286
-    No: 18  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+    No: 18  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -2251,7 +2251,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 32, 16]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 512]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9677544
-    No: 19  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+    No: 19  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 738, in __call__
         yield remote, remote.load_module(os.path.split(build_result.filename)[1])
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 702, in run_through_rpc
@@ -2339,7 +2339,7 @@ for this template
       15: _PyEval_EvalFrameDefault
       14: 0x0000000000537c30
       13: _PyObject_FastCallKeywords
-      12: 0x00007f8a7c458fa2
+      12: 0x00007fc014277fa2
       11: _ctypes_callproc
       10: ffi_call
       9: ffi_call_unix64
@@ -2404,7 +2404,7 @@ for this template
       21: _PyFunction_FastCallKeywords
       20: _PyEval_EvalFrameDefault
       19: _PyFunction_FastCall      [('tile_f', [-1, 8, 2, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6390073
-    No: 20  GFLOPS: 144.64/144.64   result: MeasureResult(costs=(0.00160057894,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4192841053009033, timestamp=1655942768.0792494)      [('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9881539
+    No: 20  GFLOPS: 143.70/143.70   result: MeasureResult(costs=(0.0016110570799999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4169394969940186, timestamp=1655944722.1775606)      [('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9881539
 
 
 
@@ -2461,7 +2461,7 @@ and measure running time.
     Best config:
     [('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9881539
     Finish loading 20 records
-    Time cost of this operator: 0.001965
+    Time cost of this operator: 0.002017
 
 
 
diff --git a/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt b/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
index 1a2285e28..da07302eb 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
@@ -328,10 +328,10 @@ Timing the untuned program
     ########## Build without Autotuning ##########
     Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  
     ---------                                     ---                                           --------  -------  -----              ------  -------  
-    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  321.2     98.752   (1, 2, 10, 10, 3)  2       1        
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.159     0.971    (1, 6, 10, 10)     1       1        
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.901     0.277    (1, 1, 10, 10, 3)  1       1        
-    Total_time                                    -                                             325.26    -        -                  -       -        
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  318.1     98.76    (1, 2, 10, 10, 3)  2       1        
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.073     0.954    (1, 6, 10, 10)     1       1        
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.921     0.286    (1, 1, 10, 10, 3)  1       1        
+    Total_time                                    -                                             322.094   -        -                  -       -        
 
 
 
@@ -397,10 +397,10 @@ Timing the tuned program
     ########## Build with Autotuning ##########
     Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  
     ---------                                     ---                                           --------  -------  -----              ------  -------  
-    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  79.3      96.78    (1, 6, 10, 10, 1)  2       1        
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.738     2.121    (1, 6, 10, 10)     1       1        
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.901     1.099    (1, 1, 10, 10, 3)  1       1        
-    Total_time                                    -                                             81.939    -        -                  -       -        
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  119.9     97.808   (1, 6, 10, 10, 1)  2       1        
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.772     1.445    (1, 6, 10, 10)     1       1        
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.915     0.747    (1, 1, 10, 10, 3)  1       1        
+    Total_time                                    -                                             122.587   -        -                  -       -        
 
 
 
diff --git a/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt b/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
index cf147448f..640220c40 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
@@ -225,7 +225,7 @@ take about **2 minutes** to download the Stanford Cars, while COCO 2017 validati
  .. code-block:: none
 
 
-    '/tmp/tmpcp0ji_kx/images/random'
+    '/tmp/tmpjkrvz0zh/images/random'
 
 
 
@@ -325,8 +325,8 @@ objects to other stuff? We can display some examples from our datasets using ``m
 
  .. code-block:: none
 
-    /tmp/tmpcp0ji_kx/images/target contains 8144 images
-    /tmp/tmpcp0ji_kx/images/random contains 5000 images
+    /tmp/tmpjkrvz0zh/images/target contains 8144 images
+    /tmp/tmpjkrvz0zh/images/random contains 5000 images
 
 
 
@@ -501,13 +501,13 @@ the time on our validation set).
  .. code-block:: none
 
     Epoch 1/3
-    328/328 - 55s - loss: 0.2334 - accuracy: 0.9186 - val_loss: 0.1534 - val_accuracy: 0.9573
+    328/328 - 55s - loss: 0.2108 - accuracy: 0.9274 - val_loss: 0.1708 - val_accuracy: 0.9517
     Epoch 2/3
-    328/328 - 52s - loss: 0.0967 - accuracy: 0.9640 - val_loss: 0.1297 - val_accuracy: 0.9626
+    328/328 - 52s - loss: 0.0969 - accuracy: 0.9656 - val_loss: 0.1204 - val_accuracy: 0.9607
     Epoch 3/3
-    328/328 - 52s - loss: 0.0702 - accuracy: 0.9733 - val_loss: 0.1740 - val_accuracy: 0.9449
+    328/328 - 52s - loss: 0.0626 - accuracy: 0.9777 - val_loss: 0.1102 - val_accuracy: 0.9649
 
-    <keras.callbacks.History object at 0x7ffa52471ed0>
+    <keras.callbacks.History object at 0x7f3c4933f490>
 
 
 
@@ -864,7 +864,7 @@ Arduino tutorial for how to do that `on GitHub <https://github.com/guberti/tvm-a
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 8 minutes  17.971 seconds)
+   **Total running time of the script:** ( 7 minutes  49.579 seconds)
 
 
 .. _sphx_glr_download_how_to_work_with_microtvm_micro_train.py:
diff --git a/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
index d43b0741d..2b9dd067b 100644
--- a/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
@@ -5,14 +5,14 @@
 
 Computation times
 =================
-**09:02.589** total execution time for **how_to_work_with_microtvm** files:
+**08:35.822** total execution time for **how_to_work_with_microtvm** files:
 
 +---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``)               | 08:17.971 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``)               | 07:49.579 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)         | 00:41.236 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)         | 00:42.697 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)             | 00:03.382 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)             | 00:03.546 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_work_with_microtvm_micro_ethosu.py` (``micro_ethosu.py``)             | 00:00.000 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
index ef0000d9f..7ee51ab41 100644
--- a/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
@@ -5,12 +5,12 @@
 
 Computation times
 =================
-**00:05.739** total execution time for **how_to_work_with_relay** files:
+**00:11.457** total execution time for **how_to_work_with_relay** files:
 
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``) | 00:04.235 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``) | 00:09.846 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)                   | 00:01.498 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)                   | 00:01.605 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``)       | 00:00.006 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt b/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
index ee29263a4..ce2c39a1c 100644
--- a/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
@@ -259,7 +259,7 @@ The following example customizes CUDA lowering rule for :code:`exp`.
  .. code-block:: none
 
 
-    <function my_cuda_math_rule at 0x7ff9af1fb4d0>
+    <function my_cuda_math_rule at 0x7f3baed37a70>
 
 
 
diff --git a/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
index 2caeb58df..fa5ccca7d 100644
--- a/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
@@ -5,22 +5,22 @@
 
 Computation times
 =================
-**00:04.008** total execution time for **how_to_work_with_schedules** files:
+**00:04.135** total execution time for **how_to_work_with_schedules** files:
 
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)                 | 00:01.857 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)                 | 00:01.924 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)                     | 00:00.967 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)                     | 00:00.984 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)                     | 00:00.515 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)                     | 00:00.531 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)                               | 00:00.500 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)                               | 00:00.522 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)                     | 00:00.096 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)                     | 00:00.101 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.033 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)                               | 00:00.028 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)                               | 00:00.026 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)               | 00:00.012 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)               | 00:00.013 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
index f49e041e7..0e60ec7be 100644
--- a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
@@ -346,7 +346,7 @@ The importing needs to happen before the tensorized GEMV being executed.
                  C: Buffer(C_2: Pointer(float32), float32, [524288], [])}
       buffer_map = {A_1: A, B_1: B, C_1: C}
       preflattened_buffer_map = {A_1: A_3: Buffer(A_2, float32, [1024, 64], []), B_1: B_3: Buffer(B_2, float32, [512, 64], []), C_1: C_3: Buffer(C_2, float32, [1024, 512], [])} {
-      attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmpt7buqa_a/input0.cc'\nsource_filename = \"/tmp/tmpt7buqa_a/input0.cc\"\ntarget datalayout = \"e-m:e-i64:64-f80:128-n8:16:32:64-S128\"\ntarget triple = \"x86_64-pc-linux-gnu\"\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = alloca float*, align 8\n  %8 = alloca float*, align 8\n  %9 = alloca floa [...]
+      attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmp69r97xk6/input0.cc'\nsource_filename = \"/tmp/tmp69r97xk6/input0.cc\"\ntarget datalayout = \"e-m:e-i64:64-f80:128-n8:16:32:64-S128\"\ntarget triple = \"x86_64-pc-linux-gnu\"\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = alloca float*, align 8\n  %8 = alloca float*, align 8\n  %9 = alloca floa [...]
       for (i, 0, 1024) {
         for (j.outer: int32, 0, 32) {
           @tir.call_extern("gemv_update", @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), C_2, ((i*512) + (j.outer*16)), 16, 2, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), A_2, (i*64), 64, 1, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), B_2, (j.outer*1024), 1024, 1, dtype=handle), 16, 64, 64, dtype=int32)
diff --git a/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
index dd618ec0b..a32544ff3 100644
--- a/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
 
 Computation times
 =================
-**00:20.274** total execution time for **topic_vta_tutorials_autotvm** files:
+**00:20.641** total execution time for **topic_vta_tutorials_autotvm** files:
 
 +---------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``) | 00:20.267 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``) | 00:20.635 | 0.0 MB |
 +---------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``)     | 00:00.007 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``)     | 00:00.006 | 0.0 MB |
 +---------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
index 3b8361e9d..d28010ead 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
@@ -291,7 +291,7 @@ The compilation steps are:
       DeprecationWarning,
     /workspace/vta/tutorials/frontend/deploy_classification.py:213: DeprecationWarning: legacy graph executor behavior of producing json / lib / params will be removed in the next release. Please see documents of tvm.contrib.graph_executor.GraphModule for the  new recommended usage.
       relay_prog, target=tvm.target.Target(target, host=env.target_host), params=params
-    resnet18_v1 inference graph built in 21.63s!
+    resnet18_v1 inference graph built in 22.45s!
 
 
 
diff --git a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
index 18b7099ed..1c1d5c568 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
@@ -335,7 +335,7 @@ The compilation steps are:
       "target_host parameter is going to be deprecated. "
     /workspace/python/tvm/relay/build_module.py:389: DeprecationWarning: Please use input parameter mod (tvm.IRModule) instead of deprecated parameter mod (tvm.relay.function.Function)
       DeprecationWarning,
-    yolov3-tiny inference graph built in 15.31s!
+    yolov3-tiny inference graph built in 15.71s!
 
 
 
diff --git a/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
index 99cbea629..be7e9047e 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
 
 Computation times
 =================
-**01:29.159** total execution time for **topic_vta_tutorials_frontend** files:
+**01:30.622** total execution time for **topic_vta_tutorials_frontend** files:
 
 +------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)           | 00:47.371 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)           | 00:47.893 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:41.788 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:42.729 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
index d566e425e..553de2fbf 100644
--- a/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
 
 Computation times
 =================
-**00:03.239** total execution time for **topic_vta_tutorials_optimize** files:
+**00:03.308** total execution time for **topic_vta_tutorials_optimize** files:
 
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)         | 00:02.845 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)         | 00:02.908 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.394 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.399 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
index a2d589a0a..61d1c764a 100644
--- a/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
 
 Computation times
 =================
-**00:00.696** total execution time for **topic_vta_tutorials** files:
+**00:00.747** total execution time for **topic_vta_tutorials** files:
 
 +---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.364 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.400 | 0.0 MB |
 +---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.332 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.346 | 0.0 MB |
 +---------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
index ed37e144c..3405e7e75 100644
--- a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
@@ -204,6 +204,13 @@ trials, we can load the best schedule from the log file and apply it.
 
 
 
+.. rst-class:: sphx-glr-script-out
+
+ .. code-block:: none
+
+
+    *E
+
 
 
 
@@ -327,7 +334,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 94.755 ms
+    Execution time of this operator: 93.935 ms
 
 
 
diff --git a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
index 8aab0c745..bc0e7a1ae 100644
--- a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
@@ -449,16 +449,16 @@ reduce variance, we take 5 measurements and average them.
     waiting for device...
     device available
     Get devices for measurement successfully!
-    No: 1   GFLOPS: 10.57/10.57     result: MeasureResult(costs=(0.0254053692,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5395205020904541, timestamp=1655941610.4351943)       [('tile_y', [-1, 1]), ('tile_x', [-1, 256])],None,80
-    No: 2   GFLOPS: 2.94/10.57      result: MeasureResult(costs=(0.091413413,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.599071979522705, timestamp=1655941612.0606012) [('tile_y', [-1, 4]), ('tile_x', [-1, 8])],None,32
-    No: 3   GFLOPS: 11.85/11.85     result: MeasureResult(costs=(0.022653018,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.563406229019165, timestamp=1655941613.0653546) [('tile_y', [-1, 64]), ('tile_x', [-1, 32])],None,56
-    No: 4   GFLOPS: 1.85/11.85      result: MeasureResult(costs=(0.1450981002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.4392733573913574, timestamp=1655941615.5496953)       [('tile_y', [-1, 1]), ('tile_x', [-1, 4])],None,20
-    No: 5   GFLOPS: 3.67/11.85      result: MeasureResult(costs=(0.0730459344,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3030979633331299, timestamp=1655941616.9786773)       [('tile_y', [-1, 256]), ('tile_x', [-1, 16])],None,48
-    No: 6   GFLOPS: 1.80/11.85      result: MeasureResult(costs=(0.14910837959999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.536480665206909, timestamp=1655941620.0471637) [('tile_y', [-1, 512]), ('tile_x', [-1, 4])],None,29
-    No: 7   GFLOPS: 0.88/11.85      result: MeasureResult(costs=(0.3066710872,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.027408838272095, timestamp=1655941625.6044042)        [('tile_y', [-1, 512]), ('tile_x', [-1, 2])],None,19
-    No: 8   GFLOPS: 10.65/11.85     result: MeasureResult(costs=(0.025208003200000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.540154218673706, timestamp=1655941626.1691077)        [('tile_y', [-1, 4]), ('tile_x', [-1, 64])],None,62
-    No: 9   GFLOPS: 1.86/11.85      result: MeasureResult(costs=(0.144243464,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.4063777923583984, timestamp=1655941628.6943977)        [('tile_y', [-1, 2]), ('tile_x', [-1, 2])],None,11
-    No: 10  GFLOPS: 2.61/11.85      result: MeasureResult(costs=(0.10270275979999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.749828577041626, timestamp=1655941630.5070891) [('tile_y', [-1, 4]), ('tile_x', [-1, 4])],None,22
+    No: 1   GFLOPS: 9.26/9.26       result: MeasureResult(costs=(0.028988358399999997,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5981018543243408, timestamp=1655943559.0746815)       [('tile_y', [-1, 1]), ('tile_x', [-1, 256])],None,80
+    No: 2   GFLOPS: 2.58/9.26       result: MeasureResult(costs=(0.10403746980000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.8229706287384033, timestamp=1655943561.4085934)        [('tile_y', [-1, 4]), ('tile_x', [-1, 8])],None,32
+    No: 3   GFLOPS: 11.80/11.80     result: MeasureResult(costs=(0.022747547599999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5628056526184082, timestamp=1655943562.4389913)       [('tile_y', [-1, 64]), ('tile_x', [-1, 32])],None,56
+    No: 4   GFLOPS: 1.45/11.80      result: MeasureResult(costs=(0.185653973,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.0816502571105957, timestamp=1655943565.572734) [('tile_y', [-1, 1]), ('tile_x', [-1, 4])],None,20
+    No: 5   GFLOPS: 3.62/11.80      result: MeasureResult(costs=(0.0742378928,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3276340961456299, timestamp=1655943567.026834)        [('tile_y', [-1, 256]), ('tile_x', [-1, 16])],None,48
+    No: 6   GFLOPS: 1.73/11.80      result: MeasureResult(costs=(0.15511346799999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.6493563652038574, timestamp=1655943569.7177162)        [('tile_y', [-1, 512]), ('tile_x', [-1, 4])],None,29
+    No: 7   GFLOPS: 0.82/11.80      result: MeasureResult(costs=(0.3260541364,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.365215063095093, timestamp=1655943575.62273)  [('tile_y', [-1, 512]), ('tile_x', [-1, 2])],None,19
+    No: 8   GFLOPS: 10.71/11.80     result: MeasureResult(costs=(0.0250617096,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5444152355194092, timestamp=1655943576.1878245)       [('tile_y', [-1, 4]), ('tile_x', [-1, 64])],None,62
+    No: 9   GFLOPS: 1.46/11.80      result: MeasureResult(costs=(0.1838032758,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.044788122177124, timestamp=1655943579.3512967)        [('tile_y', [-1, 2]), ('tile_x', [-1, 2])],None,11
+    No: 10  GFLOPS: 2.34/11.80      result: MeasureResult(costs=(0.114945683,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.944192886352539, timestamp=1655943581.3540277) [('tile_y', [-1, 4]), ('tile_x', [-1, 4])],None,22
 
 
 
diff --git a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
index 318b0be9e..280e8f6e1 100644
--- a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
@@ -314,7 +314,7 @@ standard deviation.
 
  .. code-block:: none
 
-    {'mean': 490.67851904001145, 'median': 490.798902250026, 'std': 0.42421151976039406}
+    {'mean': 494.4790784400084, 'median': 494.18279379999603, 'std': 0.7878404703124732}
 
 
 
@@ -550,31 +550,31 @@ the tuning data to.
 
     /workspace/python/tvm/driver/build_module.py:264: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:   17.55/  17.55 GFLOPS | Progress: (4/20) | 6.00 s
    [Task  1/25]  Current/Best:    6.12/  17.55 GFLOPS | Progress: (8/20) | 8.93 s
    [Task  1/25]  Current/Best:   11.56/  22.87 GFLOPS | Progress: (12/20) | 11.39 s
    [Task  1/25]  Current/Best:   16.03/  22.87 GFLOPS | Progress: (16/20) | 13.07 s
    [Task  1/25]  Current/Best:   11.63/  23.94 GFLOPS | Progress: (20/20) | 14.81 s Done.
-
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:   12.23/  13.10 GFLOPS | Progress: (4/20) | 3.78 s
    [Task  2/25]  Current/Best:   14.19/  18.48 GFLOPS | Progress: (8/20) | 5.09 s
    [Task  2/25]  Current/Best:   20.87/  20.87 GFLOPS | Progress: (12/20) | 6.39 s
    [Task  2/25]  Current/Best:   12.69/  20.87 GFLOPS | Progress: (16/20) | 7.64 s
    [Task  2/25]  Current/Best:   19.79/  20.87 GFLOPS | Progress: (20/20) | 9.24 s Done.
-
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  3/25]  Current/Best:    1.63/  10.59 GFLOPS | Progress: (4/20) | 5.78 s
    [Task  3/25]  Current/Best:   15.59/  16.88 GFLOPS | Progress: (8/20) | 7.70 s
    [Task  3/25]  Current/Best:   14.94/  16.88 GFLOPS | Progress: (12/20) | 9.44 s
    [Task  3/25]  Current/Best:    7.21/  23.78 GFLOPS | Progress: (16/20) | 11.32 s
    [Task  3/25]  Current/Best:   12.67/  23.78 GFLOPS | Progress: (20/20) | 15.86 s Done.
-
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:    9.56/  20.36 GFLOPS | Progress: (4/20) | 2.28 s
    [Task  4/25]  Current/Best:    6.87/  20.36 GFLOPS | Progress: (8/20) | 6.96 s
    [Task  4/25]  Current/Best:   22.47/  22.47 GFLOPS | Progress: (12/20) | 11.87 s
    [Task  4/25]  Current/Best:   17.43/  22.47 GFLOPS | Progress: (16/20) | 14.24 s
    [Task  4/25]  Current/Best:   13.43/  22.47 GFLOPS | Progress: (20/20) | 16.17 s Done.
-
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:    9.61/  10.34 GFLOPS | Progress: (4/20) | 2.50 s
    [Task  5/25]  Current/Best:   11.70/  12.73 GFLOPS | Progress: (8/20) | 4.55 s
    [Task  5/25]  Current/Best:   11.75/  18.08 GFLOPS | Progress: (12/20) | 7.73 s
    [Task  5/25]  Current/Best:   11.68/  22.83 GFLOPS | Progress: (16/20) | 9.14 s
    [Task  5/25]  Current/Best:   12.00/  22.83 GFLOPS | Progress: (20/20) | 10.99 s Done.
-
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:   12.24/  20.74 GFLOPS | Progress: (4/20) | 3.97 s
    [Task  6/25]  Current/Best:   19.07/  20.74 GFLOPS | Progress: (8/20) | 5.74 s
    [Task  6/25]  Current/Best:   13.31/  20.74 GFLOPS | Progress: (12/20) | 7.69 s
    [Task  6/25]  Current/Best:   20.01/  20.74 GFLOPS | Progress: (16/20) | 9.90 s
    [Task  6/25]  Current/Best:    3.72/  20.74 GFLOPS | Progress: (20/20) | 12.43 s Done.
-
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   10.29/  12.98 GFLOPS | Progress: (4/20) | 3.46 s
    [Task  7/25]  Current/Best:   20.29/  21.02 GFLOPS | Progress: (8/20) | 4.97 s
    [Task  7/25]  Current/Best:   15.50/  21.02 GFLOPS | Progress: (12/20) | 6.87 s
    [Task  7/25]  Current/Best:   12.27/  21.02 GFLOPS | Progress: (16/20) | 8.92 s
    [Task  7/25]  Current/Best:    6.29/  21.82 GFLOPS | Progress: (20/20) | 11.38 s Done.
-
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:    9.73/  13.75 GFLOPS | Progress: (4/20) | 2.89 s
    [Task  8/25]  Current/Best:    9.22/  13.75 GFLOPS | Progress: (8/20) | 7.91 s
    [Task  8/25]  Current/Best:   12.41/  13.75 GFLOPS | Progress: (12/20) | 14.37 s
    [Task  8/25]  Current/Best:   18.81/  18.81 GFLOPS | Progress: (16/20) | 16.44 s
    [Task  8/25]  Current/Best:   19.86/  19.86 GFLOPS | Progress: (20/20) | 23.44 s Done.
-
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:   14.33/  15.77 GFLOPS | Progress: (4/20) | 11.86 s
    [Task  9/25]  Current/Best:   23.55/  23.55 GFLOPS | Progress: (8/20) | 13.54 s
    [Task  9/25]  Current/Best:    8.28/  23.55 GFLOPS | Progress: (12/20) | 16.02 s
    [Task  9/25]  Current/Best:   18.01/  23.55 GFLOPS | Progress: (16/20) | 18.83 s
    [Task  9/25]  Current/Best:    8.99/  23.55 GFLOPS | Progress: (20/20) | 27.33 s
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:   18.27/  18.27 GFLOPS | Progress: (4/20) | 2.49 s
    [Task 10/25]  Current/Best:   15.54/  18.27 GFLOPS | Progress: (8/20) | 4.13 s
    [Task 10/25]  Current/Best:   12.31/  19.13 GFLOPS | Progress: (12/20) | 5.67 s
    [Task 10/25]  Current/Best:   19.10/  20.60 GFLOPS | Progress: (16/20) | 6.77 s
    [Task 10/25]  Current/Best:    8.87/  20.60 GFLOPS | Progress: (20/20
 ) | 8.29 s Done.
-
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   12.18/  18.16 GFLOPS | Progress: (4/20) | 3.28 s
    [Task 11/25]  Current/Best:   16.88/  18.16 GFLOPS | Progress: (8/20) | 6.07 s
    [Task 11/25]  Current/Best:   18.06/  18.16 GFLOPS | Progress: (12/20) | 8.09 s
    [Task 11/25]  Current/Best:   13.36/  21.18 GFLOPS | Progress: (16/20) | 11.01 s
    [Task 11/25]  Current/Best:   19.40/  21.57 GFLOPS | Progress: (20/20) | 13.08 s Done.
-
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:    7.83/  18.04 GFLOPS | Progress: (4/20) | 5.62 s
    [Task 12/25]  Current/Best:    5.19/  18.04 GFLOPS | Progress: (8/20) | 9.54 s
    [Task 12/25]  Current/Best:   18.98/  18.98 GFLOPS | Progress: (12/20) | 11.53 s
    [Task 12/25]  Current/Best:   15.44/  18.98 GFLOPS | Progress: (16/20) | 14.40 s
    [Task 12/25]  Current/Best:   15.09/  18.98 GFLOPS | Progress: (20/20) | 16.35 s Done.
-
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:    8.68/  17.20 GFLOPS | Progress: (4/20) | 3.68 s
    [Task 13/25]  Current/Best:   16.09/  21.07 GFLOPS | Progress: (8/20) | 6.24 s
    [Task 13/25]  Current/Best:   19.63/  21.39 GFLOPS | Progress: (12/20) | 9.30 s
    [Task 13/25]  Current/Best:   12.22/  21.39 GFLOPS | Progress: (16/20) | 12.75 s
    [Task 13/25]  Current/Best:   18.75/  21.39 GFLOPS | Progress: (20/20) | 15.06 s Done.
-
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:   13.60/  13.60 GFLOPS | Progress: (4/20) | 3.24 s
    [Task 14/25]  Current/Best:    6.12/  13.60 GFLOPS | Progress: (8/20) | 5.41 s
    [Task 14/25]  Current/Best:   20.76/  20.76 GFLOPS | Progress: (12/20) | 8.06 s
    [Task 14/25]  Current/Best:   16.68/  20.76 GFLOPS | Progress: (16/20) | 9.70 s Done.
-
    [Task 14/25]  Current/Best:   17.40/  20.76 GFLOPS | Progress: (20/20) | 11.42 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   16.09/  17.51 GFLOPS | Progress: (4/20) | 2.57 s
    [Task 15/25]  Current/Best:   14.31/  18.09 GFLOPS | Progress: (8/20) | 3.89 s
    [Task 15/25]  Current/Best:   10.42/  22.35 GFLOPS | Progress: (12/20) | 6.10 s
    [Task 15/25]  Current/Best:   20.25/  22.35 GFLOPS | Progress: (16/20) | 9.20 s
    [Task 15/25]  Current/Best:    9.72/  22.35 GFLOPS | Progress: (20/20) | 10.21 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:   20.73/  20.73 GFLOPS | Progress: (4/20) | 2.82 s
    [Task 16/25]  Current/Best:    3.04/  20.73 GFLOPS | Progress: (8/20) | 4.42 s
    [Task 16/25]  Current/Best:   19.60/  20.73 GFLOPS | Progress: (12/20) | 5.63 s
    [Task 16/25]  Current/Best:   17.81/  20.73 GFLOPS | Progress: (16/20) |
  7.00 s
    [Task 16/25]  Current/Best:    9.98/  22.06 GFLOPS | Progress: (20/20) | 9.13 s Done.
-
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   11.53/  18.83 GFLOPS | Progress: (4/20) | 4.72 s
    [Task 17/25]  Current/Best:   14.51/  23.39 GFLOPS | Progress: (8/20) | 7.59 s
    [Task 17/25]  Current/Best:   16.92/  23.39 GFLOPS | Progress: (12/20) | 9.63 s
    [Task 17/25]  Current/Best:   16.56/  23.39 GFLOPS | Progress: (16/20) | 11.82 s
    [Task 17/25]  Current/Best:   10.06/  23.39 GFLOPS | Progress: (20/20) | 13.96 s Done.
-
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:   11.26/  18.02 GFLOPS | Progress: (4/20) | 3.68 s
    [Task 18/25]  Current/Best:   10.46/  18.02 GFLOPS | Progress: (8/20) | 7.30 s
    [Task 18/25]  Current/Best:   19.23/  19.23 GFLOPS | Progress: (12/20) | 9.23 s
    [Task 18/25]  Current/Best:   10.10/  19.23 GFLOPS | Progress: (16/20) | 13.09 s
    [Task 18/25]  Current/Best:   20.85/  20.85 GFLOPS | Progress: (20/20) | 14.58 s Done.
-
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:    7.21/  20.47 GFLOPS | Progress: (4/20) | 6.03 s
    [Task 19/25]  Current/Best:    2.61/  20.47 GFLOPS | Progress: (8/20) | 9.40 s
    [Task 19/25]  Current/Best:   19.98/  21.72 GFLOPS | Progress: (12/20) | 12.38 s
    [Task 19/25]  Current/Best:   14.27/  22.27 GFLOPS | Progress: (16/20) | 15.39 s
    [Task 19/25]  Current/Best:    2.70/  23.86 GFLOPS | Progress: (20/20) | 18.23 s Done.
-
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:    8.46/  15.40 GFLOPS | Progress: (4/20) | 3.24 s Done.
+
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:   17.52/  17.52 GFLOPS | Progress: (4/20) | 5.62 s
    [Task  1/25]  Current/Best:    6.15/  17.52 GFLOPS | Progress: (8/20) | 9.10 s
    [Task  1/25]  Current/Best:   11.56/  22.68 GFLOPS | Progress: (12/20) | 11.58 s
    [Task  1/25]  Current/Best:   16.81/  22.68 GFLOPS | Progress: (16/20) | 13.27 s
    [Task  1/25]  Current/Best:   11.62/  23.87 GFLOPS | Progress: (20/20) | 15.00 s Done.
+
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:   12.15/  12.82 GFLOPS | Progress: (4/20) | 3.70 s
    [Task  2/25]  Current/Best:   14.28/  18.60 GFLOPS | Progress: (8/20) | 4.99 s
    [Task  2/25]  Current/Best:   21.04/  21.04 GFLOPS | Progress: (12/20) | 6.30 s
    [Task  2/25]  Current/Best:   11.94/  21.04 GFLOPS | Progress: (16/20) | 7.59 s
    [Task  2/25]  Current/Best:   18.23/  21.04 GFLOPS | Progress: (20/20) | 9.23 s Done.
+
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  3/25]  Current/Best:    1.63/  10.59 GFLOPS | Progress: (4/20) | 5.84 s
    [Task  3/25]  Current/Best:   15.56/  16.87 GFLOPS | Progress: (8/20) | 7.75 s
    [Task  3/25]  Current/Best:   14.90/  16.87 GFLOPS | Progress: (12/20) | 9.46 s
    [Task  3/25]  Current/Best:    7.21/  23.81 GFLOPS | Progress: (16/20) | 11.36 s
    [Task  3/25]  Current/Best:   12.59/  23.81 GFLOPS | Progress: (20/20) | 15.90 s Done.
+
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:    9.48/  20.27 GFLOPS | Progress: (4/20) | 2.34 s
    [Task  4/25]  Current/Best:    6.68/  20.27 GFLOPS | Progress: (8/20) | 7.02 s
    [Task  4/25]  Current/Best:   21.34/  21.34 GFLOPS | Progress: (12/20) | 12.02 s
    [Task  4/25]  Current/Best:   16.97/  21.34 GFLOPS | Progress: (16/20) | 14.43 s
    [Task  4/25]  Current/Best:   13.32/  21.34 GFLOPS | Progress: (20/20) | 16.41 s Done.
+
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:    9.57/  10.27 GFLOPS | Progress: (4/20) | 2.58 s
    [Task  5/25]  Current/Best:   11.53/  12.38 GFLOPS | Progress: (8/20) | 4.65 s
    [Task  5/25]  Current/Best:   11.23/  18.10 GFLOPS | Progress: (12/20) | 7.85 s
    [Task  5/25]  Current/Best:   11.66/  22.59 GFLOPS | Progress: (16/20) | 9.27 s
    [Task  5/25]  Current/Best:   12.03/  22.59 GFLOPS | Progress: (20/20) | 11.19 s Done.
+
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:   12.25/  20.71 GFLOPS | Progress: (4/20) | 4.08 s
    [Task  6/25]  Current/Best:   18.92/  20.71 GFLOPS | Progress: (8/20) | 5.84 s
    [Task  6/25]  Current/Best:   13.24/  20.71 GFLOPS | Progress: (12/20) | 7.81 s
    [Task  6/25]  Current/Best:   19.86/  20.71 GFLOPS | Progress: (16/20) | 10.05 s
    [Task  6/25]  Current/Best:    3.69/  20.71 GFLOPS | Progress: (20/20) | 12.56 s Done.
+
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   10.51/  12.70 GFLOPS | Progress: (4/20) | 3.57 s
    [Task  7/25]  Current/Best:   20.19/  20.85 GFLOPS | Progress: (8/20) | 5.10 s
    [Task  7/25]  Current/Best:   15.32/  20.85 GFLOPS | Progress: (12/20) | 7.03 s
    [Task  7/25]  Current/Best:   12.25/  20.85 GFLOPS | Progress: (16/20) | 9.09 s
    [Task  7/25]  Current/Best:    6.29/  21.70 GFLOPS | Progress: (20/20) | 11.55 s Done.
+
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:    9.72/  13.55 GFLOPS | Progress: (4/20) | 2.87 s
    [Task  8/25]  Current/Best:    9.22/  13.55 GFLOPS | Progress: (8/20) | 7.97 s
    [Task  8/25]  Current/Best:   12.47/  13.73 GFLOPS | Progress: (12/20) | 14.56 s
    [Task  8/25]  Current/Best:   18.98/  18.98 GFLOPS | Progress: (16/20) | 16.64 s
    [Task  8/25]  Current/Best:   19.78/  19.78 GFLOPS | Progress: (20/20) | 23.80 s Done.
+
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:   14.32/  15.66 GFLOPS | Progress: (4/20) | 11.92 s
    [Task  9/25]  Current/Best:   23.30/  23.30 GFLOPS | Progress: (8/20) | 13.70 s
    [Task  9/25]  Current/Best:    8.27/  23.30 GFLOPS | Progress: (12/20) | 16.27 s
    [Task  9/25]  Current/Best:   17.07/  23.30 GFLOPS | Progress: (16/20) | 19.20 s
    [Task  9/25]  Current/Best:    8.60/  23.30 GFLOPS | Progress: (20/20) | 28.68 s
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:   17.74/  17.74 GFLOPS | Progress: (4/20) | 2.68 s
    [Task 10/25]  Current/Best:   14.86/  17.74 GFLOPS | Progress: (8/20) | 4.48 s
    [Task 10/25]  Current/Best:   12.09/  17.74 GFLOPS | Progress: (12/20) | 6.21 s
    [Task 10/25]  Current/Best:   19.00/  19.00 GFLOPS | Progress: (16/20) | 7.41 s
    [Task 10/25]  Current/Best:    8.33/  19.00 GFLOPS | Progress: (20/20
 ) | 9.10 s Done.
+
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:    8.88/  17.09 GFLOPS | Progress: (4/20) | 3.64 s
    [Task 11/25]  Current/Best:   14.48/  17.09 GFLOPS | Progress: (8/20) | 6.92 s
    [Task 11/25]  Current/Best:   11.69/  17.09 GFLOPS | Progress: (12/20) | 9.24 s
    [Task 11/25]  Current/Best:   12.08/  18.90 GFLOPS | Progress: (16/20) | 12.45 s
    [Task 11/25]  Current/Best:   19.40/  21.46 GFLOPS | Progress: (20/20) | 14.74 s Done.
+
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:    7.54/  16.18 GFLOPS | Progress: (4/20) | 7.27 s
    [Task 12/25]  Current/Best:    3.86/  16.18 GFLOPS | Progress: (8/20) | 11.51 s
    [Task 12/25]  Current/Best:   18.79/  18.79 GFLOPS | Progress: (12/20) | 13.64 s
    [Task 12/25]  Current/Best:   14.85/  18.79 GFLOPS | Progress: (16/20) | 16.92 s
    [Task 12/25]  Current/Best:   14.16/  19.15 GFLOPS | Progress: (20/20) | 18.97 s Done.
+
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:    8.49/  17.29 GFLOPS | Progress: (4/20) | 4.17 s
    [Task 13/25]  Current/Best:   15.85/  20.81 GFLOPS | Progress: (8/20) | 6.76 s
    [Task 13/25]  Current/Best:   19.53/  21.43 GFLOPS | Progress: (12/20) | 9.80 s
    [Task 13/25]  Current/Best:   12.21/  21.43 GFLOPS | Progress: (16/20) | 13.28 s
    [Task 13/25]  Current/Best:   18.29/  21.43 GFLOPS | Progress: (20/20) | 15.59 s Done.
+
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:   13.53/  13.53 GFLOPS | Progress: (4/20) | 3.44 s
    [Task 14/25]  Current/Best:    6.00/  13.53 GFLOPS | Progress: (8/20) | 5.67 s
    [Task 14/25]  Current/Best:   20.37/  20.37 GFLOPS | Progress: (12/20) | 8.51 s
    [Task 14/25]  Current/Best:   16.66/  20.37 GFLOPS | Progress: (16/20) | 10.21 s Done.
+
    [Task 14/25]  Current/Best:   17.33/  20.37 GFLOPS | Progress: (20/20) | 11.97 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   16.21/  17.65 GFLOPS | Progress: (4/20) | 2.67 s
    [Task 15/25]  Current/Best:   14.28/  18.12 GFLOPS | Progress: (8/20) | 3.97 s
    [Task 15/25]  Current/Best:   10.38/  22.27 GFLOPS | Progress: (12/20) | 6.30 s
    [Task 15/25]  Current/Best:   20.37/  22.27 GFLOPS | Progress: (16/20) | 9.38 s
    [Task 15/25]  Current/Best:    9.69/  22.27 GFLOPS | Progress: (20/20) | 10.40 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:   20.33/  20.33 GFLOPS | Progress: (4/20) | 2.91 s
    [Task 16/25]  Current/Best:    3.03/  20.33 GFLOPS | Progress: (8/20) | 4.53 s
    [Task 16/25]  Current/Best:   19.34/  20.33 GFLOPS | Progress: (12/20) | 5.75 s
    [Task 16/25]  Current/Best:   17.65/  20.33 GFLOPS | Progress: (16/20) |
  7.13 s
    [Task 16/25]  Current/Best:   10.01/  21.94 GFLOPS | Progress: (20/20) | 9.29 s Done.
+
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   13.08/  18.72 GFLOPS | Progress: (4/20) | 4.76 s
    [Task 17/25]  Current/Best:   14.44/  23.23 GFLOPS | Progress: (8/20) | 7.56 s
    [Task 17/25]  Current/Best:   16.84/  23.23 GFLOPS | Progress: (12/20) | 9.61 s
    [Task 17/25]  Current/Best:   16.56/  23.23 GFLOPS | Progress: (16/20) | 11.83 s
    [Task 17/25]  Current/Best:   10.04/  23.23 GFLOPS | Progress: (20/20) | 13.99 s Done.
+
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:   11.24/  16.35 GFLOPS | Progress: (4/20) | 3.78 s
    [Task 18/25]  Current/Best:   10.56/  18.73 GFLOPS | Progress: (8/20) | 7.45 s
    [Task 18/25]  Current/Best:   19.21/  19.21 GFLOPS | Progress: (12/20) | 9.37 s
    [Task 18/25]  Current/Best:   10.01/  19.21 GFLOPS | Progress: (16/20) | 13.26 s
    [Task 18/25]  Current/Best:   20.67/  20.67 GFLOPS | Progress: (20/20) | 14.78 s Done.
+
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:    7.09/  20.10 GFLOPS | Progress: (4/20) | 6.12 s
    [Task 19/25]  Current/Best:    2.60/  20.10 GFLOPS | Progress: (8/20) | 9.53 s
    [Task 19/25]  Current/Best:   18.89/  21.04 GFLOPS | Progress: (12/20) | 12.48 s
    [Task 19/25]  Current/Best:   14.56/  21.90 GFLOPS | Progress: (16/20) | 15.53 s
    [Task 19/25]  Current/Best:    2.70/  23.56 GFLOPS | Progress: (20/20) | 18.38 s Done.
+
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:    9.24/  14.92 GFLOPS | Progress: (4/20) | 3.31 s Done.
      Done.
-
    [Task 20/25]  Current/Best:    9.71/  15.40 GFLOPS | Progress: (8/20) | 6.63 s
    [Task 20/25]  Current/Best:    2.32/  16.55 GFLOPS | Progress: (12/20) | 10.49 s
    [Task 20/25]  Current/Best:   12.41/  16.55 GFLOPS | Progress: (16/20) | 14.20 s
    [Task 20/25]  Current/Best:   12.20/  22.30 GFLOPS | Progress: (20/20) | 16.30 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 21/25]  Current/Best:    6.42/  17.54 GFLOPS | Progress: (4/20) | 3.19 s
    [Task 21/25]  Current/Best:   14.63/  17.54 GFLOPS | Progress: (8/20) | 4.78 s
    [Task 21/25]  Current/Best:    1.61/  17.54 GFLOPS | Progress: (12/20) | 6.90 s
    [Task 21/25]  Current/Best:   18.01/  18.01 GFLOPS | Progress: (16/20) | 10.36 s
    [Task 21/25]  Current/Best:    4.48/  18.01 GFLOPS | Progress: (20/20) | 17.60 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:    2.70/  16.92 GFLOPS | Progress: (4/20
 ) | 2.59 s
    [Task 22/25]  Current/Best:    8.18/  22.01 GFLOPS | Progress: (8/20) | 4.63 s
    [Task 22/25]  Current/Best:   20.04/  22.01 GFLOPS | Progress: (12/20) | 6.97 s
    [Task 22/25]  Current/Best:   15.28/  22.01 GFLOPS | Progress: (16/20) | 9.09 s
    [Task 22/25]  Current/Best:   14.04/  22.01 GFLOPS | Progress: (20/20) | 10.75 s Done.
-
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:   17.62/  20.95 GFLOPS | Progress: (4/20) | 3.15 s
    [Task 23/25]  Current/Best:   13.85/  20.95 GFLOPS | Progress: (8/20) | 6.54 s
    [Task 23/25]  Current/Best:   21.06/  21.89 GFLOPS | Progress: (12/20) | 8.35 s
    [Task 23/25]  Current/Best:    6.45/  21.89 GFLOPS | Progress: (16/20) | 15.29 s
    [Task 23/25]  Current/Best:    7.96/  21.89 GFLOPS | Progress: (20/20) | 19.47 s Done.
-
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    8.52/   8.52 GFLOPS | Progress: (4/20) | 11.72 s
    [Task 24/25]  Current/Best:    2.12/   8.52 GFLOPS | Progress: (8/20) | 22.71 s
    [Task 24/25]  Current/Best:    4.24/   8.52 GFLOPS | Progress: (12/20) | 34.17 s Done.
+
    [Task 20/25]  Current/Best:   10.06/  14.92 GFLOPS | Progress: (8/20) | 6.87 s
    [Task 20/25]  Current/Best:    2.32/  16.67 GFLOPS | Progress: (12/20) | 10.84 s
    [Task 20/25]  Current/Best:   12.55/  16.67 GFLOPS | Progress: (16/20) | 14.69 s
    [Task 20/25]  Current/Best:   12.69/  22.07 GFLOPS | Progress: (20/20) | 16.81 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 21/25]  Current/Best:    6.39/  17.70 GFLOPS | Progress: (4/20) | 3.23 s
    [Task 21/25]  Current/Best:   14.60/  17.70 GFLOPS | Progress: (8/20) | 4.82 s
    [Task 21/25]  Current/Best:    1.61/  17.70 GFLOPS | Progress: (12/20) | 6.94 s
    [Task 21/25]  Current/Best:   18.08/  18.08 GFLOPS | Progress: (16/20) | 10.47 s
    [Task 21/25]  Current/Best:    4.46/  18.08 GFLOPS | Progress: (20/20) | 17.85 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:    2.70/  16.93 GFLOPS | Progress: (4/20
 ) | 2.64 s
    [Task 22/25]  Current/Best:    8.93/  21.86 GFLOPS | Progress: (8/20) | 4.69 s
    [Task 22/25]  Current/Best:   19.68/  21.86 GFLOPS | Progress: (12/20) | 7.10 s
    [Task 22/25]  Current/Best:   15.25/  21.86 GFLOPS | Progress: (16/20) | 9.25 s
    [Task 22/25]  Current/Best:   14.05/  21.86 GFLOPS | Progress: (20/20) | 10.98 s Done.
+
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:   17.45/  20.55 GFLOPS | Progress: (4/20) | 3.20 s
    [Task 23/25]  Current/Best:   15.14/  20.55 GFLOPS | Progress: (8/20) | 6.58 s
    [Task 23/25]  Current/Best:   20.97/  21.73 GFLOPS | Progress: (12/20) | 8.41 s
    [Task 23/25]  Current/Best:    6.35/  21.73 GFLOPS | Progress: (16/20) | 15.61 s
    [Task 23/25]  Current/Best:    7.67/  21.73 GFLOPS | Progress: (20/20) | 19.84 s Done.
+
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    8.50/   8.50 GFLOPS | Progress: (4/20) | 11.74 s
    [Task 24/25]  Current/Best:    2.09/   8.50 GFLOPS | Progress: (8/20) | 22.72 s
    [Task 24/25]  Current/Best:    4.17/   8.50 GFLOPS | Progress: (12/20) | 34.28 s Done.
      Done.
-
    [Task 24/25]  Current/Best:    6.79/   8.82 GFLOPS | Progress: (16/20) | 39.95 s
    [Task 24/25]  Current/Best:    3.29/   8.82 GFLOPS | Progress: (20/20) | 45.97 s Done.
-
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 25/25]  Current/Best:    1.55/   2.77 GFLOPS | Progress: (4/20) | 11.51 s
    [Task 25/25]  Current/Best:    6.17/   8.46 GFLOPS | Progress: (8/20) | 22.71 s
    [Task 25/25]  Current/Best:    6.04/   8.46 GFLOPS | Progress: (12/20) | 34.12 s
    [Task 25/25]  Current/Best:    5.95/   8.88 GFLOPS | Progress: (16/20) | 35.80 s
    [Task 25/25]  Current/Best:    2.86/   9.15 GFLOPS | Progress: (20/20) | 46.47 s
+
    [Task 24/25]  Current/Best:    6.21/   8.50 GFLOPS | Progress: (16/20) | 40.05 s
    [Task 24/25]  Current/Best:    3.24/   8.68 GFLOPS | Progress: (20/20) | 46.20 s Done.
+
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 25/25]  Current/Best:    1.55/   2.76 GFLOPS | Progress: (4/20) | 11.55 s
    [Task 25/25]  Current/Best:    5.72/   8.29 GFLOPS | Progress: (8/20) | 22.83 s
    [Task 25/25]  Current/Best:    5.91/   8.29 GFLOPS | Progress: (12/20) | 34.22 s
    [Task 25/25]  Current/Best:    5.76/   9.05 GFLOPS | Progress: (16/20) | 36.08 s
    [Task 25/25]  Current/Best:    2.92/   9.05 GFLOPS | Progress: (20/20) | 46.78 s
 
 
 
@@ -735,8 +735,8 @@ improvement in comparing the optimized model to the unoptimized model.
 
  .. code-block:: none
 
-    optimized: {'mean': 411.0096655600137, 'median': 410.8396585500486, 'std': 0.673009564658162}
-    unoptimized: {'mean': 490.67851904001145, 'median': 490.798902250026, 'std': 0.42421151976039406}
+    optimized: {'mean': 413.55119881000064, 'median': 413.7404836500082, 'std': 1.0554148510422967}
+    unoptimized: {'mean': 494.4790784400084, 'median': 494.18279379999603, 'std': 0.7878404703124732}
 
 
 
@@ -759,7 +759,7 @@ profiling/benchmarking.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 10 minutes  15.538 seconds)
+   **Total running time of the script:** ( 10 minutes  31.450 seconds)
 
 
 .. _sphx_glr_download_tutorial_autotvm_relay_x86.py:
diff --git a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
index 1b84d01e7..5223277c8 100644
--- a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
@@ -269,7 +269,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    1.296e-07 secs/op
+    1.281e-07 secs/op
 
 
 
diff --git a/docs/_sources/tutorial/intro_topi.rst.txt b/docs/_sources/tutorial/intro_topi.rst.txt
index 5f7c05a2d..9d0f77a8e 100644
--- a/docs/_sources/tutorial/intro_topi.rst.txt
+++ b/docs/_sources/tutorial/intro_topi.rst.txt
@@ -262,7 +262,7 @@ As you can see, scheduled stages of computation have been accumulated and we can
 
  .. code-block:: none
 
-    [stage(a, placeholder(a, 0x270d3be0)), stage(b, placeholder(b, 0x10de2d00)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(mi [...]
+    [stage(a, placeholder(a, 0x226fc610)), stage(b, placeholder(b, 0x227281c0)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(mi [...]
 
 
 
diff --git a/docs/_sources/tutorial/sg_execution_times.rst.txt b/docs/_sources/tutorial/sg_execution_times.rst.txt
index fcd8cda8b..771e959fd 100644
--- a/docs/_sources/tutorial/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorial/sg_execution_times.rst.txt
@@ -5,29 +5,29 @@
 
 Computation times
 =================
-**12:59.647** total execution time for **tutorial** files:
+**13:28.995** total execution time for **tutorial** files:
 
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)                 | 10:15.538 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)                 | 10:31.450 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)     | 01:00.924 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)     | 01:02.361 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 00:50.538 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 00:59.998 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)                 | 00:28.048 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)                 | 00:27.901 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)               | 00:23.310 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)               | 00:25.677 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)                               | 00:00.661 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)       | 00:00.788 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)       | 00:00.499 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)                               | 00:00.676 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.129 | 0.0 MB |
-+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)   | 00:00.000 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.144 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``)                           | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
+| :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)   | 00:00.000 | 0.0 MB |
++------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``)                             | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_tutorial_install.py` (``install.py``)                                     | 00:00.000 | 0.0 MB |
diff --git a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
index 9a038a2f0..b5ca79774 100644
--- a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
+++ b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
@@ -289,7 +289,7 @@ helper function to run a profile of the TVM generated code.
  .. code-block:: none
 
     Numpy running time: 0.000008
-    naive: 0.000006
+    naive: 0.000007
 
 
 
@@ -390,7 +390,7 @@ compile and run this new schedule with the parallel operation applied:
 
     /workspace/python/tvm/driver/build_module.py:264: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    parallel: 0.000006
+    parallel: 0.000008
 
 
 
@@ -447,7 +447,7 @@ factor to be the number of threads on your CPU.
 
     /workspace/python/tvm/driver/build_module.py:264: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    vector: 0.000024
+    vector: 0.000025
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [(stride: int32*n: int32)], [], type="auto"),
@@ -499,10 +499,10 @@ We can now compare the different schedules
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                   numpy    7.597069998155348e-06                    1.0
-                   naive              5.8276e-06      0.7670852054035313
-                parallel    6.080399999999999e-06     0.8003611920748904
-                  vector    2.4467900000000003e-05    3.2207021925480586
+                   numpy    7.681580000280518e-06                    1.0
+                   naive              6.7175e-06      0.8744945700955646
+                parallel    8.125599999999999e-06      1.057803212321328
+                  vector    2.4832899999999997e-05    3.2327854424601634
 
 
 
@@ -923,7 +923,7 @@ matrix multiplication.
 
  .. code-block:: none
 
-    Numpy running time: 0.017599
+    Numpy running time: 0.018462
 
 
 
@@ -983,7 +983,7 @@ optimizations.
 
     /workspace/python/tvm/driver/build_module.py:264: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    none: 3.428478
+    none: 3.528282
 
 
 
@@ -1088,7 +1088,7 @@ schedule.
 
     /workspace/python/tvm/driver/build_module.py:264: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    blocking: 0.300956
+    blocking: 0.296057
 
 
 
@@ -1186,7 +1186,7 @@ already cache friendly from our previous optimizations.
 
     /workspace/python/tvm/driver/build_module.py:264: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    vectorization: 0.335630
+    vectorization: 0.336158
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1262,7 +1262,7 @@ more cache friendly.
 
     /workspace/python/tvm/driver/build_module.py:264: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    loop permutation: 0.115594
+    loop permutation: 0.119544
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1363,7 +1363,7 @@ optimized schedule.
 
     /workspace/python/tvm/driver/build_module.py:264: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    array packing: 0.110339
+    array packing: 0.110475
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1458,7 +1458,7 @@ to `C` when all the block results are ready.
 
     /workspace/python/tvm/driver/build_module.py:264: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    block caching: 0.111053
+    block caching: 0.111429
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1546,7 +1546,7 @@ of thread-level parallelization.
 
     /workspace/python/tvm/driver/build_module.py:264: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    parallelization: 0.144156
+    parallelization: 0.145137
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1627,13 +1627,13 @@ working, we can compare the results.
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                    none            3.4284779444                     1.0
-                blocking            0.3009562234      0.0877812919553924
-           vectorization     0.33563045140000003     0.09789488421479023
-        loop permutation            0.1155941194     0.03371587079590489
-           array packing     0.11033920189999999    0.032183144733430646
-           block caching            0.1110526624    0.032391243053317864
-         parallelization            0.1441563098     0.04204673681376942
+                    none      3.5282819979999998                     1.0
+                blocking     0.29605736769999996     0.08390978041659355
+           vectorization            0.3361584542     0.09527539306397584
+        loop permutation            0.1195439374    0.033881627791589014
+           array packing     0.11047541369999998      0.0313113900086849
+           block caching     0.11142857309999998    0.031581538313310294
+         parallelization     0.14513694049999998     0.04113530057469063
 
 
 
@@ -1675,7 +1675,7 @@ the computation for specific platforms.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  0.924 seconds)
+   **Total running time of the script:** ( 1 minutes  2.361 seconds)
 
 
 .. _sphx_glr_download_tutorial_tensor_expr_get_started.py:
diff --git a/docs/commit_hash b/docs/commit_hash
index 950144f0b..8060f289c 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-f53f70cb93d589beaf55e443d0383f9e495cccd1
+910624a86bb7618f0039235128b82ac2a4ed549a
diff --git a/docs/how_to/compile_models/from_mxnet.html b/docs/how_to/compile_models/from_mxnet.html
index 4024b84fe..0f2bca04e 100644
--- a/docs/how_to/compile_models/from_mxnet.html
+++ b/docs/how_to/compile_models/from_mxnet.html
@@ -422,7 +422,7 @@ to download the full example code</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;x&quot;</span><span class="p">,</span> <a href="https://docs.python.org/3/library/stdtypes.html#tuple" title="builtins.tuple" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">x</span><span class="o">.</span><span class="n">shape</span></a><span class="p">)</span>
 </pre></div>
 </div>
-<img src="../../_images/sphx_glr_from_mxnet_001.png" srcset="../../_images/sphx_glr_from_mxnet_001.png" alt="from mxnet" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip51464a44-d7a5-4c85-a9b0-3ab112eaf7c4 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+<img src="../../_images/sphx_glr_from_mxnet_001.png" srcset="../../_images/sphx_glr_from_mxnet_001.png" alt="from mxnet" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip93ed7a0b-5677-4712-be0f-76ae9eb7d94a from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
 x (1, 3, 224, 224)
 </pre></div>
 </div>
diff --git a/docs/how_to/compile_models/from_oneflow.html b/docs/how_to/compile_models/from_oneflow.html
index b07e7ed80..fcd1e47ac 100644
--- a/docs/how_to/compile_models/from_oneflow.html
+++ b/docs/how_to/compile_models/from_oneflow.html
@@ -427,61 +427,57 @@ python3 -m pip install -f https://release.oneflow.info <span class="nv">oneflow<
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: &quot;https://oneflow-public.oss-cn-beijing.aliyuncs.com/model_zoo/flowvision/classification/ResNet/resnet18.zip&quot; to /workspace/.oneflow/flowvision_cache/resnet18.zip
 
   0%|          | 0.00/41.5M [00:00&lt;?, ?B/s]
-  0%|          | 16.0k/41.5M [00:00&lt;08:07, 89.1kB/s]
-  0%|          | 48.0k/41.5M [00:00&lt;05:07, 141kB/s]
-  0%|          | 80.0k/41.5M [00:00&lt;04:35, 158kB/s]
-  0%|          | 136k/41.5M [00:00&lt;03:18, 218kB/s]
-  1%|          | 288k/41.5M [00:00&lt;01:37, 443kB/s]
-  1%|1         | 584k/41.5M [00:01&lt;00:50, 851kB/s]
-  2%|2         | 920k/41.5M [00:01&lt;00:35, 1.18MB/s]
-  3%|3         | 1.25M/41.5M [00:01&lt;00:29, 1.44MB/s]
-  4%|3         | 1.62M/41.5M [00:01&lt;00:25, 1.64MB/s]
-  5%|4         | 2.00M/41.5M [00:01&lt;00:22, 1.81MB/s]
-  6%|5         | 2.41M/41.5M [00:02&lt;00:20, 1.96MB/s]
-  7%|6         | 2.84M/41.5M [00:02&lt;00:19, 2.11MB/s]
-  8%|7         | 3.28M/41.5M [00:02&lt;00:17, 2.23MB/s]
-  9%|9         | 3.75M/41.5M [00:02&lt;00:16, 2.36MB/s]
- 10%|#         | 4.24M/41.5M [00:02&lt;00:15, 2.49MB/s]
- 11%|#1        | 4.76M/41.5M [00:02&lt;00:14, 2.62MB/s]
- 13%|#2        | 5.30M/41.5M [00:03&lt;00:13, 2.77MB/s]
- 14%|#4        | 5.88M/41.5M [00:03&lt;00:12, 2.91MB/s]
- 16%|#5        | 6.47M/41.5M [00:03&lt;00:12, 3.05MB/s]
- 17%|#7        | 7.09M/41.5M [00:03&lt;00:11, 3.20MB/s]
- 19%|#8        | 7.76M/41.5M [00:03&lt;00:10, 3.37MB/s]
- 20%|##        | 8.45M/41.5M [00:04&lt;00:09, 3.53MB/s]
- 22%|##2       | 9.15M/41.5M [00:04&lt;00:09, 3.67MB/s]
- 24%|##3       | 9.88M/41.5M [00:04&lt;00:08, 3.81MB/s]
- 26%|##5       | 10.6M/41.5M [00:04&lt;00:08, 3.94MB/s]
- 28%|##7       | 11.4M/41.5M [00:04&lt;00:07, 4.10MB/s]
- 29%|##9       | 12.2M/41.5M [00:04&lt;00:07, 4.26MB/s]
- 32%|###1      | 13.1M/41.5M [00:05&lt;00:06, 4.42MB/s]
- 34%|###3      | 14.0M/41.5M [00:05&lt;00:06, 4.61MB/s]
- 36%|###5      | 14.9M/41.5M [00:05&lt;00:05, 4.78MB/s]
- 38%|###8      | 15.8M/41.5M [00:05&lt;00:04, 5.56MB/s]
- 41%|####      | 16.8M/41.5M [00:05&lt;00:04, 6.15MB/s]
- 42%|####2     | 17.4M/41.5M [00:05&lt;00:04, 5.90MB/s]
- 43%|####3     | 18.0M/41.5M [00:06&lt;00:04, 5.05MB/s]
- 46%|####5     | 19.0M/41.5M [00:06&lt;00:03, 5.92MB/s]
- 49%|####8     | 20.1M/41.5M [00:06&lt;00:03, 6.82MB/s]
- 50%|#####     | 20.8M/41.5M [00:06&lt;00:03, 6.52MB/s]
- 52%|#####1    | 21.5M/41.5M [00:06&lt;00:03, 5.53MB/s]
- 54%|#####4    | 22.6M/41.5M [00:06&lt;00:02, 6.70MB/s]
- 58%|#####7    | 23.9M/41.5M [00:06&lt;00:02, 7.52MB/s]
- 59%|#####9    | 24.7M/41.5M [00:07&lt;00:02, 7.37MB/s]
- 61%|######1   | 25.4M/41.5M [00:07&lt;00:02, 6.24MB/s]
- 64%|######4   | 26.7M/41.5M [00:07&lt;00:02, 7.71MB/s]
- 68%|######7   | 28.2M/41.5M [00:07&lt;00:01, 7.94MB/s]
- 71%|#######1  | 29.7M/41.5M [00:07&lt;00:01, 9.44MB/s]
- 74%|#######3  | 30.6M/41.5M [00:07&lt;00:01, 8.52MB/s]
- 76%|#######5  | 31.5M/41.5M [00:07&lt;00:01, 7.33MB/s]
- 79%|#######8  | 32.6M/41.5M [00:08&lt;00:01, 7.37MB/s]
- 82%|########2 | 34.1M/41.5M [00:08&lt;00:01, 7.69MB/s]
- 86%|########5 | 35.5M/41.5M [00:08&lt;00:00, 7.88MB/s]
- 89%|########9 | 37.0M/41.5M [00:08&lt;00:00, 8.03MB/s]
- 93%|#########2| 38.5M/41.5M [00:08&lt;00:00, 8.13MB/s]
- 96%|#########6| 39.9M/41.5M [00:09&lt;00:00, 8.18MB/s]
-100%|#########9| 41.4M/41.5M [00:09&lt;00:00, 8.23MB/s]
-100%|##########| 41.5M/41.5M [00:09&lt;00:00, 4.71MB/s]
+  0%|          | 16.0k/41.5M [00:00&lt;07:36, 95.2kB/s]
+  0%|          | 48.0k/41.5M [00:00&lt;04:48, 151kB/s]
+  0%|          | 104k/41.5M [00:00&lt;03:06, 233kB/s]
+  0%|          | 208k/41.5M [00:00&lt;01:52, 384kB/s]
+  1%|          | 424k/41.5M [00:00&lt;01:00, 706kB/s]
+  2%|2         | 856k/41.5M [00:01&lt;00:31, 1.34MB/s]
+  3%|3         | 1.42M/41.5M [00:01&lt;00:20, 2.06MB/s]
+  5%|4         | 2.04M/41.5M [00:01&lt;00:15, 2.60MB/s]
+  6%|6         | 2.69M/41.5M [00:01&lt;00:13, 3.01MB/s]
+  8%|8         | 3.35M/41.5M [00:01&lt;00:10, 3.69MB/s]
+  9%|9         | 3.86M/41.5M [00:01&lt;00:09, 4.05MB/s]
+ 10%|#         | 4.27M/41.5M [00:01&lt;00:10, 3.84MB/s]
+ 11%|#1        | 4.77M/41.5M [00:02&lt;00:09, 4.01MB/s]
+ 13%|#2        | 5.25M/41.5M [00:02&lt;00:08, 4.27MB/s]
+ 14%|#3        | 5.68M/41.5M [00:02&lt;00:09, 4.02MB/s]
+ 15%|#5        | 6.30M/41.5M [00:02&lt;00:08, 4.49MB/s]
+ 16%|#6        | 6.84M/41.5M [00:02&lt;00:07, 4.77MB/s]
+ 18%|#7        | 7.30M/41.5M [00:02&lt;00:08, 4.44MB/s]
+ 19%|#9        | 8.00M/41.5M [00:02&lt;00:07, 4.99MB/s]
+ 21%|##        | 8.55M/41.5M [00:02&lt;00:06, 5.19MB/s]
+ 22%|##1       | 9.05M/41.5M [00:02&lt;00:07, 4.83MB/s]
+ 24%|##3       | 9.87M/41.5M [00:03&lt;00:05, 5.57MB/s]
+ 25%|##5       | 10.5M/41.5M [00:03&lt;00:05, 5.74MB/s]
+ 27%|##6       | 11.0M/41.5M [00:03&lt;00:06, 5.32MB/s]
+ 29%|##8       | 11.9M/41.5M [00:03&lt;00:05, 6.17MB/s]
+ 30%|###       | 12.5M/41.5M [00:03&lt;00:04, 6.20MB/s]
+ 32%|###1      | 13.1M/41.5M [00:03&lt;00:05, 5.77MB/s]
+ 34%|###4      | 14.2M/41.5M [00:03&lt;00:04, 6.82MB/s]
+ 36%|###5      | 14.8M/41.5M [00:03&lt;00:04, 6.83MB/s]
+ 37%|###7      | 15.5M/41.5M [00:03&lt;00:04, 6.35MB/s]
+ 40%|####      | 16.6M/41.5M [00:04&lt;00:03, 6.77MB/s]
+ 43%|####3     | 17.9M/41.5M [00:04&lt;00:03, 7.20MB/s]
+ 46%|####6     | 19.3M/41.5M [00:04&lt;00:03, 7.59MB/s]
+ 50%|####9     | 20.7M/41.5M [00:04&lt;00:02, 8.80MB/s]
+ 52%|#####2    | 21.6M/41.5M [00:04&lt;00:02, 8.60MB/s]
+ 54%|#####4    | 22.4M/41.5M [00:04&lt;00:02, 8.07MB/s]
+ 57%|#####7    | 23.7M/41.5M [00:04&lt;00:02, 9.18MB/s]
+ 59%|#####9    | 24.6M/41.5M [00:05&lt;00:01, 8.93MB/s]
+ 61%|######1   | 25.4M/41.5M [00:05&lt;00:02, 8.35MB/s]
+ 64%|######4   | 26.6M/41.5M [00:05&lt;00:01, 7.93MB/s]
+ 68%|######7   | 28.1M/41.5M [00:05&lt;00:01, 8.27MB/s]
+ 71%|#######1  | 29.5M/41.5M [00:05&lt;00:01, 8.48MB/s]
+ 75%|#######4  | 31.0M/41.5M [00:05&lt;00:01, 8.61MB/s]
+ 78%|#######8  | 32.5M/41.5M [00:06&lt;00:01, 8.70MB/s]
+ 82%|########1 | 33.9M/41.5M [00:06&lt;00:00, 8.77MB/s]
+ 85%|########5 | 35.4M/41.5M [00:06&lt;00:00, 8.81MB/s]
+ 89%|########8 | 36.9M/41.5M [00:06&lt;00:00, 9.10MB/s]
+ 92%|#########2| 38.3M/41.5M [00:06&lt;00:00, 9.02MB/s]
+ 96%|#########5| 39.8M/41.5M [00:06&lt;00:00, 8.98MB/s]
+ 99%|#########9| 41.3M/41.5M [00:07&lt;00:00, 8.70MB/s]
+100%|##########| 41.5M/41.5M [00:07&lt;00:00, 6.13MB/s]
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/compile_models/from_paddle.html b/docs/how_to/compile_models/from_paddle.html
index f1f0452dc..7c2864efd 100644
--- a/docs/how_to/compile_models/from_paddle.html
+++ b/docs/how_to/compile_models/from_paddle.html
@@ -488,7 +488,7 @@ A quick solution is</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>TVM prediction top-1 id: 282, class name:  282: &#39;tiger cat&#39;,
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  6.399 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  7.564 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-paddle-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/16269b77359771348d507395692524cf/from_paddle.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">from_paddle.py</span></code></a></p>
diff --git a/docs/how_to/compile_models/from_pytorch.html b/docs/how_to/compile_models/from_pytorch.html
index 494c881c2..cb531220f 100644
--- a/docs/how_to/compile_models/from_pytorch.html
+++ b/docs/how_to/compile_models/from_pytorch.html
@@ -409,9 +409,9 @@ be unstable.</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]
- 32%|###1      | 14.1M/44.7M [00:00&lt;00:00, 148MB/s]
- 78%|#######7  | 34.6M/44.7M [00:00&lt;00:00, 188MB/s]
-100%|##########| 44.7M/44.7M [00:00&lt;00:00, 189MB/s]
+ 37%|###7      | 16.6M/44.7M [00:00&lt;00:00, 174MB/s]
+ 88%|########7 | 39.3M/44.7M [00:00&lt;00:00, 211MB/s]
+100%|##########| 44.7M/44.7M [00:00&lt;00:00, 210MB/s]
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/compile_models/from_tensorflow.html b/docs/how_to/compile_models/from_tensorflow.html
index 812f0ed24..463cd62d1 100644
--- a/docs/how_to/compile_models/from_tensorflow.html
+++ b/docs/how_to/compile_models/from_tensorflow.html
@@ -631,7 +631,7 @@ banana (score = 0.00022)
 desk (score = 0.00019)
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  2.709 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  4.387 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-tensorflow-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/7f1d3d1b878694c201c614c807cdebc8/from_tensorflow.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">from_tensorflow.py</span></code></a></p>
diff --git a/docs/how_to/compile_models/sg_execution_times.html b/docs/how_to/compile_models/sg_execution_times.html
index 17baeb3aa..afa1d57d8 100644
--- a/docs/how_to/compile_models/sg_execution_times.html
+++ b/docs/how_to/compile_models/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-compile-models-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>05:39.204</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
+<p><strong>05:28.251</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 81%" />
@@ -331,43 +331,43 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="from_paddle.html#sphx-glr-how-to-compile-models-from-paddle-py"><span class="std std-ref">Compile PaddlePaddle Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_paddle.py</span></code>)</p></td>
-<td><p>01:06.399</p></td>
+<td><p>01:07.564</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="from_tensorflow.html#sphx-glr-how-to-compile-models-from-tensorflow-py"><span class="std std-ref">Compile Tensorflow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tensorflow.py</span></code>)</p></td>
-<td><p>01:02.709</p></td>
+<td><p>01:04.387</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="from_darknet.html#sphx-glr-how-to-compile-models-from-darknet-py"><span class="std std-ref">Compile YOLO-V2 and YOLO-V3 in DarkNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_darknet.py</span></code>)</p></td>
-<td><p>00:57.760</p></td>
+<td><p>00:58.525</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="from_tflite.html#sphx-glr-how-to-compile-models-from-tflite-py"><span class="std std-ref">Compile TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tflite.py</span></code>)</p></td>
-<td><p>00:37.852</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="from_oneflow.html#sphx-glr-how-to-compile-models-from-oneflow-py"><span class="std std-ref">Compile OneFlow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_oneflow.py</span></code>)</p></td>
+<td><p>00:32.587</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="from_oneflow.html#sphx-glr-how-to-compile-models-from-oneflow-py"><span class="std std-ref">Compile OneFlow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_oneflow.py</span></code>)</p></td>
-<td><p>00:35.331</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="from_tflite.html#sphx-glr-how-to-compile-models-from-tflite-py"><span class="std std-ref">Compile TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tflite.py</span></code>)</p></td>
+<td><p>00:23.992</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="from_mxnet.html#sphx-glr-how-to-compile-models-from-mxnet-py"><span class="std std-ref">Compile MXNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_mxnet.py</span></code>)</p></td>
-<td><p>00:22.454</p></td>
+<td><p>00:23.037</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="from_coreml.html#sphx-glr-how-to-compile-models-from-coreml-py"><span class="std std-ref">Compile CoreML Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_coreml.py</span></code>)</p></td>
-<td><p>00:21.264</p></td>
+<td><p>00:21.629</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="from_pytorch.html#sphx-glr-how-to-compile-models-from-pytorch-py"><span class="std std-ref">Compile PyTorch Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_pytorch.py</span></code>)</p></td>
-<td><p>00:19.102</p></td>
+<td><p>00:19.432</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="from_keras.html#sphx-glr-how-to-compile-models-from-keras-py"><span class="std std-ref">Compile Keras Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_keras.py</span></code>)</p></td>
-<td><p>00:13.978</p></td>
+<td><p>00:14.676</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="from_onnx.html#sphx-glr-how-to-compile-models-from-onnx-py"><span class="std std-ref">Compile ONNX Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_onnx.py</span></code>)</p></td>
-<td><p>00:02.355</p></td>
+<td><p>00:02.422</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/deploy_models/deploy_model_on_android.html b/docs/how_to/deploy_models/deploy_model_on_android.html
index 1ea7b8e00..1d0fe0129 100644
--- a/docs/how_to/deploy_models/deploy_model_on_android.html
+++ b/docs/how_to/deploy_models/deploy_model_on_android.html
@@ -648,7 +648,7 @@ to the remote android device.</p>
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  16.3524      16.3525      16.8470      15.8259       0.2984
+  16.7883      16.7733      16.9013      16.6767       0.0700
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
index fe530280e..142e163cf 100644
--- a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
+++ b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
@@ -431,17 +431,18 @@ be unstable.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: &quot;https://download.pytorch.org/models/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth&quot; to /workspace/.cache/torch/hub/checkpoints/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth
 
   0%|          | 0.00/170M [00:00&lt;?, ?B/s]
-  3%|3         | 5.44M/170M [00:00&lt;00:03, 56.9MB/s]
-  8%|8         | 13.7M/170M [00:00&lt;00:02, 74.1MB/s]
- 19%|#8        | 31.5M/170M [00:00&lt;00:01, 125MB/s]
- 30%|##9       | 50.8M/170M [00:00&lt;00:00, 156MB/s]
- 41%|####1     | 70.0M/170M [00:00&lt;00:00, 172MB/s]
- 53%|#####2    | 89.4M/170M [00:00&lt;00:00, 183MB/s]
- 64%|######4   | 109M/170M [00:00&lt;00:00, 189MB/s]
- 75%|#######5  | 128M/170M [00:00&lt;00:00, 193MB/s]
- 87%|########6 | 147M/170M [00:00&lt;00:00, 196MB/s]
- 98%|#########7| 166M/170M [00:01&lt;00:00, 197MB/s]
-100%|##########| 170M/170M [00:01&lt;00:00, 175MB/s]
+  6%|5         | 9.85M/170M [00:00&lt;00:01, 103MB/s]
+ 14%|#4        | 24.3M/170M [00:00&lt;00:01, 131MB/s]
+ 26%|##5       | 43.7M/170M [00:00&lt;00:00, 164MB/s]
+ 35%|###4      | 59.4M/170M [00:00&lt;00:00, 152MB/s]
+ 44%|####4     | 74.8M/170M [00:00&lt;00:00, 155MB/s]
+ 53%|#####2    | 89.7M/170M [00:00&lt;00:00, 149MB/s]
+ 61%|######1   | 104M/170M [00:00&lt;00:00, 129MB/s]
+ 69%|######8   | 117M/170M [00:00&lt;00:00, 124MB/s]
+ 76%|#######6  | 129M/170M [00:01&lt;00:00, 127MB/s]
+ 84%|########4 | 143M/170M [00:01&lt;00:00, 132MB/s]
+ 93%|#########2| 157M/170M [00:01&lt;00:00, 136MB/s]
+100%|##########| 170M/170M [00:01&lt;00:00, 127MB/s]
 /usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3878: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
   for i in range(dim)
 /usr/local/lib/python3.7/dist-packages/torchvision/models/detection/anchor_utils.py:127: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the &#39;trunc&#39; function NOT &#39;floor&#39;). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode=&#39;trunc&#39;), or for actual floor division, use torch.div(a, b, rounding_mode=&#39;floor&#39;).
@@ -536,7 +537,7 @@ torchvision rcnn models.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Get 9 valid boxes
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  52.534 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  53.656 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-object-detection-pytorch-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/7795da4b258c8feff986668b95ef57ad/deploy_object_detection_pytorch.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_object_detection_pytorch.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_prequantized.html b/docs/how_to/deploy_models/deploy_prequantized.html
index 4a0b9cd01..076e99542 100644
--- a/docs/how_to/deploy_models/deploy_prequantized.html
+++ b/docs/how_to/deploy_models/deploy_prequantized.html
@@ -472,10 +472,12 @@ training. Other models require a full post training calibration.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: &quot;https://download.pytorch.org/models/mobilenet_v2-b0353104.pth&quot; to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2-b0353104.pth
 
   0%|          | 0.00/13.6M [00:00&lt;?, ?B/s]
- 19%|#8        | 2.56M/13.6M [00:00&lt;00:00, 26.9MB/s]
- 40%|###9      | 5.37M/13.6M [00:00&lt;00:00, 28.3MB/s]
- 70%|######9   | 9.47M/13.6M [00:00&lt;00:00, 35.0MB/s]
-100%|##########| 13.6M/13.6M [00:00&lt;00:00, 38.7MB/s]
+ 18%|#7        | 2.38M/13.6M [00:00&lt;00:00, 24.6MB/s]
+ 36%|###5      | 4.88M/13.6M [00:00&lt;00:00, 24.6MB/s]
+ 57%|#####6    | 7.69M/13.6M [00:00&lt;00:00, 26.7MB/s]
+ 76%|#######5  | 10.2M/13.6M [00:00&lt;00:00, 21.6MB/s]
+ 92%|#########1| 12.4M/13.6M [00:00&lt;00:00, 20.3MB/s]
+100%|##########| 13.6M/13.6M [00:00&lt;00:00, 22.1MB/s]
 </pre></div>
 </div>
 </div>
@@ -564,7 +566,7 @@ output values are identical out of 1000 outputs from mobilenet v2.</p>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  90.2008      90.1679      90.9741      89.8930       0.1842
+  90.4044      90.3407      93.6237      90.1909       0.3723
 </pre></div>
 </div>
 <div class="admonition note">
@@ -603,7 +605,7 @@ This includes support for the VNNI 8 bit dot product instruction (CascadeLake or
 <div class="section" id="deploy-a-quantized-tflite-model">
 <h2>Deploy a quantized TFLite Model<a class="headerlink" href="#deploy-a-quantized-tflite-model" title="Permalink to this headline">¶</a></h2>
 <p>TODO</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  6.156 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  6.882 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-prequantized-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/fb8217c13f4351224c6cf3aacf1a87fc/deploy_prequantized.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_prequantized.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_prequantized_tflite.html b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
index 7dc96659d..8d6401858 100644
--- a/docs/how_to/deploy_models/deploy_prequantized_tflite.html
+++ b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
@@ -565,7 +565,7 @@ TFLite Top-5 labels: [387 102 386 341 349]
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  117.5799     117.4638     120.0842     116.0641      0.8241
+  121.1691     121.0770     128.1146     120.3657      0.7814
 </pre></div>
 </div>
 <div class="admonition note">
@@ -593,7 +593,7 @@ network for ARM CPU</span></a>.</p></li>
 </ul>
 </div></blockquote>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  58.136 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  56.703 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-prequantized-tflite-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/56691c7a27d45da61d112276334640d3/deploy_prequantized_tflite.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_prequantized_tflite.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_quantized.html b/docs/how_to/deploy_models/deploy_quantized.html
index a06749445..a6a638818 100644
--- a/docs/how_to/deploy_models/deploy_quantized.html
+++ b/docs/how_to/deploy_models/deploy_quantized.html
@@ -504,7 +504,7 @@ for calibration. But the accuracy might be impacted.</p>
   DeprecationWarning,
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  22.164 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  15.905 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-quantized-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/7810ecf51bfc05f7d5e8a400ac3e815d/deploy_quantized.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_quantized.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
index 7764a0929..2e5559bd6 100644
--- a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
+++ b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
@@ -436,23 +436,27 @@ to your device.</p>
 Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
 
   0%|          | 0/132723 [00:00&lt;?, ?KB/s]
-  2%|1         | 2353/132723 [00:00&lt;00:05, 23527.72KB/s]
-  5%|5         | 7068/132723 [00:00&lt;00:03, 37420.08KB/s]
- 11%|#1        | 14768/132723 [00:00&lt;00:02, 55488.80KB/s]
- 18%|#7        | 23304/132723 [00:00&lt;00:01, 67279.22KB/s]
- 24%|##4       | 31873/132723 [00:00&lt;00:01, 73914.16KB/s]
- 31%|###       | 40538/132723 [00:00&lt;00:01, 78242.73KB/s]
- 37%|###7      | 49221/132723 [00:00&lt;00:01, 81045.11KB/s]
- 44%|####3     | 57869/132723 [00:00&lt;00:00, 82772.00KB/s]
- 50%|#####     | 66490/132723 [00:00&lt;00:00, 83844.64KB/s]
- 57%|#####6    | 75176/132723 [00:01&lt;00:00, 84773.26KB/s]
- 63%|######3   | 83826/132723 [00:01&lt;00:00, 85298.54KB/s]
- 70%|######9   | 92483/132723 [00:01&lt;00:00, 85683.65KB/s]
- 76%|#######6  | 101130/132723 [00:01&lt;00:00, 85918.96KB/s]
- 83%|########2 | 109793/132723 [00:01&lt;00:00, 86130.14KB/s]
- 89%|########9 | 118407/132723 [00:01&lt;00:00, 71394.63KB/s]
- 96%|#########5| 127031/132723 [00:01&lt;00:00, 75298.31KB/s]
-100%|##########| 132723/132723 [00:01&lt;00:00, 76226.39KB/s]
+  2%|2         | 2869/132723 [00:00&lt;00:04, 28684.08KB/s]
+  7%|6         | 9186/132723 [00:00&lt;00:02, 48962.52KB/s]
+ 12%|#2        | 15973/132723 [00:00&lt;00:02, 57593.78KB/s]
+ 16%|#6        | 21817/132723 [00:00&lt;00:01, 57924.20KB/s]
+ 21%|##        | 27623/132723 [00:00&lt;00:01, 57970.84KB/s]
+ 25%|##5       | 33421/132723 [00:00&lt;00:02, 47189.54KB/s]
+ 29%|##8       | 38426/132723 [00:00&lt;00:02, 40702.26KB/s]
+ 32%|###2      | 42797/132723 [00:00&lt;00:02, 40842.03KB/s]
+ 38%|###7      | 50410/132723 [00:01&lt;00:01, 50170.37KB/s]
+ 44%|####3     | 58363/132723 [00:01&lt;00:01, 58217.91KB/s]
+ 49%|####8     | 64503/132723 [00:01&lt;00:01, 57283.47KB/s]
+ 53%|#####3    | 70451/132723 [00:01&lt;00:01, 48443.86KB/s]
+ 59%|#####8    | 77804/132723 [00:01&lt;00:01, 54739.08KB/s]
+ 63%|######3   | 83660/132723 [00:01&lt;00:00, 52097.21KB/s]
+ 69%|######8   | 91092/132723 [00:01&lt;00:00, 57886.26KB/s]
+ 74%|#######4  | 98729/132723 [00:01&lt;00:00, 62898.53KB/s]
+ 80%|########  | 106378/132723 [00:01&lt;00:00, 66693.20KB/s]
+ 86%|########5 | 114089/132723 [00:02&lt;00:00, 69653.65KB/s]
+ 91%|#########1| 121215/132723 [00:02&lt;00:00, 69652.90KB/s]
+ 97%|#########7| 128901/132723 [00:02&lt;00:00, 71750.53KB/s]
+100%|##########| 132723/132723 [00:02&lt;00:00, 57799.59KB/s]
 </pre></div>
 </div>
 <p>Create TVM runtime and do inference
@@ -495,7 +499,7 @@ Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from h
 <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
 </pre></div>
 </div>
-<img src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" srcset="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" alt="deploy ssd gluoncv" class = "sphx-glr-single-img"/><p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  14.992 seconds)</p>
+<img src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" srcset="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" alt="deploy ssd gluoncv" class = "sphx-glr-single-img"/><p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  17.589 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-ssd-gluoncv-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/cccb17d28e5e8b2e94ea8cd5ec59f6ed/deploy_ssd_gluoncv.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_ssd_gluoncv.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/sg_execution_times.html b/docs/how_to/deploy_models/sg_execution_times.html
index 0e71ff7b1..bef14dee3 100644
--- a/docs/how_to/deploy_models/sg_execution_times.html
+++ b/docs/how_to/deploy_models/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-deploy-models-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>10:24.184</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
+<p><strong>10:22.488</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 86%" />
@@ -331,31 +331,31 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="deploy_object_detection_pytorch.html#sphx-glr-how-to-deploy-models-deploy-object-detection-pytorch-py"><span class="std std-ref">Compile PyTorch Object Detection Models</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_object_detection_pytorch.py</span></code>)</p></td>
-<td><p>02:52.534</p></td>
+<td><p>02:53.656</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="deploy_ssd_gluoncv.html#sphx-glr-how-to-deploy-models-deploy-ssd-gluoncv-py"><span class="std std-ref">Deploy Single Shot Multibox Detector(SSD) model</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_ssd_gluoncv.py</span></code>)</p></td>
-<td><p>02:14.992</p></td>
+<td><p>02:17.589</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="deploy_prequantized_tflite.html#sphx-glr-how-to-deploy-models-deploy-prequantized-tflite-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM - Part 3 (TFLite)</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized_tflite.py</span></code>)</p></td>
-<td><p>01:58.136</p></td>
+<td><p>01:56.703</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="deploy_quantized.html#sphx-glr-how-to-deploy-models-deploy-quantized-py"><span class="std std-ref">Deploy a Quantized Model on Cuda</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_quantized.py</span></code>)</p></td>
-<td><p>01:22.164</p></td>
+<td><p>01:15.905</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="deploy_prequantized.html#sphx-glr-how-to-deploy-models-deploy-prequantized-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized.py</span></code>)</p></td>
-<td><p>01:06.156</p></td>
+<td><p>01:06.882</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="deploy_model_on_android.html#sphx-glr-how-to-deploy-models-deploy-model-on-android-py"><span class="std std-ref">Deploy the Pretrained Model on Android</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_android.py</span></code>)</p></td>
-<td><p>00:28.221</p></td>
+<td><p>00:29.176</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="deploy_model_on_rasp.html#sphx-glr-how-to-deploy-models-deploy-model-on-rasp-py"><span class="std std-ref">Deploy the Pretrained Model on Raspberry Pi</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_rasp.py</span></code>)</p></td>
-<td><p>00:21.976</p></td>
+<td><p>00:22.570</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="deploy_sparse.html#sphx-glr-how-to-deploy-models-deploy-sparse-py"><span class="std std-ref">Deploy a Hugging Face Pruned Model on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_sparse.py</span></code>)</p></td>
diff --git a/docs/how_to/extend_tvm/bring_your_own_datatypes.html b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
index dff0e4494..1cbb75a30 100644
--- a/docs/how_to/extend_tvm/bring_your_own_datatypes.html
+++ b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
@@ -604,7 +604,7 @@ In this alpha state of the Bring Your Own Datatypes framework, we have not imple
 <span class="n">module</span><span class="p">,</span> <a href="https://docs.python.org/3/library/stdtypes.html#dict" title="builtins.dict" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">params</span></a> <span class="o">=</span> <span class="n">get_mobilenet</span><span class="p">()</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip8a98665c-13ab-4d37-9f03-7407aaa86eaa from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip286d5692-200d-4f72-9f8c-d759971054ae from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
 </pre></div>
 </div>
 <p>It’s easy to execute MobileNet with native TVM:</p>
@@ -668,7 +668,7 @@ In this alpha state of the Bring Your Own Datatypes framework, we have not imple
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/workspace/python/tvm/driver/build_module.py:264: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
   &quot;target_host parameter is going to be deprecated. &quot;
-  Check failed: (lower) is false: FloatImm lowering function for target llvm type 150 not found
+  Check failed: (lower) is false: Intrinsic lowering function for target llvm, intrinsic name tir.sqrt, type 150 not found
 </pre></div>
 </div>
 <p>When we attempt to run the model, we get a familiar error telling us that more functions need to be registered for myfloat.</p>
diff --git a/docs/how_to/extend_tvm/sg_execution_times.html b/docs/how_to/extend_tvm/sg_execution_times.html
index a0145ad05..85b95b18c 100644
--- a/docs/how_to/extend_tvm/sg_execution_times.html
+++ b/docs/how_to/extend_tvm/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-extend-tvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:39.255</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
+<p><strong>00:39.780</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 84%" />
@@ -331,15 +331,15 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="bring_your_own_datatypes.html#sphx-glr-how-to-extend-tvm-bring-your-own-datatypes-py"><span class="std std-ref">Bring Your Own Datatypes to TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">bring_your_own_datatypes.py</span></code>)</p></td>
-<td><p>00:36.184</p></td>
+<td><p>00:36.635</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="use_pass_instrument.html#sphx-glr-how-to-extend-tvm-use-pass-instrument-py"><span class="std std-ref">How to Use TVM Pass Instrument</span></a> (<code class="docutils literal notranslate"><span class="pre">use_pass_instrument.py</span></code>)</p></td>
-<td><p>00:02.179</p></td>
+<td><p>00:02.214</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="use_pass_infra.html#sphx-glr-how-to-extend-tvm-use-pass-infra-py"><span class="std std-ref">How to Use TVM Pass Infra</span></a> (<code class="docutils literal notranslate"><span class="pre">use_pass_infra.py</span></code>)</p></td>
-<td><p>00:00.886</p></td>
+<td><p>00:00.924</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="low_level_custom_pass.html#sphx-glr-how-to-extend-tvm-low-level-custom-pass-py"><span class="std std-ref">Writing a Customized Pass</span></a> (<code class="docutils literal notranslate"><span class="pre">low_level_custom_pass.py</span></code>)</p></td>
diff --git a/docs/how_to/extend_tvm/use_pass_instrument.html b/docs/how_to/extend_tvm/use_pass_instrument.html
index bcded09b8..ebbef738d 100644
--- a/docs/how_to/extend_tvm/use_pass_instrument.html
+++ b/docs/how_to/extend_tvm/use_pass_instrument.html
@@ -507,10 +507,10 @@ profile the execution time of each passes.</p>
 </pre></div>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 6705us [6705us] (45.55%; 45.55%)
-FoldScaleAxis: 8014us [5us] (54.45%; 54.45%)
-        FoldConstant: 8008us [1601us] (54.41%; 99.93%)
-                InferType: 6407us [6407us] (43.53%; 80.01%)
+InferType: 6650us [6650us] (45.56%; 45.56%)
+FoldScaleAxis: 7946us [5us] (54.44%; 54.44%)
+        FoldConstant: 7941us [1600us] (54.40%; 99.93%)
+                InferType: 6340us [6340us] (43.44%; 79.85%)
 </pre></div>
 </div>
 </div>
@@ -532,10 +532,10 @@ Refer to following sections and <a class="reference internal" href="../../refere
 </pre></div>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 6337us [6337us] (44.80%; 44.80%)
-FoldScaleAxis: 7809us [5us] (55.20%; 55.20%)
-        FoldConstant: 7804us [1577us] (55.17%; 99.94%)
-                InferType: 6227us [6227us] (44.02%; 79.79%)
+InferType: 6712us [6712us] (46.12%; 46.12%)
+FoldScaleAxis: 7840us [5us] (53.88%; 53.88%)
+        FoldConstant: 7835us [1643us] (53.84%; 99.94%)
+                InferType: 6192us [6192us] (42.55%; 79.03%)
 </pre></div>
 </div>
 <p>Register empty list to clear existing instruments.</p>
diff --git a/docs/how_to/optimize_operators/opt_conv_cuda.html b/docs/how_to/optimize_operators/opt_conv_cuda.html
index faa45229f..94015a9ac 100644
--- a/docs/how_to/optimize_operators/opt_conv_cuda.html
+++ b/docs/how_to/optimize_operators/opt_conv_cuda.html
@@ -556,7 +556,7 @@ latency of convolution.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Convolution: </span><span class="si">%f</span><span class="s2"> ms&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span> <span class="o">*</span> <span cl [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 54.105643 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 36.508513 ms
 </pre></div>
 </div>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-optimize-operators-opt-conv-cuda-py">
diff --git a/docs/how_to/optimize_operators/opt_conv_tensorcore.html b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
index 607676aee..e6f4df42b 100644
--- a/docs/how_to/optimize_operators/opt_conv_tensorcore.html
+++ b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
@@ -898,7 +898,7 @@ be able to run on our build server</p>
     <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;conv2d with tensor core: </span><span class="si">%f</span><span class="s2"> ms&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span> <span class="o">* [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 9.228341 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 13.361142 ms
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/optimize_operators/opt_gemm.html b/docs/how_to/optimize_operators/opt_gemm.html
index 9ef080a9d..1c08e410e 100644
--- a/docs/how_to/optimize_operators/opt_gemm.html
+++ b/docs/how_to/optimize_operators/opt_gemm.html
@@ -453,8 +453,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Baseline: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.018333
-Baseline: 3.438295
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.018618
+Baseline: 3.425947
 </pre></div>
 </div>
 <p>In TVM, we can always inspect lower level IR to debug or optimize our schedule.
@@ -514,7 +514,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt1: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.300797
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.297899
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -581,7 +581,7 @@ vastly.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt2: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.329375
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.335597
 </pre></div>
 </div>
 <p>Here is the generated IR after vectorization.</p>
@@ -642,7 +642,7 @@ the access pattern for A matrix is more cache friendly.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt3: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.116742
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.119677
 </pre></div>
 </div>
 <p>Here is the generated IR after loop permutation.</p>
@@ -725,7 +725,7 @@ flattening.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt4: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.110503
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.110711
 </pre></div>
 </div>
 <p>Here is the generated IR after array packing.</p>
@@ -811,7 +811,7 @@ write to C when all the block results are ready.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt5: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.111406
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.111777
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -901,7 +901,7 @@ write to C when all the block results are ready.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt6: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">opt6_time</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.145185
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.145677
 </pre></div>
 </div>
 <p>Here is the generated IR after parallelization.</p>
diff --git a/docs/how_to/optimize_operators/sg_execution_times.html b/docs/how_to/optimize_operators/sg_execution_times.html
index bde2522b3..82cfac755 100644
--- a/docs/how_to/optimize_operators/sg_execution_times.html
+++ b/docs/how_to/optimize_operators/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-optimize-operators-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:34.464</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
+<p><strong>00:34.658</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -331,15 +331,15 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="opt_gemm.html#sphx-glr-how-to-optimize-operators-opt-gemm-py"><span class="std std-ref">How to optimize GEMM on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_gemm.py</span></code>)</p></td>
-<td><p>00:32.169</p></td>
+<td><p>00:32.272</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="opt_conv_tensorcore.html#sphx-glr-how-to-optimize-operators-opt-conv-tensorcore-py"><span class="std std-ref">How to optimize convolution using TensorCores</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_conv_tensorcore.py</span></code>)</p></td>
-<td><p>00:01.257</p></td>
+<td><p>00:01.362</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="opt_conv_cuda.html#sphx-glr-how-to-optimize-operators-opt-conv-cuda-py"><span class="std std-ref">How to optimize convolution on GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_conv_cuda.py</span></code>)</p></td>
-<td><p>00:01.039</p></td>
+<td><p>00:01.025</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
index 6878fe765..f032f4b66 100644
--- a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
+++ b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-tune-with-autoscheduler-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>05:13.322</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
+<p><strong>05:11.455</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 85%" />
@@ -331,27 +331,27 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="tune_conv2d_layer_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-conv2d-layer-cuda-py"><span class="std std-ref">Auto-scheduling a Convolution Layer for GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_layer_cuda.py</span></code>)</p></td>
-<td><p>02:37.780</p></td>
+<td><p>02:33.566</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tune_network_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-x86-py"><span class="std std-ref">Auto-scheduling a Neural Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_x86.py</span></code>)</p></td>
-<td><p>01:19.702</p></td>
+<td><p>01:20.484</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="tune_network_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-cuda-py"><span class="std std-ref">Auto-scheduling a Neural Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_cuda.py</span></code>)</p></td>
-<td><p>00:42.738</p></td>
+<td><p>00:42.894</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tune_sparse_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-sparse-x86-py"><span class="std std-ref">Auto-scheduling Sparse Matrix Multiplication on CPU with Custom Sketch Rule</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_sparse_x86.py</span></code>)</p></td>
-<td><p>00:16.421</p></td>
+<td><p>00:17.379</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="tune_network_mali.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-mali-py"><span class="std std-ref">Auto-scheduling a Neural Network for mali GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_mali.py</span></code>)</p></td>
-<td><p>00:08.377</p></td>
+<td><p>00:08.627</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tune_network_arm.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-arm-py"><span class="std std-ref">Auto-scheduling a Neural Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_arm.py</span></code>)</p></td>
-<td><p>00:08.303</p></td>
+<td><p>00:08.505</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.html b/docs/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.html
index 6c8bd1a03..9047e85a9 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.html
@@ -486,219 +486,75 @@ cooperative fetching, unrolling and operator fusion.</p>
              compute: Buffer(compute_2: Pointer(float32), float32, [25088], [])}
   buffer_map = {data_1: data, kernel_1: kernel, bias_1: bias, compute_1: compute}
   preflattened_buffer_map = {data_1: data_3: Buffer(data_2, float32, [1, 512, 7, 7], []), kernel_1: kernel_3: Buffer(kernel_2, float32, [512, 512, 3, 3], []), bias_1: bias_3: Buffer(bias_2, float32, [1, 512, 1, 1], []), compute_1: compute_3: Buffer(compute_2, float32, [1, 512, 7, 7], [])} {
-  attr [IterVar(blockIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;blockIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-  allocate(conv2d_nchw: Pointer(local float32), float32, [2]), storage_scope = local;
+  attr [IterVar(blockIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;blockIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+  allocate(conv2d_nchw: Pointer(local float32), float32, [14]), storage_scope = local;
   allocate(pad_temp.shared: Pointer(shared float32), float32, [216]), storage_scope = shared;
-  allocate(kernel.shared: Pointer(shared float32), float32, [1152]), storage_scope = shared;
-  attr [IterVar(threadIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56 {
-    conv2d_nchw_1: Buffer(conv2d_nchw, float32, [2], [], scope=&quot;local&quot;, align=8)[0] = 0f32
+  allocate(kernel.shared: Pointer(shared float32), float32, [4608]), storage_scope = shared;
+  attr [IterVar(threadIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 32 {
+    conv2d_nchw_1: Buffer(conv2d_nchw, float32, [14], [], scope=&quot;local&quot;, align=32)[0] = 0f32
     conv2d_nchw_1[1] = 0f32
+    conv2d_nchw_1[2] = 0f32
+    conv2d_nchw_1[3] = 0f32
+    conv2d_nchw_1[4] = 0f32
+    conv2d_nchw_1[5] = 0f32
+    conv2d_nchw_1[6] = 0f32
+    conv2d_nchw_1[7] = 0f32
+    conv2d_nchw_1[8] = 0f32
+    conv2d_nchw_1[9] = 0f32
+    conv2d_nchw_1[10] = 0f32
+    conv2d_nchw_1[11] = 0f32
+    conv2d_nchw_1[12] = 0f32
+    conv2d_nchw_1[13] = 0f32
     for (rc.outer.outer: int32, 0, 64) {
-      let cse_var_2: int32 = (rc.outer.outer*392)
-      let cse_var_1: int32 = (rc.outer.outer*72)
+      let cse_var_1: int32 = (rc.outer.outer*392)
        {
-        attr [IterVar(threadIdx.x_1: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        pad_temp.shared_1: Buffer(pad_temp.shared, float32, [216], [], scope=&quot;shared&quot;)[threadIdx.x_1] = @tir.if_then_else(((((3 &lt;= floormod(threadIdx.x_1, 27)) &amp;&amp; (floormod(threadIdx.x_1, 27) &lt; 24)) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) &lt; 8)), data[(((((cse_var_2 + (floordiv(threadIdx.x_1, 27)*49)) + (floordiv(floormod(threadIdx.x_1, 27), 3)*7)) + floormod( [...]
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        pad_temp.shared_1[(threadIdx.x_1 + 56)] = @tir.if_then_else(((((3 &lt;= floormod((threadIdx.x_1 + 56), 27)) &amp;&amp; (floormod((threadIdx.x_1 + 2), 27) &lt; 24)) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) &lt; 8)), data[(((((cse_var_2 + (floordiv((threadIdx.x_1 + 56), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 2), 27), 3)*7)) + floormod(blockIdx.x, 7)) + floormod [...]
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        pad_temp.shared_1[(threadIdx.x_1 + 112)] = @tir.if_then_else(((((3 &lt;= floormod((threadIdx.x_1 + 112), 27)) &amp;&amp; (floormod((threadIdx.x_1 + 4), 27) &lt; 24)) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)) &lt; 8)), data[(((((cse_var_2 + (floordiv((threadIdx.x_1 + 112), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 4), 27), 3)*7)) + floormod(blockIdx.x, 7)) + floor [...]
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        if @tir.likely((threadIdx.x_1 &lt; 48), dtype=bool) {
-          pad_temp.shared_1[(threadIdx.x_1 + 168)] = @tir.if_then_else(((((1 &lt;= floormod((floordiv(threadIdx.x_1, 3) + 2), 9)) &amp;&amp; (floormod((threadIdx.x_1 + 6), 27) &lt; 24)) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) &lt; 8)), data[(((((cse_var_2 + (floordiv((threadIdx.x_1 + 168), 27)*49)) + (floormod((floordiv(threadIdx.x_1, 3) + 2), 9)*7)) + floormod(blockIdx.x, 7)) + floorm [...]
+        attr [IterVar(threadIdx.x_1: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 32;
+        pad_temp.shared_1: Buffer(pad_temp.shared, float32, [216], [], scope=&quot;shared&quot;)[threadIdx.x_1] = @tir.if_then_else(((((1 &lt;= (floordiv(floormod(threadIdx.x_1, 27), 9) + floormod(blockIdx.x, 7))) &amp;&amp; ((floordiv(floormod(threadIdx.x_1, 27), 9) + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod(threadIdx.x_1, 9))) &amp;&amp; (floormod(threadIdx.x_1, 9) &lt; 8)), data[(((((cse_var_1 + (floordiv(threadIdx.x_1, 27)*49)) + (floordiv(floormod(threadIdx.x_1 [...]
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 32;
+        pad_temp.shared_1[(threadIdx.x_1 + 32)] = @tir.if_then_else(((((1 &lt;= (floordiv(floormod((threadIdx.x_1 + 32), 27), 9) + floormod(blockIdx.x, 7))) &amp;&amp; ((floordiv(floormod((threadIdx.x_1 + 32), 27), 9) + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 5), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 5), 9) &lt; 8)), data[(((((cse_var_1 + (floordiv((threadIdx.x_1 + 32), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 5), 27), 9)*7)) + (floormod [...]
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 32;
+        pad_temp.shared_1[(threadIdx.x_1 + 64)] = @tir.if_then_else(((((1 &lt;= (floordiv(floormod((threadIdx.x_1 + 64), 27), 9) + floormod(blockIdx.x, 7))) &amp;&amp; ((floordiv(floormod((threadIdx.x_1 + 64), 27), 9) + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 1), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 1), 9) &lt; 8)), data[(((((cse_var_1 + (floordiv((threadIdx.x_1 + 64), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 10), 27), 9)*7)) + (floormo [...]
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 32;
+        pad_temp.shared_1[(threadIdx.x_1 + 96)] = @tir.if_then_else(((((1 &lt;= (floordiv(floormod((threadIdx.x_1 + 96), 27), 9) + floormod(blockIdx.x, 7))) &amp;&amp; ((floordiv(floormod((threadIdx.x_1 + 96), 27), 9) + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 6), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 6), 9) &lt; 8)), data[(((((cse_var_1 + (floordiv((threadIdx.x_1 + 96), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 15), 27), 9)*7)) + (floormo [...]
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 32;
+        pad_temp.shared_1[(threadIdx.x_1 + 128)] = @tir.if_then_else(((((1 &lt;= (floordiv(floormod((threadIdx.x_1 + 128), 27), 9) + floormod(blockIdx.x, 7))) &amp;&amp; ((floordiv(floormod((threadIdx.x_1 + 128), 27), 9) + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 2), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 2), 9) &lt; 8)), data[(((((cse_var_1 + (floordiv((threadIdx.x_1 + 128), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 20), 27), 9)*7)) + (flo [...]
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 32;
+        pad_temp.shared_1[(threadIdx.x_1 + 160)] = @tir.if_then_else(((((1 &lt;= (floordiv(floormod((threadIdx.x_1 + 160), 27), 9) + floormod(blockIdx.x, 7))) &amp;&amp; ((floordiv(floormod((threadIdx.x_1 + 160), 27), 9) + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 7), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 7), 9) &lt; 8)), data[(((((cse_var_1 + (floordiv((threadIdx.x_1 + 160), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 25), 27), 9)*7)) + (flo [...]
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 32;
+        if @tir.likely((threadIdx.x_1 &lt; 24), dtype=bool) {
+          pad_temp.shared_1[(threadIdx.x_1 + 192)] = @tir.if_then_else(((((1 &lt;= (floordiv(floormod((threadIdx.x_1 + 192), 27), 9) + floormod(blockIdx.x, 7))) &amp;&amp; ((floordiv(floormod((threadIdx.x_1 + 192), 27), 9) + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 3), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 3), 9) &lt; 8)), data[(((((cse_var_1 + (floordiv((threadIdx.x_1 + 192), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 30), 27), 9)*7)) + (f [...]
         }
-        attr [IterVar(threadIdx.x_2: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1: Buffer(kernel.shared, float32, [1152], [], scope=&quot;shared&quot;)[threadIdx.x_2] = kernel[(((floordiv(blockIdx.x, 7)*73728) + cse_var_1) + threadIdx.x_2)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 56)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 7), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 112)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 14), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 168)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 21), 9)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 24)*3)) + floormod(threadIdx.x_2, 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 28), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 224), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 280)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 35), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 280), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 336)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 42), 9)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 24)*3)) + floormod(threadIdx.x_2, 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 49), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 392), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 56), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 448), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 504)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + cse_var_1) + (floordiv(threadIdx.x_2, 3)*3)) + floormod(threadIdx.x_2, 3)) + 32256)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 560)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 70), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 560), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 616)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 77), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 616), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 84), 9)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 24)*3)) + floormod(threadIdx.x_2, 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 728)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 91), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 728), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 784)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 98), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 784), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 840)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 105), 9)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 24)*3)) + floormod(threadIdx.x_2, 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 112), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 896), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 952)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 119), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 952), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 1008)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + cse_var_1) + (floordiv(threadIdx.x_2, 3)*3)) + floormod(threadIdx.x_2, 3)) + 64512)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 1064)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 133), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1064), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        if @tir.likely((threadIdx.x_2 &lt; 32), dtype=bool) {
-          kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[(((((floordiv(blockIdx.x, 7)*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 140), 9)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1120), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+        for (ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer: int32, 0, 72) {
+          attr [IterVar(threadIdx.x_2: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 32;
+          kernel.shared_1: Buffer(kernel.shared, float32, [4608], [], scope=&quot;shared&quot;)[ramp(((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer*64) + (threadIdx.x_2*2)), 1, 2)] = kernel[ramp(((((floordiv(blockIdx.x, 7)*294912) + (floordiv(((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer*64) + (threadIdx.x_2*2)), 72)*4608)) + (rc.outer.outer*72)) + floormod(((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer*64) + (threadIdx.x_2*2)), 72)), 1, 2)]
+        }
+        for (rc.outer.inner: int32, 0, 4) {
+          for (ff.outer.inner: int32, 0, 2) {
+            for (xx.outer.inner: int32, 0, 7) {
+              for (rc.inner: int32, 0, 2) {
+                let cse_var_3: int32 = ((ff.outer.inner*7) + xx.outer.inner)
+                let cse_var_2: int32 = (((rc.outer.inner*54) + (rc.inner*27)) + xx.outer.inner)
+                 {
+                  conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[cse_var_2]*kernel.shared_1[((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9))]))
+                  conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 1)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 1)]))
+                  conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 2)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 2)]))
+                  conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 9)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 3)]))
+                  conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 10)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 4)]))
+                  conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 11)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 5)]))
+                  conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 18)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 6)]))
+                  conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 19)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 7)]))
+                  conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(cse_var_2 + 20)]*kernel.shared_1[(((((threadIdx.x*144) + (ff.outer.inner*72)) + (rc.outer.inner*18)) + (rc.inner*9)) + 8)]))
+                }
+              }
+            }
+          }
         }
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[(floordiv(threadIdx.x, 7)*144)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 72)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 75)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 6)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 78)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 9)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 81)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 12)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 84)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 15)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 87)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 18)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 90)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 21)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 93)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 24)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 96)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 27)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 99)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 30)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 102)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 33)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 105)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 73)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 4)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 76)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 7)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 79)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 10)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 82)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 13)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 85)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 16)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 88)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 19)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 91)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 22)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 94)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 25)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 97)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 28)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 100)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 31)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 103)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 34)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 106)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 74)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 5)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 77)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 8)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 80)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 11)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 83)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 14)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 86)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 17)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 89)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 20)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 92)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 23)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 95)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 26)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 98)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 29)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 101)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 32)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 104)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 35)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 107)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 108)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 36)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 108)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 108)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 111)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 39)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 111)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 111)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 114)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 42)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 114)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 114)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 135)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 45)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 135)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 117)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 138)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 48)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 138)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 120)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 141)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 51)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 141)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 123)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 162)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 54)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 162)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 126)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 165)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 57)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 165)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 129)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 60)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 132)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 63)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 135)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 192)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 66)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 192)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 138)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 195)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 69)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 195)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 141)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 109)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 37)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 109)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 109)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 112)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 40)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 112)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 112)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 115)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 43)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 115)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 115)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 136)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 46)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 136)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 118)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 139)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 49)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 139)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 121)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 142)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 52)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 142)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 124)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 163)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 55)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 163)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 127)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 166)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 58)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 166)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 130)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 61)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 133)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 64)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 136)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 193)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 67)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 193)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 139)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 196)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 70)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 196)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 142)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 110)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 38)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 110)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 110)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 113)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 41)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 113)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 113)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 116)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 44)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 116)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 116)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 137)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 47)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 137)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 119)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 140)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 50)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 140)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 122)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 143)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 53)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 143)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 125)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 164)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 56)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 164)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 128)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 167)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 59)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 167)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 131)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 62)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 134)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 65)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 137)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 194)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 68)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 194)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 140)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 197)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 71)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 197)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 143)]))
       }
     }
     for (i1.inner: int32, 0, 2) {
-      compute[(((((floordiv(blockIdx.x, 7)*784) + (floordiv(threadIdx.x, 7)*98)) + (i1.inner*49)) + (floormod(threadIdx.x, 7)*7)) + floormod(blockIdx.x, 7))] = max((conv2d_nchw_1[i1.inner] + bias[(((floordiv(blockIdx.x, 7)*16) + (floordiv(threadIdx.x, 7)*2)) + i1.inner)]), 0f32)
+      for (i3.inner: int32, 0, 7) {
+        compute[(((((floordiv(blockIdx.x, 7)*3136) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + i3.inner)] = max((conv2d_nchw_1[((i1.inner*7) + i3.inner)] + bias[(((floordiv(blockIdx.x, 7)*64) + (threadIdx.x*2)) + i1.inner)]), 0f32)
+      }
     }
   }
 }
@@ -735,7 +591,7 @@ cooperative fetching, unrolling and operator fusion.</p>
 <span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.320 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.342 ms
 </pre></div>
 </div>
 </div>
@@ -764,35 +620,35 @@ conv2d_nchw_nn_o_i, conv2d_nchw_nn_i = s[conv2d_nchw].split(conv2d_nchw_nn, fact
 conv2d_nchw_nn_o_o_i, conv2d_nchw_nn_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_i, factor=1)
 conv2d_nchw_nn_o_o_o_i, conv2d_nchw_nn_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_i, factor=1)
 conv2d_nchw_nn_o_o_o_o, conv2d_nchw_nn_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_o_i, factor=1)
-conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=2)
-conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=1)
-conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=8)
+conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=1)
+conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=2)
+conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=32)
 conv2d_nchw_ff_o_o_o_o, conv2d_nchw_ff_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_o_i, factor=1)
 conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=1)
 conv2d_nchw_yy_o_o_i, conv2d_nchw_yy_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_i, factor=1)
-conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_i, factor=7)
+conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_i, factor=1)
 conv2d_nchw_yy_o_o_o_o, conv2d_nchw_yy_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_o_i, factor=1)
 conv2d_nchw_xx_o_i, conv2d_nchw_xx_i = s[conv2d_nchw].split(conv2d_nchw_xx, factor=1)
-conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=1)
+conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=7)
 conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=1)
 conv2d_nchw_xx_o_o_o_o, conv2d_nchw_xx_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_o_i, factor=1)
-conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=4)
-conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=2)
+conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=2)
+conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=4)
 conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=3)
 conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=1)
-conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=1)
-conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=3)
+conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=3)
+conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=1)
 s[conv2d_nchw].reorder(conv2d_nchw_nn_o_o_o_o, conv2d_nchw_ff_o_o_o_o, conv2d_nchw_yy_o_o_o_o, conv2d_nchw_xx_o_o_o_o, conv2d_nchw_nn_o_o_o_i, conv2d_nchw_ff_o_o_o_i, conv2d_nchw_yy_o_o_o_i, conv2d_nchw_xx_o_o_o_i, conv2d_nchw_nn_o_o_i, conv2d_nchw_ff_o_o_i, conv2d_nchw_yy_o_o_i, conv2d_nchw_xx_o_o_i, conv2d_nchw_rc_o_o, conv2d_nchw_ry_o_o, conv2d_nchw_rx_o_o, conv2d_nchw_rc_o_i, conv2d_nchw_ry_o_i, conv2d_nchw_rx_o_i, conv2d_nchw_nn_o_i, conv2d_nchw_ff_o_i, conv2d_nchw_yy_o_i, conv2d_nc [...]
 compute_i0_o_i, compute_i0_i = s[compute].split(compute_i0, factor=1)
 compute_i0_o_o_i, compute_i0_o_i = s[compute].split(compute_i0_o_i, factor=1)
 compute_i0_o_o_o, compute_i0_o_o_i = s[compute].split(compute_i0_o_o_i, factor=1)
 compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=2)
-compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=8)
+compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=32)
 compute_i1_o_o_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=1)
 compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, factor=1)
-compute_i2_o_o_i, compute_i2_o_i = s[compute].split(compute_i2_o_i, factor=7)
+compute_i2_o_o_i, compute_i2_o_i = s[compute].split(compute_i2_o_i, factor=1)
 compute_i2_o_o_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=1)
-compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=1)
+compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=7)
 compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=1)
 compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=1)
 s[compute].reorder(compute_i0_o_o_o, compute_i1_o_o_o, compute_i2_o_o_o, compute_i3_o_o_o, compute_i0_o_o_i, compute_i1_o_o_i, compute_i2_o_o_i, compute_i3_o_o_i, compute_i0_o_i, compute_i1_o_i, compute_i2_o_i, compute_i3_o_i, compute_i0_i, compute_i1_i, compute_i2_i, compute_i3_i)
@@ -811,16 +667,16 @@ s[compute].bind(compute_i0_o_o_i_i1_o_o_i_fused_i2_o_o_i_fused_i3_o_o_i_fused, t
 compute_i0_o_i_i1_o_i_fused_i2_o_i_fused_i3_o_i_fused = s[compute].fuse(compute_i0_o_i, compute_i1_o_i, compute_i2_o_i, compute_i3_o_i)
 s[compute].bind(compute_i0_o_i_i1_o_i_fused_i2_o_i_fused_i3_o_i_fused, te.thread_axis(&quot;threadIdx.x&quot;))
 kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[kernel_shared].fuse(kernel_shared_ax0, kernel_shared_ax1, kernel_shared_ax2, kernel_shared_ax3)
-kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
+kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=2)
 s[kernel_shared].vectorize(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=56)
+kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=32)
 s[kernel_shared].bind(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis(&quot;threadIdx.x&quot;))
 pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[pad_temp_shared].fuse(pad_temp_shared_ax0, pad_temp_shared_ax1, pad_temp_shared_ax2, pad_temp_shared_ax3)
 pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
 s[pad_temp_shared].vectorize(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=56)
+pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=32)
 s[pad_temp_shared].bind(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis(&quot;threadIdx.x&quot;))
-s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, &quot;auto_unroll_max_step&quot;, 1024)
+s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, &quot;auto_unroll_max_step&quot;, 16)
 s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, &quot;unroll_explicit&quot;, True)
 
 CUDA source code:
@@ -838,191 +694,61 @@ CUDA source code:
   #define int64_t long long
   #define uint64_t unsigned long long
 #endif
-extern &quot;C&quot; __global__ void __launch_bounds__(56) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
-  float conv2d_nchw[2];
+extern &quot;C&quot; __global__ void __launch_bounds__(32) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
+  float conv2d_nchw[14];
   __shared__ float pad_temp_shared[216];
-  __shared__ float kernel_shared[1152];
+  __shared__ float kernel_shared[4608];
   conv2d_nchw[0] = 0.000000e+00f;
   conv2d_nchw[1] = 0.000000e+00f;
+  conv2d_nchw[2] = 0.000000e+00f;
+  conv2d_nchw[3] = 0.000000e+00f;
+  conv2d_nchw[4] = 0.000000e+00f;
+  conv2d_nchw[5] = 0.000000e+00f;
+  conv2d_nchw[6] = 0.000000e+00f;
+  conv2d_nchw[7] = 0.000000e+00f;
+  conv2d_nchw[8] = 0.000000e+00f;
+  conv2d_nchw[9] = 0.000000e+00f;
+  conv2d_nchw[10] = 0.000000e+00f;
+  conv2d_nchw[11] = 0.000000e+00f;
+  conv2d_nchw[12] = 0.000000e+00f;
+  conv2d_nchw[13] = 0.000000e+00f;
   for (int rc_outer_outer = 0; rc_outer_outer &lt; 64; ++rc_outer_outer) {
     __syncthreads();
-    pad_temp_shared[((int)threadIdx.x)] = (((((3 &lt;= (((int)threadIdx.x) % 27)) &amp;&amp; ((((int)threadIdx.x) % 27) &lt; 24)) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) &lt; 8)) ? data[((((((rc_outer_outer * 392) + ((((int)threadIdx.x) / 27) * 49)) + (((((int)threadIdx.x) % 27) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 56)] = (((((3 &lt;= ((((int)threadIdx.x) + 2) % 27)) &amp;&amp; (((((int)threadIdx.x) + 2) % 27) &lt; 24)) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) &lt; 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 56) / 27) * 49)) + ((((((int)threadIdx.x) + 2) % 27) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) %  [...]
-    pad_temp_shared[(((int)threadIdx.x) + 112)] = (((((3 &lt;= ((((int)threadIdx.x) + 4) % 27)) &amp;&amp; (((((int)threadIdx.x) + 4) % 27) &lt; 24)) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)) &lt; 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 112) / 27) * 49)) + ((((((int)threadIdx.x) + 4) % 27) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 1)  [...]
-    if (((int)threadIdx.x) &lt; 48) {
-      pad_temp_shared[(((int)threadIdx.x) + 168)] = (((((1 &lt;= (((((int)threadIdx.x) / 3) + 2) % 9)) &amp;&amp; (((((int)threadIdx.x) + 6) % 27) &lt; 24)) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) &lt; 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 168) / 27) * 49)) + ((((((int)threadIdx.x) / 3) + 2) % 9) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) - 8)]  [...]
+    pad_temp_shared[((int)threadIdx.x)] = (((((1 &lt;= (((((int)threadIdx.x) % 27) / 9) + (((int)blockIdx.x) % 7))) &amp;&amp; ((((((int)threadIdx.x) % 27) / 9) + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= (((int)threadIdx.x) % 9))) &amp;&amp; ((((int)threadIdx.x) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + ((((int)threadIdx.x) / 27) * 49)) + (((((int)threadIdx.x) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 32)] = (((((1 &lt;= ((((((int)threadIdx.x) + 5) % 27) / 9) + (((int)blockIdx.x) % 7))) &amp;&amp; (((((((int)threadIdx.x) + 5) % 27) / 9) + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 5) % 9))) &amp;&amp; (((((int)threadIdx.x) + 5) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 32) / 27) * 49)) + ((((((int)threadIdx.x) + 5) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)thr [...]
+    pad_temp_shared[(((int)threadIdx.x) + 64)] = (((((1 &lt;= ((((((int)threadIdx.x) + 10) % 27) / 9) + (((int)blockIdx.x) % 7))) &amp;&amp; (((((((int)threadIdx.x) + 10) % 27) / 9) + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 1) % 9))) &amp;&amp; (((((int)threadIdx.x) + 1) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 64) / 27) * 49)) + ((((((int)threadIdx.x) + 10) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int) [...]
+    pad_temp_shared[(((int)threadIdx.x) + 96)] = (((((1 &lt;= ((((((int)threadIdx.x) + 15) % 27) / 9) + (((int)blockIdx.x) % 7))) &amp;&amp; (((((((int)threadIdx.x) + 15) % 27) / 9) + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 6) % 9))) &amp;&amp; (((((int)threadIdx.x) + 6) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 96) / 27) * 49)) + ((((((int)threadIdx.x) + 15) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int) [...]
+    pad_temp_shared[(((int)threadIdx.x) + 128)] = (((((1 &lt;= ((((((int)threadIdx.x) + 20) % 27) / 9) + (((int)blockIdx.x) % 7))) &amp;&amp; (((((((int)threadIdx.x) + 20) % 27) / 9) + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 2) % 9))) &amp;&amp; (((((int)threadIdx.x) + 2) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 128) / 27) * 49)) + ((((((int)threadIdx.x) + 20) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((in [...]
+    pad_temp_shared[(((int)threadIdx.x) + 160)] = (((((1 &lt;= ((((((int)threadIdx.x) + 25) % 27) / 9) + (((int)blockIdx.x) % 7))) &amp;&amp; (((((((int)threadIdx.x) + 25) % 27) / 9) + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 7) % 9))) &amp;&amp; (((((int)threadIdx.x) + 7) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 160) / 27) * 49)) + ((((((int)threadIdx.x) + 25) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((in [...]
+    if (((int)threadIdx.x) &lt; 24) {
+      pad_temp_shared[(((int)threadIdx.x) + 192)] = (((((1 &lt;= ((((((int)threadIdx.x) + 3) % 27) / 9) + (((int)blockIdx.x) % 7))) &amp;&amp; (((((((int)threadIdx.x) + 3) % 27) / 9) + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 3) % 9))) &amp;&amp; (((((int)threadIdx.x) + 3) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 192) / 27) * 49)) + ((((((int)threadIdx.x) + 3) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int [...]
     }
-    kernel_shared[((int)threadIdx.x)] = kernel[((((((int)blockIdx.x) / 7) * 73728) + (rc_outer_outer * 72)) + ((int)threadIdx.x))];
-    kernel_shared[(((int)threadIdx.x) + 56)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 56) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 112)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 112) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 168)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 168) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 8) % 24) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 224)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 224) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 280)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 280) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 64) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 336)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 336) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 16) % 24) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 392)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 392) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 32) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 448)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 448) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 504)] = kernel[(((((((int)blockIdx.x) / 7) * 73728) + (rc_outer_outer * 72)) + ((int)threadIdx.x)) + 32256)];
-    kernel_shared[(((int)threadIdx.x) + 560)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 560) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 616)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 616) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 672)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 672) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 8) % 24) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 728)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 728) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 784)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 784) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 64) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 840)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 840) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 16) % 24) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 896)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 896) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 32) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 952)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 952) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[(((((((int)blockIdx.x) / 7) * 73728) + (rc_outer_outer * 72)) + ((int)threadIdx.x)) + 64512)];
-    kernel_shared[(((int)threadIdx.x) + 1064)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 1064) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    if (((int)threadIdx.x) &lt; 32) {
-      kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[((((((((int)blockIdx.x) / 7) * 73728) + (((((int)threadIdx.x) + 1120) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+    for (int ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer = 0; ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer &lt; 72; ++ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer) {
+      *(float2*)(kernel_shared + ((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer * 64) + (((int)threadIdx.x) * 2))) = *(float2*)(kernel + (((((((int)blockIdx.x) / 7) * 294912) + ((((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer * 64) + (((int)threadIdx.x) * 2)) / 72) * 4608)) + (rc_outer_outer * 72)) + (((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer * 64) + (((int)threadIdx.x) * 2)) % 72)));
     }
     __syncthreads();
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[((((int)threadIdx.x) / 7) * 144)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 72)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 75)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 6)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 78)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 9)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 81)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 12)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 84)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 15)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 87)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 18)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 90)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 21)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 93)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 24)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 96)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 27)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 99)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 30)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 102)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 33)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 105)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 73)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 4)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 76)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 7)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 79)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 10)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 82)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 13)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 85)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 16)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 88)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 19)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 91)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 22)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 94)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 25)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 97)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 28)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 100)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 31)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 103)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 34)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 106)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 74)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 5)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 77)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 8)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 80)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 11)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 83)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 14)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 86)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 17)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 89)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 20)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 92)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 23)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 95)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 26)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 98)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 29)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 101)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 32)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 104)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 35)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 107)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 36)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 108)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 111)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 39)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 111)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 111)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 114)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 42)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 114)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 114)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 45)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 117)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 138)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 48)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 138)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 120)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 141)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 51)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 141)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 123)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 162)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 54)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 162)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 126)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 165)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 57)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 165)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 129)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 60)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 132)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 63)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 135)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 192)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 66)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 192)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 138)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 195)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 69)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 195)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 141)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 37)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 109)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 112)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 40)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 112)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 112)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 115)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 43)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 115)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 115)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 46)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 118)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 139)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 49)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 139)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 121)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 142)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 52)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 142)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 124)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 163)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 55)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 163)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 127)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 166)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 58)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 166)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 130)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 61)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 133)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 64)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 136)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 193)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 67)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 193)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 139)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 196)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 70)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 196)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 142)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 38)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 110)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 113)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 41)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 113)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 113)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 116)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 44)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 116)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 116)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 47)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 119)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 140)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 50)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 140)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 122)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 143)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 53)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 143)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 125)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 164)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 56)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 164)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 128)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 167)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 59)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 167)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 131)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 62)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 134)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 65)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 137)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 194)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 68)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 194)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 140)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 197)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 71)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 197)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 143)]));
+    for (int rc_outer_inner = 0; rc_outer_inner &lt; 4; ++rc_outer_inner) {
+      for (int ff_outer_inner = 0; ff_outer_inner &lt; 2; ++ff_outer_inner) {
+        for (int xx_outer_inner = 0; xx_outer_inner &lt; 7; ++xx_outer_inner) {
+          for (int rc_inner = 0; rc_inner &lt; 2; ++rc_inner) {
+            conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[(((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner)] * kernel_shared[((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9))]));
+            conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 1)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 1)]));
+            conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 2)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 2)]));
+            conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 9)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 3)]));
+            conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 10)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 4)]));
+            conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 11)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 5)]));
+            conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 18)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 6)]));
+            conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 19)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 7)]));
+            conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] = (conv2d_nchw[((ff_outer_inner * 7) + xx_outer_inner)] + (pad_temp_shared[((((rc_outer_inner * 54) + (rc_inner * 27)) + xx_outer_inner) + 20)] * kernel_shared[(((((((int)threadIdx.x) * 144) + (ff_outer_inner * 72)) + (rc_outer_inner * 18)) + (rc_inner * 9)) + 8)]));
+          }
+        }
+      }
+    }
   }
   for (int i1_inner = 0; i1_inner &lt; 2; ++i1_inner) {
-    compute[((((((((int)blockIdx.x) / 7) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + ((((int)threadIdx.x) % 7) * 7)) + (((int)blockIdx.x) % 7))] = max((conv2d_nchw[i1_inner] + bias[((((((int)blockIdx.x) / 7) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
+    for (int i3_inner = 0; i3_inner &lt; 7; ++i3_inner) {
+      compute[((((((((int)blockIdx.x) / 7) * 3136) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + i3_inner)] = max((conv2d_nchw[((i1_inner * 7) + i3_inner)] + bias[((((((int)blockIdx.x) / 7) * 64) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
+    }
   }
 }
 </pre></div>
@@ -1059,7 +785,7 @@ In the example below we resume the status and do more 5 trials.</p>
 Get devices for measurement successfully!
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  37.780 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  33.566 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autoscheduler-tune-conv2d-layer-cuda-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/e3e540f3b477c0c52d8eb73e674e8ffd/tune_conv2d_layer_cuda.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">tune_conv2d_layer_cuda.py</span></code></a></p>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
index 17e209c3e..dc4e45f6e 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
@@ -901,7 +901,7 @@ so we can read the log file and load the best schedules.</p>
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   9.6310       9.6329       9.6534       9.6065       0.0192
+   9.6801       9.6508       9.7407       9.6489       0.0428
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
index f2f49fb5a..4dbc33ef8 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
@@ -920,7 +920,7 @@ so we can read the log file and load the best schedules.</p>
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  756.0595     756.3135     756.5671     755.2978      0.5484
+  768.4595     769.1067     769.3829     766.8890      1.1163
 </pre></div>
 </div>
 </div>
@@ -942,7 +942,7 @@ to learn how to use the RPC Tracker and RPC Server.
 To use the RPC Tracker in auto-scheduler, replace the runner in <code class="code docutils literal notranslate"><span class="pre">TuningOptions</span></code>
 with <a class="reference internal" href="../../reference/api/python/auto_scheduler.html#tvm.auto_scheduler.RPCRunner" title="tvm.auto_scheduler.RPCRunner"><code class="xref any py py-class docutils literal notranslate"><span class="pre">auto_scheduler.RPCRunner</span></code></a>.</p></li>
 </ol>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  19.702 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  20.484 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autoscheduler-tune-network-x86-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/e416b94ca1090b0897c0f6e0df95b911/tune_network_x86.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">tune_network_x86.py</span></code></a></p>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
index 33053bacf..ed27bcd9e 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
@@ -620,30 +620,76 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
              placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [65536], []),
              compute: Buffer(compute_2: Pointer(float32), float32, [65536], [])}
   buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute}
-  preflattened_buffer_map = {placeholder_9: placeholder_15: Buffer(placeholder_14, float32, [128, 512], []), placeholder_6: placeholder_16: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_5: placeholder_17: Buffer(placeholder_10, float32, [128, 256], []), placeholder_7: placeholder_18: Buffer(placeholder_12, int32, [4916], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_8: placeholder_19: Buffer(placeholder_13, int32, [33], [])} {
-  for (i0.outer.i1.outer.fused: int32, 0, 16) &quot;parallel&quot; {
-    allocate(compute_4: Pointer(global float32), float32, [4096]), storage_scope = global {
-      for (i.outer.inner: int32, 0, 8) {
-        for (nb_j.inner: int32, 0, 2) {
-          for (i.inner.init: int32, 0, 16) {
-            for (j.init: int32, 0, 16) {
-              compute_5: Buffer(compute_4, float32, [4096], [])[((((i.outer.inner*512) + (i.inner.init*32)) + (nb_j.inner*16)) + j.init)] = 0f32
-            }
+  preflattened_buffer_map = {placeholder_7: placeholder_15: Buffer(placeholder_12, int32, [4916], []), placeholder_8: placeholder_16: Buffer(placeholder_13, int32, [33], []), placeholder_5: placeholder_17: Buffer(placeholder_10, float32, [128, 256], []), placeholder_9: placeholder_18: Buffer(placeholder_14, float32, [128, 512], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_6: placeholder_19: Buffer(placeholder_11, float32, [4916, 16, 1], [])} {
+  for (i0.outer.i1.outer.fused: int32, 0, 64) &quot;parallel&quot; {
+    allocate(compute_4: Pointer(global float32), float32, [1024]), storage_scope = global {
+      for (nb_j.inner: int32, 0, 2) {
+        for (i.inner.init: int32, 0, 32) {
+          let cse_var_1: int32 = ((i.inner.init*32) + (nb_j.inner*16))
+           {
+            compute_5: Buffer(compute_4, float32, [1024], [])[cse_var_1] = 0f32
+            compute_5[(cse_var_1 + 1)] = 0f32
+            compute_5[(cse_var_1 + 2)] = 0f32
+            compute_5[(cse_var_1 + 3)] = 0f32
+            compute_5[(cse_var_1 + 4)] = 0f32
+            compute_5[(cse_var_1 + 5)] = 0f32
+            compute_5[(cse_var_1 + 6)] = 0f32
+            compute_5[(cse_var_1 + 7)] = 0f32
+            compute_5[(cse_var_1 + 8)] = 0f32
+            compute_5[(cse_var_1 + 9)] = 0f32
+            compute_5[(cse_var_1 + 10)] = 0f32
+            compute_5[(cse_var_1 + 11)] = 0f32
+            compute_5[(cse_var_1 + 12)] = 0f32
+            compute_5[(cse_var_1 + 13)] = 0f32
+            compute_5[(cse_var_1 + 14)] = 0f32
+            compute_5[(cse_var_1 + 15)] = 0f32
           }
-          for (elem_idx: int32, 0, let cse_var_1: int32 = ((i0.outer.i1.outer.fused*2) + nb_j.inner) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
-            for (i.inner: int32, 0, 16) {
-              for (j: int32, 0, 16) {
-                let cse_var_3: int32 = ((i0.outer.i1.outer.fused*2) + nb_j.inner)
-                let cse_var_2: int32 = ((((i.outer.inner*512) + (i.inner*32)) + (nb_j.inner*16)) + j)
-                compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[(((i.outer.inner*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
-              }
+        }
+        for (elem_idx: int32, 0, let cse_var_2: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_2 + 1)] - placeholder_3[cse_var_2])) {
+          for (i.inner: int32, 0, 32) {
+            let cse_var_21: int32 = (elem_idx*16)
+            let cse_var_20: int32 = ((i.inner*32) + (nb_j.inner*16))
+            let cse_var_19: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
+            let cse_var_18: int32 = ((floordiv(i0.outer.i1.outer.fused, 16)*8192) + (i.inner*256))
+            let cse_var_17: int32 = (cse_var_20 + 9)
+            let cse_var_16: int32 = (cse_var_20 + 8)
+            let cse_var_15: int32 = (cse_var_20 + 7)
+            let cse_var_14: int32 = (cse_var_20 + 6)
+            let cse_var_13: int32 = (cse_var_20 + 5)
+            let cse_var_12: int32 = (cse_var_20 + 4)
+            let cse_var_11: int32 = (cse_var_20 + 3)
+            let cse_var_10: int32 = (cse_var_20 + 2)
+            let cse_var_9: int32 = (cse_var_20 + 15)
+            let cse_var_8: int32 = (cse_var_20 + 14)
+            let cse_var_7: int32 = (cse_var_20 + 13)
+            let cse_var_6: int32 = (cse_var_20 + 12)
+            let cse_var_5: int32 = (cse_var_20 + 11)
+            let cse_var_4: int32 = (cse_var_20 + 10)
+            let cse_var_3: int32 = (cse_var_20 + 1)
+             {
+              compute_5[cse_var_20] = (compute_5[cse_var_20] + (placeholder_1[((placeholder_3[cse_var_19]*16) + cse_var_21)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_3] = (compute_5[cse_var_3] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 1)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_10] = (compute_5[cse_var_10] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 2)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_11] = (compute_5[cse_var_11] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 3)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_12] = (compute_5[cse_var_12] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 4)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_13] = (compute_5[cse_var_13] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 5)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_14] = (compute_5[cse_var_14] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 6)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_15] = (compute_5[cse_var_15] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 7)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_16] = (compute_5[cse_var_16] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 8)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_17] = (compute_5[cse_var_17] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 9)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 10)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_5] = (compute_5[cse_var_5] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 11)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_6] = (compute_5[cse_var_6] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 12)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_7] = (compute_5[cse_var_7] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 13)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_8] = (compute_5[cse_var_8] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 14)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_9] = (compute_5[cse_var_9] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 15)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
             }
           }
         }
       }
-      for (i0.inner: int32, 0, 128) {
-        let cse_var_4: int32 = ((i0.inner*512) + (i0.outer.i1.outer.fused*32))
-        compute[ramp(cse_var_4, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_4, 1, 32)]), broadcast(0f32, 32))
+      for (i0.inner: int32, 0, 32) {
+        let cse_var_22: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*16384) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
+        compute[ramp(cse_var_22, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_22, 1, 32)]), broadcast(0f32, 32))
       }
     }
   }
@@ -681,7 +727,7 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
 <span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.507 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.760 ms
 </pre></div>
 </div>
 <div class="admonition note">
diff --git a/docs/how_to/tune_with_autotvm/sg_execution_times.html b/docs/how_to/tune_with_autotvm/sg_execution_times.html
index f37bae074..7d6f94e73 100644
--- a/docs/how_to/tune_with_autotvm/sg_execution_times.html
+++ b/docs/how_to/tune_with_autotvm/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-tune-with-autotvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:43.359</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
+<p><strong>00:43.344</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 84%" />
@@ -331,11 +331,11 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="tune_conv2d_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-conv2d-cuda-py"><span class="std std-ref">Tuning High Performance Convolution on NVIDIA GPUs</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_cuda.py</span></code>)</p></td>
-<td><p>00:43.326</p></td>
+<td><p>00:43.310</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tune_relay_x86.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-x86-py"><span class="std std-ref">Auto-tuning a Convolutional Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_x86.py</span></code>)</p></td>
-<td><p>00:00.019</p></td>
+<td><p>00:00.021</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="tune_relay_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-cuda-py"><span class="std std-ref">Auto-tuning a Convolutional Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_cuda.py</span></code>)</p></td>
diff --git a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
index 32e968604..36713db2e 100644
--- a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
+++ b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
@@ -1164,8 +1164,8 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 4, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 1, 128]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2885496
-No: 6   GFLOPS: 98.03/98.03     result: MeasureResult(costs=(0.0023614614791666664,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.8400790691375732, timestamp=1655942741.669871)       [(&#39;tile_f&#39;, [-1, 1, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 4, 4]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,3754080
-No: 7   GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+No: 6   GFLOPS: 92.71/92.71     result: MeasureResult(costs=(0.002497149,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6585273742675781, timestamp=1655944695.6662278)        [(&#39;tile_f&#39;, [-1, 1, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 4, 4]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,3754080
+No: 7   GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1288,7 +1288,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 16, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 256, 1]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6225319
-No: 8   GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+No: 8   GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1411,7 +1411,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 1, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 8, 64]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,943546
-No: 9   GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+No: 9   GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1534,7 +1534,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 16, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 16, 32]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2868708
-No: 10  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+No: 10  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 142, in build
     res = future.result()
   File &quot;/usr/lib/python3.7/concurrent/futures/_base.py&quot;, line 435, in result
@@ -1552,7 +1552,7 @@ No: 10  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
 TimeoutError
 
         [(&#39;tile_f&#39;, [-1, 32, 2, 4]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 4, 2]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4691833
-No: 11  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+No: 11  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1675,7 +1675,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 2, 64]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 4]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,1042124
-No: 12  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+No: 12  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1798,7 +1798,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 32, 1, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 32, 16]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,10013405
-No: 13  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+No: 13  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1921,7 +1921,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 8, 8, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 4, 32]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6732082
-No: 14  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+No: 14  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -2044,7 +2044,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 4, 32]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 128]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,7536735
-No: 15  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+No: 15  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -2167,7 +2167,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 1, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 128, 4]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,482121
-No: 16  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+No: 16  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -2290,7 +2290,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 1, 16]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 32, 8]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2824525
-No: 17  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+No: 17  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -2413,7 +2413,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 64, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 8, 8]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4559286
-No: 18  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+No: 18  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -2536,7 +2536,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 32, 16]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 512]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9677544
-No: 19  GFLOPS: 0.00/98.03      result: Traceback (most recent call last):
+No: 19  GFLOPS: 0.00/92.71      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 738, in __call__
     yield remote, remote.load_module(os.path.split(build_result.filename)[1])
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 702, in run_through_rpc
@@ -2624,7 +2624,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   15: _PyEval_EvalFrameDefault
   14: 0x0000000000537c30
   13: _PyObject_FastCallKeywords
-  12: 0x00007f8a7c458fa2
+  12: 0x00007fc014277fa2
   11: _ctypes_callproc
   10: ffi_call
   9: ffi_call_unix64
@@ -2689,7 +2689,7 @@ Traceback (most recent call last):
   21: _PyFunction_FastCallKeywords
   20: _PyEval_EvalFrameDefault
   19: _PyFunction_FastCall      [(&#39;tile_f&#39;, [-1, 8, 2, 16]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6390073
-No: 20  GFLOPS: 144.64/144.64   result: MeasureResult(costs=(0.00160057894,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4192841053009033, timestamp=1655942768.0792494)      [(&#39;tile_f&#39;, [-1, 1, 4, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9881539
+No: 20  GFLOPS: 143.70/143.70   result: MeasureResult(costs=(0.0016110570799999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4169394969940186, timestamp=1655944722.1775606)      [(&#39;tile_f&#39;, [-1, 1, 4, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9881539
 </pre></div>
 </div>
 <p>Finally we can inspect the best config from log file, check correctness,
@@ -2730,7 +2730,7 @@ and measure running time.</p>
 Best config:
 [(&#39;tile_f&#39;, [-1, 1, 4, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9881539
 Finish loading 20 records
-Time cost of this operator: 0.001965
+Time cost of this operator: 0.002017
 </pre></div>
 </div>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autotvm-tune-conv2d-cuda-py">
diff --git a/docs/how_to/work_with_microtvm/micro_autotune.html b/docs/how_to/work_with_microtvm/micro_autotune.html
index aac74a436..972e9632f 100644
--- a/docs/how_to/work_with_microtvm/micro_autotune.html
+++ b/docs/how_to/work_with_microtvm/micro_autotune.html
@@ -578,10 +578,10 @@ the tuned operator.</p>
 ########## Build without Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs
 ---------                                     ---                                           --------  -------  -----              ------  -------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  321.2     98.752   (1, 2, 10, 10, 3)  2       1
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.159     0.971    (1, 6, 10, 10)     1       1
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.901     0.277    (1, 1, 10, 10, 3)  1       1
-Total_time                                    -                                             325.26    -        -                  -       -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  318.1     98.76    (1, 2, 10, 10, 3)  2       1
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.073     0.954    (1, 6, 10, 10)     1       1
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.921     0.286    (1, 1, 10, 10, 3)  1       1
+Total_time                                    -                                             322.094   -        -                  -       -
 </pre></div>
 </div>
 </div>
@@ -634,10 +634,10 @@ Total_time                                    -
 ########## Build with Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs
 ---------                                     ---                                           --------  -------  -----              ------  -------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  79.3      96.78    (1, 6, 10, 10, 1)  2       1
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.738     2.121    (1, 6, 10, 10)     1       1
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.901     1.099    (1, 1, 10, 10, 3)  1       1
-Total_time                                    -                                             81.939    -        -                  -       -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  119.9     97.808   (1, 6, 10, 10, 1)  2       1
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.772     1.445    (1, 6, 10, 10)     1       1
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.915     0.747    (1, 1, 10, 10, 3)  1       1
+Total_time                                    -                                             122.587   -        -                  -       -
 </pre></div>
 </div>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-autotune-py">
diff --git a/docs/how_to/work_with_microtvm/micro_train.html b/docs/how_to/work_with_microtvm/micro_train.html
index fa0962ded..2f3607254 100644
--- a/docs/how_to/work_with_microtvm/micro_train.html
+++ b/docs/how_to/work_with_microtvm/micro_train.html
@@ -510,7 +510,7 @@ take about <strong>2 minutes</strong> to download the Stanford Cars, while COCO
 <a href="https://docs.python.org/3/library/shutil.html#shutil.move" title="shutil.move" class="sphx-glr-backref-module-shutil sphx-glr-backref-type-py-function"><span class="n">shutil</span><span class="o">.</span><span class="n">move</span></a><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><a href="https://docs.python.org/3/library/stdtypes.html#str" title="builtins.str" class="sphx-glr-backref-module-builtins sphx-glr-backref-typ [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&#39;/tmp/tmpcp0ji_kx/images/random&#39;
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&#39;/tmp/tmpjkrvz0zh/images/random&#39;
 </pre></div>
 </div>
 </div>
@@ -570,8 +570,8 @@ objects to other stuff? We can display some examples from our datasets using <co
     <span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">&quot;off&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<img src="../../_images/sphx_glr_micro_train_001.png" srcset="../../_images/sphx_glr_micro_train_001.png" alt="[1.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmpcp0ji_kx/images/target contains 8144 images
-/tmp/tmpcp0ji_kx/images/random contains 5000 images
+<img src="../../_images/sphx_glr_micro_train_001.png" srcset="../../_images/sphx_glr_micro_train_001.png" alt="[1.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmpjkrvz0zh/images/target contains 8144 images
+/tmp/tmpjkrvz0zh/images/random contains 5000 images
 </pre></div>
 </div>
 </div>
@@ -683,13 +683,13 @@ the time on our validation set).</p>
 </pre></div>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Epoch 1/3
-328/328 - 55s - loss: 0.2334 - accuracy: 0.9186 - val_loss: 0.1534 - val_accuracy: 0.9573
+328/328 - 55s - loss: 0.2108 - accuracy: 0.9274 - val_loss: 0.1708 - val_accuracy: 0.9517
 Epoch 2/3
-328/328 - 52s - loss: 0.0967 - accuracy: 0.9640 - val_loss: 0.1297 - val_accuracy: 0.9626
+328/328 - 52s - loss: 0.0969 - accuracy: 0.9656 - val_loss: 0.1204 - val_accuracy: 0.9607
 Epoch 3/3
-328/328 - 52s - loss: 0.0702 - accuracy: 0.9733 - val_loss: 0.1740 - val_accuracy: 0.9449
+328/328 - 52s - loss: 0.0626 - accuracy: 0.9777 - val_loss: 0.1102 - val_accuracy: 0.9649
 
-&lt;keras.callbacks.History object at 0x7ffa52471ed0&gt;
+&lt;keras.callbacks.History object at 0x7f3c4933f490&gt;
 </pre></div>
 </div>
 </div>
@@ -951,7 +951,7 @@ as intended.</p>
 <p>From here, we could modify the model to read live images from the camera - we have another
 Arduino tutorial for how to do that <a class="reference external" href="https://github.com/guberti/tvm-arduino-demos/tree/master/examples/person_detection">on GitHub</a>. Alternatively, we could also
 <a class="reference external" href="https://tvm.apache.org/docs/how_to/work_with_microtvm/micro_autotune.html">use TVM’s autotuning capabilities</a> to dramatically improve the model’s performance.</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 8 minutes  17.971 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 7 minutes  49.579 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-train-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/b52cec46baf4f78d6bcd94cbe269c8a6/micro_train.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">micro_train.py</span></code></a></p>
diff --git a/docs/how_to/work_with_microtvm/sg_execution_times.html b/docs/how_to/work_with_microtvm/sg_execution_times.html
index 67eb3cfa8..0103b9d4b 100644
--- a/docs/how_to/work_with_microtvm/sg_execution_times.html
+++ b/docs/how_to/work_with_microtvm/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-work-with-microtvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>09:02.589</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
+<p><strong>08:35.822</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -331,15 +331,15 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="micro_train.html#sphx-glr-how-to-work-with-microtvm-micro-train-py"><span class="std std-ref">Training Vision Models for microTVM on Arduino</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_train.py</span></code>)</p></td>
-<td><p>08:17.971</p></td>
+<td><p>07:49.579</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="micro_autotune.html#sphx-glr-how-to-work-with-microtvm-micro-autotune-py"><span class="std std-ref">Autotuning with microTVM</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_autotune.py</span></code>)</p></td>
-<td><p>00:41.236</p></td>
+<td><p>00:42.697</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="micro_tflite.html#sphx-glr-how-to-work-with-microtvm-micro-tflite-py"><span class="std std-ref">microTVM with TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tflite.py</span></code>)</p></td>
-<td><p>00:03.382</p></td>
+<td><p>00:03.546</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="micro_ethosu.html#sphx-glr-how-to-work-with-microtvm-micro-ethosu-py"><span class="std std-ref">Running TVM on bare metal Arm(R) Cortex(R)-M55 CPU and Ethos(TM)-U55 NPU with CMSIS-NN</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_ethosu.py</span></code>)</p></td>
diff --git a/docs/how_to/work_with_relay/sg_execution_times.html b/docs/how_to/work_with_relay/sg_execution_times.html
index ff8cfc48e..f05e07341 100644
--- a/docs/how_to/work_with_relay/sg_execution_times.html
+++ b/docs/how_to/work_with_relay/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-work-with-relay-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:05.739</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
+<p><strong>00:11.457</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -331,11 +331,11 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="using_external_lib.html#sphx-glr-how-to-work-with-relay-using-external-lib-py"><span class="std std-ref">Using External Libraries in Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_external_lib.py</span></code>)</p></td>
-<td><p>00:04.235</p></td>
+<td><p>00:09.846</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="build_gcn.html#sphx-glr-how-to-work-with-relay-build-gcn-py"><span class="std std-ref">Building a Graph Convolutional Network</span></a> (<code class="docutils literal notranslate"><span class="pre">build_gcn.py</span></code>)</p></td>
-<td><p>00:01.498</p></td>
+<td><p>00:01.605</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="using_relay_viz.html#sphx-glr-how-to-work-with-relay-using-relay-viz-py"><span class="std std-ref">Use Relay Visualizer to Visualize Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_relay_viz.py</span></code>)</p></td>
diff --git a/docs/how_to/work_with_schedules/intrin_math.html b/docs/how_to/work_with_schedules/intrin_math.html
index 8e02dcbfd..0d8d1034f 100644
--- a/docs/how_to/work_with_schedules/intrin_math.html
+++ b/docs/how_to/work_with_schedules/intrin_math.html
@@ -515,7 +515,7 @@ The following example customizes CUDA lowering rule for <code class="code docuti
 <a href="../../reference/api/python/ir.html#tvm.ir.register_intrin_lowering" title="tvm.ir.register_intrin_lowering" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-function"><span class="n">register_intrin_lowering</span></a><span class="p">(</span><span class="s2">&quot;tir.exp&quot;</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="s2">&quot;cuda&quot;</span><span class="p">,</span> <span class="n">f</span><span class="o">= [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&lt;function my_cuda_math_rule at 0x7ff9af1fb4d0&gt;
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&lt;function my_cuda_math_rule at 0x7f3baed37a70&gt;
 </pre></div>
 </div>
 <p>Register the rule to TVM with override option to override existing rule.
diff --git a/docs/how_to/work_with_schedules/sg_execution_times.html b/docs/how_to/work_with_schedules/sg_execution_times.html
index 1481b2ca7..d2cd7c5b1 100644
--- a/docs/how_to/work_with_schedules/sg_execution_times.html
+++ b/docs/how_to/work_with_schedules/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-work-with-schedules-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:04.008</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
+<p><strong>00:04.135</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -331,23 +331,23 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="intrin_math.html#sphx-glr-how-to-work-with-schedules-intrin-math-py"><span class="std std-ref">Intrinsics and Math Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">intrin_math.py</span></code>)</p></td>
-<td><p>00:01.857</p></td>
+<td><p>00:01.924</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tensorize.html#sphx-glr-how-to-work-with-schedules-tensorize-py"><span class="std std-ref">Use Tensorize to Leverage Hardware Intrinsics</span></a> (<code class="docutils literal notranslate"><span class="pre">tensorize.py</span></code>)</p></td>
-<td><p>00:00.967</p></td>
+<td><p>00:00.984</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="reduction.html#sphx-glr-how-to-work-with-schedules-reduction-py"><span class="std std-ref">Reduction</span></a> (<code class="docutils literal notranslate"><span class="pre">reduction.py</span></code>)</p></td>
-<td><p>00:00.515</p></td>
+<td><p>00:00.531</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="scan.html#sphx-glr-how-to-work-with-schedules-scan-py"><span class="std std-ref">Scan and Recurrent Kernel</span></a> (<code class="docutils literal notranslate"><span class="pre">scan.py</span></code>)</p></td>
-<td><p>00:00.500</p></td>
+<td><p>00:00.522</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="extern_op.html#sphx-glr-how-to-work-with-schedules-extern-op-py"><span class="std std-ref">External Tensor Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">extern_op.py</span></code>)</p></td>
-<td><p>00:00.096</p></td>
+<td><p>00:00.101</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="schedule_primitives.html#sphx-glr-how-to-work-with-schedules-schedule-primitives-py"><span class="std std-ref">Schedule Primitives in TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">schedule_primitives.py</span></code>)</p></td>
@@ -355,11 +355,11 @@
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="tedd.html#sphx-glr-how-to-work-with-schedules-tedd-py"><span class="std std-ref">Use Tensor Expression Debug Display (TEDD) for Visualization</span></a> (<code class="docutils literal notranslate"><span class="pre">tedd.py</span></code>)</p></td>
-<td><p>00:00.028</p></td>
+<td><p>00:00.026</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tuple_inputs.html#sphx-glr-how-to-work-with-schedules-tuple-inputs-py"><span class="std std-ref">Compute and Reduce with Tuple Inputs</span></a> (<code class="docutils literal notranslate"><span class="pre">tuple_inputs.py</span></code>)</p></td>
-<td><p>00:00.012</p></td>
+<td><p>00:00.013</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/work_with_schedules/tensorize.html b/docs/how_to/work_with_schedules/tensorize.html
index 089f1cc7a..7c4af10ce 100644
--- a/docs/how_to/work_with_schedules/tensorize.html
+++ b/docs/how_to/work_with_schedules/tensorize.html
@@ -571,7 +571,7 @@ The importing needs to happen before the tensorized GEMV being executed.</p>
              C: Buffer(C_2: Pointer(float32), float32, [524288], [])}
   buffer_map = {A_1: A, B_1: B, C_1: C}
   preflattened_buffer_map = {A_1: A_3: Buffer(A_2, float32, [1024, 64], []), B_1: B_3: Buffer(B_2, float32, [512, 64], []), C_1: C_3: Buffer(C_2, float32, [1024, 512], [])} {
-  attr [IterVar(i: int32, (nullptr), &quot;DataPar&quot;, &quot;&quot;)] &quot;pragma_import_llvm&quot; = &quot;; ModuleID = &#39;/tmp/tmpt7buqa_a/input0.cc&#39;\nsource_filename = \&quot;/tmp/tmpt7buqa_a/input0.cc\&quot;\ntarget datalayout = \&quot;e-m:e-i64:64-f80:128-n8:16:32:64-S128\&quot;\ntarget triple = \&quot;x86_64-pc-linux-gnu\&quot;\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = allo [...]
+  attr [IterVar(i: int32, (nullptr), &quot;DataPar&quot;, &quot;&quot;)] &quot;pragma_import_llvm&quot; = &quot;; ModuleID = &#39;/tmp/tmp69r97xk6/input0.cc&#39;\nsource_filename = \&quot;/tmp/tmp69r97xk6/input0.cc\&quot;\ntarget datalayout = \&quot;e-m:e-i64:64-f80:128-n8:16:32:64-S128\&quot;\ntarget triple = \&quot;x86_64-pc-linux-gnu\&quot;\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = allo [...]
   for (i, 0, 1024) {
     for (j.outer: int32, 0, 32) {
       @tir.call_extern(&quot;gemv_update&quot;, @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), C_2, ((i*512) + (j.outer*16)), 16, 2, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), A_2, (i*64), 64, 1, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), B_2, (j.outer*1024), 1024, 1, dtype=handle), 16, 64, 64, dtype=int32)
diff --git a/docs/reference/api/doxygen/apply__history__best_8h_source.html b/docs/reference/api/doxygen/apply__history__best_8h_source.html
index c8a7fcc29..5d952184b 100644
--- a/docs/reference/api/doxygen/apply__history__best_8h_source.html
+++ b/docs/reference/api/doxygen/apply__history__best_8h_source.html
@@ -82,7 +82,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1Database_html"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1Database.html">tvm::meta_schedule::Database</a></div><div class="ttdoc">Managed reference to DatabaseNode. </div><div class="ttdef"><b>Definition:</b> database.h:314</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode_html_a6be4c52d4ff271c11d2f2daf53861778"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode.html#a6be4c52d4ff271c11d2f2daf53861778">tvm::meta_schedule::ApplyHistoryBestNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> apply_history_best.h:52</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc&lt; Optional&lt; tir::PrimFunc &gt;(const Array&lt; te::Tensor, void &gt; &amp;)&gt;</a></div></div>
 <div class="ttc" id="classtvm_1_1Target_html"><div class="ttname"><a href="classtvm_1_1Target.html">tvm::Target</a></div><div class="ttdoc">Managed reference class to TargetNode. </div><div class="ttdef"><b>Definition:</b> target.h:141</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
diff --git a/docs/reference/api/doxygen/attr__registry__map_8h_source.html b/docs/reference/api/doxygen/attr__registry__map_8h_source.html
index b9e3023ea..dc9307eb7 100644
--- a/docs/reference/api/doxygen/attr__registry__map_8h_source.html
+++ b/docs/reference/api/doxygen/attr__registry__map_8h_source.html
@@ -74,7 +74,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1AttrRegistryMapContainerMap_html"><div class="ttname"><a href="classtvm_1_1AttrRegistryMapContainerMap.html">tvm::AttrRegistryMapContainerMap</a></div><div class="ttdoc">Generic attribute map. </div><div class="ttdef"><b>Definition:</b> attr_registry_map.h:38</div></div>
 <div class="ttc" id="classtvm_1_1AttrRegistryMapContainerMap_html_a713c3d1884423e3e67e3fdaef2566925"><div class="ttname"><a href="classtvm_1_1AttrRegistryMapContainerMap.html#a713c3d1884423e3e67e3fdaef2566925">tvm::AttrRegistryMapContainerMap::operator[]</a></div><div class="ttdeci">const runtime::TVMRetValue &amp; operator[](const KeyType &amp;key) const</div><div class="ttdoc">get the corresponding value element at key. </div><div class="ttdef"><b>Definition:</b> attr_registry_map.h:58 [...]
 <div class="ttc" id="classtvm_1_1AttrRegistryMapContainerMap_html_a7ff19967cecc86432777d4e1c84c2e3d"><div class="ttname"><a href="classtvm_1_1AttrRegistryMapContainerMap.html#a7ff19967cecc86432777d4e1c84c2e3d">tvm::AttrRegistryMapContainerMap::count</a></div><div class="ttdeci">int count(const KeyType &amp;key) const</div><div class="ttdoc">Check if the map has key. </div><div class="ttdef"><b>Definition:</b> attr_registry_map.h:45</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1AttrRegistryMap_html"><div class="ttname"><a href="classtvm_1_1AttrRegistryMap.html">tvm::AttrRegistryMap</a></div><div class="ttdoc">Map&lt;Key, ValueType&gt; used to store meta-data. </div><div class="ttdef"><b>Definition:</b> attr_registry_map.h:101</div></div>
 <div class="ttc" id="classtvm_1_1OpRegEntry_html"><div class="ttname"><a href="classtvm_1_1OpRegEntry.html">tvm::OpRegEntry</a></div><div class="ttdoc">Helper structure to register operators. </div><div class="ttdef"><b>Definition:</b> op.h:215</div></div>
 <div class="ttc" id="classtvm_1_1AttrRegistryMap_html_ae4152d6da01b645eeff90fbaeac7c14f"><div class="ttname"><a href="classtvm_1_1AttrRegistryMap.html#ae4152d6da01b645eeff90fbaeac7c14f">tvm::AttrRegistryMap::operator[]</a></div><div class="ttdeci">ValueType operator[](const KeyType &amp;key) const</div><div class="ttdoc">get the corresponding value element at key. </div><div class="ttdef"><b>Definition:</b> attr_registry_map.h:119</div></div>
diff --git a/docs/reference/api/doxygen/buffer_8h_source.html b/docs/reference/api/doxygen/buffer_8h_source.html
index 106be4348..340c27022 100644
--- a/docs/reference/api/doxygen/buffer_8h_source.html
+++ b/docs/reference/api/doxygen/buffer_8h_source.html
@@ -102,7 +102,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1tir_1_1BufferNode_html_a1abac917e1de0b3c43774ee94477016b"><div class="ttname"><a href="classtvm_1_1tir_1_1BufferNode.html#a1abac917e1de0b3c43774ee94477016b">tvm::tir::BufferNode::BufferNode</a></div><div class="ttdeci">BufferNode()</div><div class="ttdoc">constructor </div><div class="ttdef"><b>Definition:</b> buffer.h:99</div></div>
 <div class="ttc" id="classtvm_1_1IntImm_html"><div class="ttname"><a href="classtvm_1_1IntImm.html">tvm::IntImm</a></div><div class="ttdoc">Managed reference class to IntImmNode. </div><div class="ttdef"><b>Definition:</b> expr.h:304</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1Stmt_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Stmt.html">tvm::tir::Stmt</a></div><div class="ttdoc">Container of all statements. </div><div class="ttdef"><b>Definition:</b> stmt.h:57</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1BufferNode_html_a0e6d46caeb077135737d4b02185c4498"><div class="ttname"><a href="classtvm_1_1tir_1_1BufferNode.html#a0e6d46caeb077135737d4b02185c4498">tvm::tir::BufferNode::name</a></div><div class="ttdeci">String name</div><div class="ttdoc">optional name of the buffer </div><div class="ttdef"><b>Definition:</b> buffer.h:83</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1DataProducerNode_html_aeb887c35d09af934251932b0120f9dfa"><div class="ttname"><a href="classtvm_1_1tir_1_1DataProducerNode.html#aeb887c35d09af934251932b0120f9dfa">tvm::tir::DataProducerNode::~DataProducerNode</a></div><div class="ttdeci">virtual ~DataProducerNode()</div><div class="ttdoc">destructor. </div><div class="ttdef"><b>Definition:</b> buffer.h:259</div></div>
diff --git a/docs/reference/api/doxygen/classtvm_1_1AttrFieldInfoNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1AttrFieldInfoNode__coll__graph.svg
index cfdb21f52..720f4a6df 100644
--- a/docs/reference/api/doxygen/classtvm_1_1AttrFieldInfoNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1AttrFieldInfoNode__coll__graph.svg
@@ -99,7 +99,7 @@
 <text text-anchor="start" x="279.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="279.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="279.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="279.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="279.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1CompilationConfigNode.html b/docs/reference/api/doxygen/classtvm_1_1CompilationConfigNode.html
index e24608686..2d6b56022 100644
--- a/docs/reference/api/doxygen/classtvm_1_1CompilationConfigNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1CompilationConfigNode.html
@@ -437,7 +437,7 @@ Additional Inherited Members</h2></td></tr>
 <li>right.IsExternalCodegenFor(left) must be true In this way the <code>FindPrimitiveTargetForDeviceOrFail</code> method will find the 'most general' target for the requested device type. This method is used when transitioning from a device constraint to the target needed to compile for that device.</li>
 </ul>
 <p>In the homogeneous case primitive_targets will have just one entry, which will be pointer equal to optional_homogeneous_target.</p>
-<p>In the homogenous case where the 'host' is the same device as used for compiling kernels it is <em>not</em> the case that optional_homogenous_target == host_target. This is because all primitive always have their host field set to the host_target. Ie, it is valid to have: </p><div class="fragment"><div class="line"><a class="code" href="classtvm_1_1CompilationConfigNode.html#aad59e791b8292600a3d86ae182a85269">host_target</a>=Target(<span class="stringliteral">&quot;llvm&quot;</span>)< [...]
+<p>In the homogenous case where the 'host' is the same device as used for compiling kernels it is <em>not</em> the case that optional_homogenous_target == host_target. This is because all primitive always have their host field set to the host_target. Ie, it is valid to have: </p><div class="fragment"><div class="line"><a class="code" href="classtvm_1_1CompilationConfigNode.html#aad59e791b8292600a3d86ae182a85269">host_target</a>=Target(<span class="stringliteral">&quot;llvm&quot;</span>)< [...]
 </div>
 </div>
 <hr/>The documentation for this class was generated from the following file:<ul>
diff --git a/docs/reference/api/doxygen/classtvm_1_1ConstructorNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1ConstructorNode__coll__graph.svg
index 6ba01e838..82543454f 100644
--- a/docs/reference/api/doxygen/classtvm_1_1ConstructorNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1ConstructorNode__coll__graph.svg
@@ -260,7 +260,7 @@
 <text text-anchor="start" x="660.9336" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="660.9336" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="660.9336" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="660.9336" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="660.9336" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="660.9336" y="-298.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="660.9336" y="-287.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1DiagnosticNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1DiagnosticNode__coll__graph.svg
index 63339767b..e747f61b1 100644
--- a/docs/reference/api/doxygen/classtvm_1_1DiagnosticNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1DiagnosticNode__coll__graph.svg
@@ -154,7 +154,7 @@
 <text text-anchor="start" x="451.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="451.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="451.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="451.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="451.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="451.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="451.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1EnvFuncNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1EnvFuncNode__coll__graph.svg
index c964ae225..fb186eef4 100644
--- a/docs/reference/api/doxygen/classtvm_1_1EnvFuncNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1EnvFuncNode__coll__graph.svg
@@ -163,7 +163,7 @@
 <text text-anchor="start" x="451.5" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="451.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="451.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="451.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="451.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="451.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="451.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1GlobalTypeVarNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1GlobalTypeVarNode__coll__graph.svg
index 5178e2bf3..413efb146 100644
--- a/docs/reference/api/doxygen/classtvm_1_1GlobalTypeVarNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1GlobalTypeVarNode__coll__graph.svg
@@ -179,7 +179,7 @@
 <text text-anchor="start" x="403.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="403.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="403.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="403.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="403.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="403.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="403.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1GlobalVarNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1GlobalVarNode__coll__graph.svg
index bdda390b2..3de4d08a5 100644
--- a/docs/reference/api/doxygen/classtvm_1_1GlobalVarNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1GlobalVarNode__coll__graph.svg
@@ -228,7 +228,7 @@
 <text text-anchor="start" x="411.1806" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="411.1806" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="411.1806" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="411.1806" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="411.1806" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="411.1806" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="411.1806" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1OpNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1OpNode__coll__graph.svg
index 5635d017f..3bce6ce25 100644
--- a/docs/reference/api/doxygen/classtvm_1_1OpNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1OpNode__coll__graph.svg
@@ -262,7 +262,7 @@
 <text text-anchor="start" x="683.8333" y="-364.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="683.8333" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="683.8333" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="683.8333" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="683.8333" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="683.8333" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="683.8333" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1PointerTypeNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1PointerTypeNode__coll__graph.svg
index 31284a4c0..bf79114aa 100644
--- a/docs/reference/api/doxygen/classtvm_1_1PointerTypeNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1PointerTypeNode__coll__graph.svg
@@ -198,7 +198,7 @@
 <text text-anchor="start" x="517.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="517.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="517.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="517.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="517.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="517.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="517.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1SourceNameNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1SourceNameNode__coll__graph.svg
index d2ef1f571..77f48bc3c 100644
--- a/docs/reference/api/doxygen/classtvm_1_1SourceNameNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1SourceNameNode__coll__graph.svg
@@ -98,7 +98,7 @@
 <text text-anchor="start" x="279.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="279.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="279.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="279.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="279.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1TargetKindNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1TargetKindNode__coll__graph.svg
index 354f0a571..08715d17f 100644
--- a/docs/reference/api/doxygen/classtvm_1_1TargetKindNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1TargetKindNode__coll__graph.svg
@@ -187,7 +187,7 @@
 <text text-anchor="start" x="607.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="607.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="607.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="607.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="607.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="607.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="607.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1TargetNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1TargetNode__coll__graph.svg
index 33a2c5ae3..10a2814e9 100644
--- a/docs/reference/api/doxygen/classtvm_1_1TargetNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1TargetNode__coll__graph.svg
@@ -228,7 +228,7 @@
 <text text-anchor="start" x="785.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="785.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="785.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="785.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="785.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="785.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="785.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1TargetTagNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1TargetTagNode__coll__graph.svg
index 013b19da6..3391e3485 100644
--- a/docs/reference/api/doxygen/classtvm_1_1TargetTagNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1TargetTagNode__coll__graph.svg
@@ -161,7 +161,7 @@
 <text text-anchor="start" x="445.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="445.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="445.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="445.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="445.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="445.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="445.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1TypeVarNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1TypeVarNode__coll__graph.svg
index 5061fdd1e..ba7bdfca4 100644
--- a/docs/reference/api/doxygen/classtvm_1_1TypeVarNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1TypeVarNode__coll__graph.svg
@@ -179,7 +179,7 @@
 <text text-anchor="start" x="403.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="403.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="403.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="403.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="403.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="403.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="403.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1VirtualDeviceNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1VirtualDeviceNode__coll__graph.svg
index ebcba9234..1bf95aae8 100644
--- a/docs/reference/api/doxygen/classtvm_1_1VirtualDeviceNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1VirtualDeviceNode__coll__graph.svg
@@ -153,7 +153,7 @@
 <text text-anchor="start" x="213.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="213.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="213.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="213.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="213.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="213.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="213.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1BuildResultNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1BuildResultNode__coll__graph.svg
index e655dbf86..4d40fb425 100644
--- a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1BuildResultNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1BuildResultNode__coll__graph.svg
@@ -163,7 +163,7 @@
 <text text-anchor="start" x="410.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="410.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="410.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="410.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="410.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="410.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="410.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1CacheReadStepNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1CacheReadStepNode__coll__graph.svg
index 6400333ba..8aed3838f 100644
--- a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1CacheReadStepNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1CacheReadStepNode__coll__graph.svg
@@ -187,7 +187,7 @@
 <text text-anchor="start" x="364.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="364.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="364.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="364.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="364.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="364.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="364.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1CacheWriteStepNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1CacheWriteStepNode__coll__graph.svg
index 422dc299c..579d6236a 100644
--- a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1CacheWriteStepNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1CacheWriteStepNode__coll__graph.svg
@@ -122,7 +122,7 @@
 <text text-anchor="start" x="279.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="279.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="279.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="279.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="279.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1IteratorNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1IteratorNode__coll__graph.svg
index 03da22a7a..943eed5d0 100644
--- a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1IteratorNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1IteratorNode__coll__graph.svg
@@ -156,7 +156,7 @@
 <text text-anchor="start" x="451.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="451.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="451.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="451.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="451.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="451.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="451.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1LocalBuilderNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1LocalBuilderNode__coll__graph.svg
index 5e2ca4405..2ea50e847 100644
--- a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1LocalBuilderNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1LocalBuilderNode__coll__graph.svg
@@ -119,7 +119,7 @@
 <text text-anchor="start" x="279.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="279.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="279.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="279.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="279.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1MeasureResultNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1MeasureResultNode__coll__graph.svg
index 208cb6e46..e9401a8e8 100644
--- a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1MeasureResultNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1MeasureResultNode__coll__graph.svg
@@ -165,7 +165,7 @@
 <text text-anchor="start" x="410.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="410.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="410.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="410.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="410.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="410.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="410.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1PragmaStepNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1PragmaStepNode__coll__graph.svg
index 4dcdea3be..403f5b7c3 100644
--- a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1PragmaStepNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1PragmaStepNode__coll__graph.svg
@@ -123,7 +123,7 @@
 <text text-anchor="start" x="279.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="279.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="279.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="279.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="279.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1PreloadMeasuredStatesNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1PreloadMeasuredStatesNode__coll__graph.svg
index 7ccdc4c4d..c7a786942 100644
--- a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1PreloadMeasuredStatesNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1PreloadMeasuredStatesNode__coll__graph.svg
@@ -117,7 +117,7 @@
 <text text-anchor="start" x="279.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="279.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="279.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="279.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="279.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1RPCRunnerNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1RPCRunnerNode__coll__graph.svg
index 3c4a40da4..4c2fbd689 100644
--- a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1RPCRunnerNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1RPCRunnerNode__coll__graph.svg
@@ -127,7 +127,7 @@
 <text text-anchor="start" x="279.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="279.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="279.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="279.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="279.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1RecordReaderNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1RecordReaderNode__coll__graph.svg
index 5ea273f43..7e087eb7d 100644
--- a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1RecordReaderNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1RecordReaderNode__coll__graph.svg
@@ -99,7 +99,7 @@
 <text text-anchor="start" x="279.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="279.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="279.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="279.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="279.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1RecordToFileNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1RecordToFileNode__coll__graph.svg
index 4fc4f58ee..8a7efe893 100644
--- a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1RecordToFileNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1RecordToFileNode__coll__graph.svg
@@ -117,7 +117,7 @@
 <text text-anchor="start" x="279.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="279.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="279.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="279.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="279.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1SearchTaskNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1SearchTaskNode__coll__graph.svg
index ffd12c5a0..5bd3d11dc 100644
--- a/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1SearchTaskNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1auto__scheduler_1_1SearchTaskNode__coll__graph.svg
@@ -186,7 +186,7 @@
 <text text-anchor="start" x="607.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="607.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="607.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="607.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="607.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="607.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="607.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1instrument_1_1PassInstrumentNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1instrument_1_1PassInstrumentNode__coll__graph.svg
index 3ae06d1ba..c472e283e 100644
--- a/docs/reference/api/doxygen/classtvm_1_1instrument_1_1PassInstrumentNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1instrument_1_1PassInstrumentNode__coll__graph.svg
@@ -101,7 +101,7 @@
 <text text-anchor="start" x="279.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="279.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="279.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="279.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="279.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1ExtractedTaskNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1ExtractedTaskNode__coll__graph.svg
index 626db1f82..3f332fdfa 100644
--- a/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1ExtractedTaskNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1ExtractedTaskNode__coll__graph.svg
@@ -190,7 +190,7 @@
 <text text-anchor="start" x="582.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="582.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="582.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="582.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="582.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="582.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="582.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1RunnerInputNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1RunnerInputNode__coll__graph.svg
index 99108f77f..fb0bb6702 100644
--- a/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1RunnerInputNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1RunnerInputNode__coll__graph.svg
@@ -162,7 +162,7 @@
 <text text-anchor="start" x="425.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="425.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="425.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="425.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="425.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="425.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="425.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1parser_1_1SourceNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1parser_1_1SourceNode__coll__graph.svg
index d5b4d9d13..1d9c55e22 100644
--- a/docs/reference/api/doxygen/classtvm_1_1parser_1_1SourceNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1parser_1_1SourceNode__coll__graph.svg
@@ -152,7 +152,7 @@
 <text text-anchor="start" x="451.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="451.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="451.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="451.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="451.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="451.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="451.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1relay_1_1ExecutorNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1relay_1_1ExecutorNode__coll__graph.svg
index f4bf43d6b..512995276 100644
--- a/docs/reference/api/doxygen/classtvm_1_1relay_1_1ExecutorNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1relay_1_1ExecutorNode__coll__graph.svg
@@ -185,7 +185,7 @@
 <text text-anchor="start" x="410.5" y="-683.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="410.5" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="410.5" y="-661.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="410.5" y="-650.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="410.5" y="-650.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="410.5" y="-639.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="410.5" y="-628.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1relay_1_1IdNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1relay_1_1IdNode__coll__graph.svg
index 5cb0e9248..57854de6f 100644
--- a/docs/reference/api/doxygen/classtvm_1_1relay_1_1IdNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1relay_1_1IdNode__coll__graph.svg
@@ -101,7 +101,7 @@
 <text text-anchor="start" x="279.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="279.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="279.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="279.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="279.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1relay_1_1OpImplementationNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1relay_1_1OpImplementationNode__coll__graph.svg
index 3f06f046a..38de26387 100644
--- a/docs/reference/api/doxygen/classtvm_1_1relay_1_1OpImplementationNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1relay_1_1OpImplementationNode__coll__graph.svg
@@ -144,7 +144,7 @@
 <text text-anchor="start" x="623.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="623.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="623.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="623.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="623.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="623.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="623.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1relay_1_1RuntimeNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1relay_1_1RuntimeNode__coll__graph.svg
index 9065fdba7..6849cd84f 100644
--- a/docs/reference/api/doxygen/classtvm_1_1relay_1_1RuntimeNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1relay_1_1RuntimeNode__coll__graph.svg
@@ -184,7 +184,7 @@
 <text text-anchor="start" x="410.5" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="410.5" y="-661.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="410.5" y="-650.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="410.5" y="-639.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="410.5" y="-639.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="410.5" y="-628.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="410.5" y="-617.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1relay_1_1VarPatternNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1relay_1_1VarPatternNode__coll__graph.svg
index a39393c18..95fcdb945 100644
--- a/docs/reference/api/doxygen/classtvm_1_1relay_1_1VarPatternNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1relay_1_1VarPatternNode__coll__graph.svg
@@ -115,7 +115,7 @@
 <text text-anchor="start" x="279.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="279.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="279.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="279.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="279.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="279.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String-members.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String-members.html
index ef1f2897d..b124f929e 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String-members.html
@@ -91,28 +91,27 @@ $(function() {
   <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#a812045bfefb0f80f850d1b39f0e40489">length</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#aa07c1f6d66a438ea950637d13ed09471">ObjectRef</a>()=default</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a6a7dd7404edf1c26f8dbd9bd92d03a02">ObjectRef</a>(ObjectPtr&lt; Object &gt; data)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#ae65abd5c71692ba11be665d586bcf389">operator llvm::StringRef</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#aa1bd13a7185cb4b2b6bdde49416e8aa4">operator!=</a>(const ObjectRef &amp;other) const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#a346acdf3143412eaab63e8f3664cd575">operator+</a>(const String &amp;lhs, const String &amp;rhs)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#af71ae061ba27c966204712cf13558437">operator+</a>(const String &amp;lhs, const std::string &amp;rhs)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#a4ed702c701164539de5ce6b332c45d07">operator+</a>(const std::string &amp;lhs, const String &amp;rhs)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#a90015386d12dcad1a1150e0e3c6a0d8a">operator+</a>(const String &amp;lhs, const char *rhs)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#ae3cd285a0b3bcf7d5f1b89dba89035d1">operator+</a>(const char *lhs, const String &amp;rhs)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a3deeeac5827a88f375b8c6ae1039c219">operator-&gt;</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a4744bf4a1b48f202d41b51dc5e08e6ee">operator&lt;</a>(const ObjectRef &amp;other) const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#a3b3c8614af05adc454f47132e04552ed">operator=</a>(std::string other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#aaf3615a763a98184d648c976565f6893">operator=</a>(const char *other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#affdf1b8cdb36e140de7b3ad7064e4617">operator==</a>(const ObjectRef &amp;other) const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#ae31a5b9f40781d60a2901994ead700e8">same_as</a>(const ObjectRef &amp;other) const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#add6d4829ad500fae8881b7af46a554de">size</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#ac5d930b522e9fef9c07e51819d96d2f3">String</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#a02fca36e3ff55cc1e83635b02a11fca3">String</a>(std::string other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#a68df7bab89fca339e3918438dd80300d">String</a>(const char *other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#acf549b3c43142639879e0fc31ea5cd77">String</a>(std::nullptr_t)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#ac0e10a4b0b377bd0783ee2b8feba4d2f">tvm::runtime::ObjectEqual</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#aeacca6bcd1c5be9fa93f9defcc9fe354">TVM_DEFINE_NOTNULLABLE_OBJECT_REF_METHODS</a>(String, ObjectRef, StringObj)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a4e7cdb1574b93a59e784d70aa47b8da7">unique</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a0ae0da21d247cd87ea94fe3777c4405e">use_count</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#aa1bd13a7185cb4b2b6bdde49416e8aa4">operator!=</a>(const ObjectRef &amp;other) const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#a346acdf3143412eaab63e8f3664cd575">operator+</a>(const String &amp;lhs, const String &amp;rhs)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#af71ae061ba27c966204712cf13558437">operator+</a>(const String &amp;lhs, const std::string &amp;rhs)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#a4ed702c701164539de5ce6b332c45d07">operator+</a>(const std::string &amp;lhs, const String &amp;rhs)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#a90015386d12dcad1a1150e0e3c6a0d8a">operator+</a>(const String &amp;lhs, const char *rhs)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#ae3cd285a0b3bcf7d5f1b89dba89035d1">operator+</a>(const char *lhs, const String &amp;rhs)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a3deeeac5827a88f375b8c6ae1039c219">operator-&gt;</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a4744bf4a1b48f202d41b51dc5e08e6ee">operator&lt;</a>(const ObjectRef &amp;other) const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#a3b3c8614af05adc454f47132e04552ed">operator=</a>(std::string other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#aaf3615a763a98184d648c976565f6893">operator=</a>(const char *other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#affdf1b8cdb36e140de7b3ad7064e4617">operator==</a>(const ObjectRef &amp;other) const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#ae31a5b9f40781d60a2901994ead700e8">same_as</a>(const ObjectRef &amp;other) const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#add6d4829ad500fae8881b7af46a554de">size</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#ac5d930b522e9fef9c07e51819d96d2f3">String</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#a02fca36e3ff55cc1e83635b02a11fca3">String</a>(std::string other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#a68df7bab89fca339e3918438dd80300d">String</a>(const char *other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#acf549b3c43142639879e0fc31ea5cd77">String</a>(std::nullptr_t)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#ac0e10a4b0b377bd0783ee2b8feba4d2f">tvm::runtime::ObjectEqual</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html#aeacca6bcd1c5be9fa93f9defcc9fe354">TVM_DEFINE_NOTNULLABLE_OBJECT_REF_METHODS</a>(String, ObjectRef, StringObj)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a4e7cdb1574b93a59e784d70aa47b8da7">unique</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a0ae0da21d247cd87ea94fe3777c4405e">use_count</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String.html
index b85c17128..7049589c2 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String.html
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String.html
@@ -136,9 +136,6 @@ Public Member Functions</h2></td></tr>
 <tr class="memitem:a5f82ed0ef356225883e118eb76392cd5"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1String.html#a5f82ed0ef356225883e118eb76392cd5">data</a> () const</td></tr>
 <tr class="memdesc:a5f82ed0ef356225883e118eb76392cd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the data pointer.  <a href="#a5f82ed0ef356225883e118eb76392cd5">More...</a><br /></td></tr>
 <tr class="separator:a5f82ed0ef356225883e118eb76392cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae65abd5c71692ba11be665d586bcf389"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1String.html#ae65abd5c71692ba11be665d586bcf389">operator llvm::StringRef</a> () const</td></tr>
-<tr class="memdesc:ae65abd5c71692ba11be665d586bcf389"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert <a class="el" href="classtvm_1_1runtime_1_1String.html" title="Reference to string objects. ">String</a> to an llvm::StringRef object.  <a href="#ae65abd5c71692ba11be665d586bcf389">More...</a><br /></td></tr>
-<tr class="separator:ae65abd5c71692ba11be665d586bcf389"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aeacca6bcd1c5be9fa93f9defcc9fe354"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1String.html#aeacca6bcd1c5be9fa93f9defcc9fe354">TVM_DEFINE_NOTNULLABLE_OBJECT_REF_METHODS</a> (<a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>, <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a>, <a class="el" href="classtvm_1_1runtime_1_1StringObj.htm [...]
 <tr class="separator:aeacca6bcd1c5be9fa93f9defcc9fe354"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="inherit_header pub_methods_classtvm_1_1runtime_1_1ObjectRef"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtvm_1_1runtime_1_1ObjectRef')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td></tr>
@@ -687,34 +684,6 @@ Additional Inherited Members</h2></td></tr>
 <p>Return the length of the string. </p>
 <dl class="section return"><dt>Returns</dt><dd>size_t string length </dd></dl>
 
-</div>
-</div>
-<a id="ae65abd5c71692ba11be665d586bcf389"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae65abd5c71692ba11be665d586bcf389">&#9670;&nbsp;</a></span>operator llvm::StringRef()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::String::operator llvm::StringRef </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Convert <a class="el" href="classtvm_1_1runtime_1_1String.html" title="Reference to string objects. ">String</a> to an llvm::StringRef object. </p>
-<dl class="section return"><dt>Returns</dt><dd>llvm::StringRef </dd></dl>
-
 </div>
 </div>
 <a id="a3b3c8614af05adc454f47132e04552ed"></a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String__coll__graph.svg
index af6e4b645..ffc34c976 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String__coll__graph.svg
@@ -27,7 +27,7 @@
 <text text-anchor="start" x="20" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="20" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="20" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="20" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="20" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="20" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="20" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String__inherit__graph.svg
index cc4adb688..2d7cf0478 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1String__inherit__graph.svg
@@ -27,7 +27,7 @@
 <text text-anchor="start" x="17" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="17" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="17" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="17" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="17" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="17" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="17" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1AttrStmtNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tir_1_1AttrStmtNode__coll__graph.svg
index 48e9d3c70..f48b6507b 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1AttrStmtNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1AttrStmtNode__coll__graph.svg
@@ -227,7 +227,7 @@
 <text text-anchor="start" x="782.3616" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="782.3616" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="782.3616" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="782.3616" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="782.3616" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="782.3616" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="782.3616" y="-298.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1BlockNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tir_1_1BlockNode__coll__graph.svg
index bd2d591aa..1b2f7f71d 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1BlockNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1BlockNode__coll__graph.svg
@@ -381,7 +381,7 @@
 <text text-anchor="start" x="1049.5" y="-715.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="1049.5" y="-704.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="1049.5" y="-693.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="1049.5" y="-682.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="1049.5" y="-682.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="1049.5" y="-671.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="1049.5" y="-660.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1BufferNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tir_1_1BufferNode__coll__graph.svg
index 57343bf0d..46a96466b 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1BufferNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1BufferNode__coll__graph.svg
@@ -244,7 +244,7 @@
 <text text-anchor="start" x="716.5" y="-913.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="716.5" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="716.5" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="716.5" y="-880.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="716.5" y="-880.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="716.5" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="716.5" y="-858.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1InstructionKindNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tir_1_1InstructionKindNode__coll__graph.svg
index e2a920ed1..59a9862e9 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1InstructionKindNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1InstructionKindNode__coll__graph.svg
@@ -192,7 +192,7 @@
 <text text-anchor="start" x="1011.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="1011.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="1011.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="1011.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="1011.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="1011.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="1011.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1IterVarNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tir_1_1IterVarNode__coll__graph.svg
index ecad16ece..8e74c1dd7 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1IterVarNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1IterVarNode__coll__graph.svg
@@ -201,7 +201,7 @@
 <text text-anchor="start" x="541.5" y="-890.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="541.5" y="-879.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="541.5" y="-868.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="541.5" y="-857.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="541.5" y="-857.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="541.5" y="-846.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="541.5" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1LayoutNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tir_1_1LayoutNode__coll__graph.svg
index b7a0197cb..1536c796d 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1LayoutNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1LayoutNode__coll__graph.svg
@@ -160,7 +160,7 @@
 <text text-anchor="start" x="410.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="410.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="410.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="410.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="410.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="410.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="410.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1ProducerRealizeNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tir_1_1ProducerRealizeNode__coll__graph.svg
index 1598be7e3..37b26c0fa 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1ProducerRealizeNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1ProducerRealizeNode__coll__graph.svg
@@ -270,7 +270,7 @@
 <text text-anchor="start" x="763.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="763.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="763.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="763.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="763.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="763.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="763.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1SizeVarNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tir_1_1SizeVarNode__coll__graph.svg
index 150fccacf..fbccebc06 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1SizeVarNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1SizeVarNode__coll__graph.svg
@@ -238,7 +238,7 @@
 <text text-anchor="start" x="418" y="-383.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="418" y="-372.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="418" y="-361.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="418" y="-350.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="418" y="-350.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="418" y="-339.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="418" y="-328.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1StringImmNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tir_1_1StringImmNode__coll__graph.svg
index e83bc8083..546541e3e 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1StringImmNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1StringImmNode__coll__graph.svg
@@ -198,7 +198,7 @@
 <text text-anchor="start" x="404" y="-580.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="404" y="-569.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="404" y="-558.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="404" y="-547.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="404" y="-547.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="404" y="-536.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="404" y="-525.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1VarNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tir_1_1VarNode__coll__graph.svg
index 4088b6aca..9851a00ac 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1VarNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1VarNode__coll__graph.svg
@@ -219,7 +219,7 @@
 <text text-anchor="start" x="418" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="418" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="418" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="418" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="418" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="418" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="418" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1transform_1_1PassInfoNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1transform_1_1PassInfoNode__coll__graph.svg
index 8b74eb323..f78014529 100644
--- a/docs/reference/api/doxygen/classtvm_1_1transform_1_1PassInfoNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1transform_1_1PassInfoNode__coll__graph.svg
@@ -164,7 +164,7 @@
 <text text-anchor="start" x="434.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="434.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="434.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="434.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="434.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="434.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="434.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/compute__dag_8h_source.html b/docs/reference/api/doxygen/compute__dag_8h_source.html
index 7537fb8c2..75ee22ab4 100644
--- a/docs/reference/api/doxygen/compute__dag_8h_source.html
+++ b/docs/reference/api/doxygen/compute__dag_8h_source.html
@@ -87,7 +87,7 @@ $(function() {
 <div class="ttc" id="loop__state_8h_html"><div class="ttname"><a href="loop__state_8h.html">loop_state.h</a></div><div class="ttdoc">The definition of the &quot;state&quot; in the search. </div></div>
 <div class="ttc" id="namespacetvm_1_1auto__scheduler_html_a3e9480be0119338696abbe9c80193b9e"><div class="ttname"><a href="namespacetvm_1_1auto__scheduler.html#a3e9480be0119338696abbe9c80193b9e">tvm::auto_scheduler::LayoutRewriteOption</a></div><div class="ttdeci">LayoutRewriteOption</div><div class="ttdoc">Options for applying layout rewrite. This is an optimization to rewrite the layout of input tensors a...</div><div class="ttdef"><b>Definition:</b> compute_dag.h:201</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1AccessAnalyzerNode_html_a6f42c7270313500162a8fb668fd45349"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1AccessAnalyzerNode.html#a6f42c7270313500162a8fb668fd45349">tvm::auto_scheduler::AccessAnalyzerNode::read_by</a></div><div class="ttdeci">OperationMap&lt; OperationMap&lt; std::vector&lt; std::vector&lt; PrimExpr &gt; &gt; &gt; &gt; read_by</div><div class="ttdoc">Map an operation to all operations it is read by. For eac [...]
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1AccessAnalyzerNode_html_a66c3eac7aafd8b7870a53e09aa5cb361"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1AccessAnalyzerNode.html#a66c3eac7aafd8b7870a53e09aa5cb361">tvm::auto_scheduler::AccessAnalyzerNode::num_common_outer_iterators</a></div><div class="ttdeci">OperationMap&lt; OperationMap&lt; int &gt; &gt; num_common_outer_iterators</div><div class="ttdoc">Store the number of common outer iterators for operation pairs tha [...]
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="namespacetvm_1_1auto__scheduler_html_a3e9480be0119338696abbe9c80193b9eaa6dd7ceb983e075b3efc829b61add2ac"><div class="ttname"><a href="namespacetvm_1_1auto__scheduler.html#a3e9480be0119338696abbe9c80193b9eaa6dd7ceb983e075b3efc829b61add2ac">tvm::auto_scheduler::LayoutRewriteOption::NoRewrite</a></div><div class="ttdoc">Do not perform layout rewrite. </div></div>
diff --git a/docs/reference/api/doxygen/data__layout_8h_source.html b/docs/reference/api/doxygen/data__layout_8h_source.html
index 30b5dd483..0501efd5b 100644
--- a/docs/reference/api/doxygen/data__layout_8h_source.html
+++ b/docs/reference/api/doxygen/data__layout_8h_source.html
@@ -92,7 +92,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1tir_1_1BijectiveLayoutNode_html_a3d5c2dcbfb62a658a7779129aacd8950"><div class="ttname"><a href="classtvm_1_1tir_1_1BijectiveLayoutNode.html#a3d5c2dcbfb62a658a7779129aacd8950">tvm::tir::BijectiveLayoutNode::dst_layout</a></div><div class="ttdeci">Layout dst_layout</div><div class="ttdoc">The destination layout. </div><div class="ttdef"><b>Definition:</b> data_layout.h:309</div></div>
 <div class="ttc" id="tir_2expr_8h_html"><div class="ttname"><a href="tir_2expr_8h.html">expr.h</a></div><div class="ttdoc">TIR expressions. </div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1Layout_html_a7fd4348d39ad4249daf89d54195fa65a"><div class="ttname"><a href="classtvm_1_1tir_1_1Layout.html#a7fd4348d39ad4249daf89d54195fa65a">tvm::tir::Layout::ndim</a></div><div class="ttdeci">size_t ndim() const</div><div class="ttdef"><b>Definition:</b> data_layout.h:178</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor. </div><div class="ttdef"><b>Definition:</b> transform.h:1758</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
diff --git a/docs/reference/api/doxygen/database_8h_source.html b/docs/reference/api/doxygen/database_8h_source.html
index 2aa6b4a1a..fea53beba 100644
--- a/docs/reference/api/doxygen/database_8h_source.html
+++ b/docs/reference/api/doxygen/database_8h_source.html
@@ -96,7 +96,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1PyDatabaseNode_html_a38195f2c3aea9ae4890477393ab2c624"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1PyDatabaseNode.html#a38195f2c3aea9ae4890477393ab2c624">tvm::meta_schedule::PyDatabaseNode::HasWorkload</a></div><div class="ttdeci">bool HasWorkload(const IRModule &amp;mod) final</div><div class="ttdoc">Check if the database has the given workload. </div><div class="ttdef"><b>Definition:</b> database.h:274</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1WorkloadNode_html_a3929f2761c168c25de6be2247b913911"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1WorkloadNode.html#a3929f2761c168c25de6be2247b913911">tvm::meta_schedule::WorkloadNode::mod</a></div><div class="ttdeci">IRModule mod</div><div class="ttdoc">The workload&amp;#39;s IRModule. </div><div class="ttdef"><b>Definition:</b> database.h:42</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1TuningRecordNode_html_a00aeeedbe4d1d6008224d98c62739581"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1TuningRecordNode.html#a00aeeedbe4d1d6008224d98c62739581">tvm::meta_schedule::TuningRecordNode::run_secs</a></div><div class="ttdeci">Optional&lt; Array&lt; FloatImm &gt; &gt; run_secs</div><div class="ttdoc">The profiling result in seconds. </div><div class="ttdef"><b>Definition:</b> database.h:112</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc&lt; bool(const IRModule &amp;)&gt;</a></div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1PyDatabaseNode_html_a36817d04978253571fef7d01427ce9c0"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1PyDatabaseNode.html#a36817d04978253571fef7d01427ce9c0">tvm::meta_schedule::PyDatabaseNode::Size</a></div><div class="ttdeci">int64_t Size() final</div><div class="ttdoc">Get the size of the database. </div><div class="ttdef"><b>Definition:</b> database.h:301</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1WorkloadNode_html_ab533ae06bb310ffbd8acb954e253b7db"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1WorkloadNode.html#ab533ae06bb310ffbd8acb954e253b7db">tvm::meta_schedule::WorkloadNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> database.h:46</div></div>
diff --git a/docs/reference/api/doxygen/dataflow__pattern_8h_source.html b/docs/reference/api/doxygen/dataflow__pattern_8h_source.html
index 0bfa98352..3eaa920cd 100644
--- a/docs/reference/api/doxygen/dataflow__pattern_8h_source.html
+++ b/docs/reference/api/doxygen/dataflow__pattern_8h_source.html
@@ -126,7 +126,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1relay_1_1LetPatternNode_html_a3edaf7f197eebc93d30efe01642f253c"><div class="ttname"><a href="classtvm_1_1relay_1_1LetPatternNode.html#a3edaf7f197eebc93d30efe01642f253c">tvm::relay::LetPatternNode::body</a></div><div class="ttdeci">DFPattern body</div><div class="ttdoc">The body of the let binding. </div><div class="ttdef"><b>Definition:</b> dataflow_pattern.h:235</div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1IfPatternNode_html_aed824813d430f3d48ece67bbc35fd82a"><div class="ttname"><a href="classtvm_1_1relay_1_1IfPatternNode.html#aed824813d430f3d48ece67bbc35fd82a">tvm::relay::IfPatternNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> dataflow_pattern.h:305</div></div>
 <div class="ttc" id="namespacetvm_1_1relay_html_a3834130d66634d032f8e9bffafbe09ad"><div class="ttname"><a href="namespacetvm_1_1relay.html#a3834130d66634d032f8e9bffafbe09ad">tvm::relay::IsTuple</a></div><div class="ttdeci">DFPattern IsTuple(const Array&lt; DFPattern &gt; &amp;fields)</div><div class="ttdoc">Syntatic Sugar for creating a TuplePattern. </div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1FunctionPatternNode_html_a5e831242707df5d59474816c416abe97"><div class="ttname"><a href="classtvm_1_1relay_1_1FunctionPatternNode.html#a5e831242707df5d59474816c416abe97">tvm::relay::FunctionPatternNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> dataflow_pattern.h:201</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor. </div><div class="ttdef"><b>Definition:</b> transform.h:1758</div></div>
 <div class="ttc" id="classtvm_1_1RelayExpr_html"><div class="ttname"><a href="classtvm_1_1RelayExpr.html">tvm::RelayExpr</a></div><div class="ttdoc">Managed reference to RelayExprNode. </div><div class="ttdef"><b>Definition:</b> expr.h:217</div></div>
diff --git a/docs/reference/api/doxygen/diagnostic_8h_source.html b/docs/reference/api/doxygen/diagnostic_8h_source.html
index 3771723ea..2e3623054 100644
--- a/docs/reference/api/doxygen/diagnostic_8h_source.html
+++ b/docs/reference/api/doxygen/diagnostic_8h_source.html
@@ -100,7 +100,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_html_a69a0e3f559d3a3b98d42701117d93ed0"><div class="ttname"><a href="namespacetvm.html#a69a0e3f559d3a3b98d42701117d93ed0">tvm::TerminalRenderer</a></div><div class="ttdeci">DiagnosticRenderer TerminalRenderer(std::ostream &amp;ostream)</div></div>
 <div class="ttc" id="namespacetvm_html_a908c332516a33fdc106cd9ee2ebc2b9e"><div class="ttname"><a href="namespacetvm.html#a908c332516a33fdc106cd9ee2ebc2b9e">tvm::DiagnosticLevel</a></div><div class="ttdeci">DiagnosticLevel</div><div class="ttdoc">The diagnostic level, controls the printing of the message. </div><div class="ttdef"><b>Definition:</b> diagnostic.h:41</div></div>
 <div class="ttc" id="classtvm_1_1DiagnosticContext_html"><div class="ttname"><a href="classtvm_1_1DiagnosticContext.html">tvm::DiagnosticContext</a></div><div class="ttdef"><b>Definition:</b> diagnostic.h:192</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc</a></div><div class="ttdoc">Please refer to TypedPackedFunc&lt;R(Args..)&gt;. </div><div class="ttdef"><b>Definition:</b> packed_func.h:60</div></div>
 <div class="ttc" id="classtvm_1_1DiagnosticContextNode_html_ada207669f235f6aa8dbf310583a92339"><div class="ttname"><a href="classtvm_1_1DiagnosticContextNode.html#ada207669f235f6aa8dbf310583a92339">tvm::DiagnosticContextNode::diagnostics</a></div><div class="ttdeci">Array&lt; Diagnostic &gt; diagnostics</div><div class="ttdoc">The set of diagnostics to report. </div><div class="ttdef"><b>Definition:</b> diagnostic.h:174</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
diff --git a/docs/reference/api/doxygen/env__func_8h_source.html b/docs/reference/api/doxygen/env__func_8h_source.html
index 0f2c9c9ea..f7ea525ab 100644
--- a/docs/reference/api/doxygen/env__func_8h_source.html
+++ b/docs/reference/api/doxygen/env__func_8h_source.html
@@ -84,7 +84,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1EnvFuncNode_html_af9c25500c1ef7491607f8c40c28c3063"><div class="ttname"><a href="classtvm_1_1EnvFuncNode.html#af9c25500c1ef7491607f8c40c28c3063">tvm::EnvFuncNode::_type_has_method_shash_reduce</a></div><div class="ttdeci">static constexpr bool _type_has_method_shash_reduce</div><div class="ttdef"><b>Definition:</b> env_func.h:64</div></div>
 <div class="ttc" id="classtvm_1_1EnvFuncNode_html_a83cd0f272d6f3551630480229b18ff05"><div class="ttname"><a href="classtvm_1_1EnvFuncNode.html#a83cd0f272d6f3551630480229b18ff05">tvm::EnvFuncNode::func</a></div><div class="ttdeci">runtime::PackedFunc func</div><div class="ttdoc">The internal packed function. </div><div class="ttdef"><b>Definition:</b> env_func.h:46</div></div>
 <div class="ttc" id="classtvm_1_1EnvFuncNode_html_a02d22636502da6754661d3698ea338ad"><div class="ttname"><a href="classtvm_1_1EnvFuncNode.html#a02d22636502da6754661d3698ea338ad">tvm::EnvFuncNode::name</a></div><div class="ttdeci">String name</div><div class="ttdoc">Unique name of the global function. </div><div class="ttdef"><b>Definition:</b> env_func.h:44</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1EnvFunc_html_aae6100a3a2f84f79fa8314c24fd516bc"><div class="ttname"><a href="classtvm_1_1EnvFunc.html#aae6100a3a2f84f79fa8314c24fd516bc">tvm::EnvFunc::EnvFunc</a></div><div class="ttdeci">EnvFunc()</div><div class="ttdef"><b>Definition:</b> env_func.h:74</div></div>
 <div class="ttc" id="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4_html_ac68694f5b98e92eabc7f247d29ec5a06"><div class="ttname"><a href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#ac68694f5b98e92eabc7f247d29ec5a06">tvm::TypedEnvFunc&lt; R(Args...)&gt;::operator()</a></div><div class="ttdeci">R operator()(Args... args) const</div><div class="ttdoc">Invoke the function. </div><div class="ttdef"><b>Definition:</b> env_func.h:138</div></div>
 <div class="ttc" id="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4_html_a41a6b9014d0feeb628ca7edfd0d26f0b"><div class="ttname"><a href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a41a6b9014d0feeb628ca7edfd0d26f0b">tvm::TypedEnvFunc&lt; R(Args...)&gt;::TypedEnvFunc</a></div><div class="ttdeci">TypedEnvFunc()</div><div class="ttdef"><b>Definition:</b> env_func.h:120</div></div>
diff --git a/docs/reference/api/doxygen/executor_8h_source.html b/docs/reference/api/doxygen/executor_8h_source.html
index 740359de9..94732c906 100644
--- a/docs/reference/api/doxygen/executor_8h_source.html
+++ b/docs/reference/api/doxygen/executor_8h_source.html
@@ -95,7 +95,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1relay_1_1Executor_html"><div class="ttname"><a href="classtvm_1_1relay_1_1Executor.html">tvm::relay::Executor</a></div><div class="ttdoc">Managed reference class to ExecutorNode. </div><div class="ttdef"><b>Definition:</b> executor.h:125</div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1ExecutorNode_html_affdc89b62f0572e1eee7cb81da96db4d"><div class="ttname"><a href="classtvm_1_1relay_1_1ExecutorNode.html#affdc89b62f0572e1eee7cb81da96db4d">tvm::relay::ExecutorNode::_type_key</a></div><div class="ttdeci">static constexpr const char * _type_key</div><div class="ttdef"><b>Definition:</b> executor.h:115</div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1ExecutorRegEntry_html_a8f730a5c2e394274764979b2db68283a"><div class="ttname"><a href="classtvm_1_1relay_1_1ExecutorRegEntry.html#a8f730a5c2e394274764979b2db68283a">tvm::relay::ExecutorRegEntry::add_attr_option</a></div><div class="ttdeci">ExecutorRegEntry &amp; add_attr_option(const String &amp;key)</div><div class="ttdoc">Register a valid configuration option and its ValueType for validation. </div><div class="ttdef"><b>Definition:</b> executor. [...]
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1ExecutorNode_html_a3057ef4ba81af5b68716394ad5f535f1"><div class="ttname"><a href="classtvm_1_1relay_1_1ExecutorNode.html#a3057ef4ba81af5b68716394ad5f535f1">tvm::relay::ExecutorNode::attrs</a></div><div class="ttdeci">DictAttrs attrs</div><div class="ttdef"><b>Definition:</b> executor.h:60</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
diff --git a/docs/reference/api/doxygen/extracted__task_8h_source.html b/docs/reference/api/doxygen/extracted__task_8h_source.html
index 3a518021e..e6833e30e 100644
--- a/docs/reference/api/doxygen/extracted__task_8h_source.html
+++ b/docs/reference/api/doxygen/extracted__task_8h_source.html
@@ -83,7 +83,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_1_1meta__schedule_html_acf183ea5bb3b23ecacf0282288390b02"><div class="ttname"><a href="namespacetvm_1_1meta__schedule.html#acf183ea5bb3b23ecacf0282288390b02">tvm::meta_schedule::DefaultTaskFilter</a></div><div class="ttdeci">Optional&lt; tvm::tir::PrimFunc &gt; DefaultTaskFilter(const Array&lt; tvm::te::Tensor, void &gt; &amp;args)</div><div class="ttdoc">The default TE task filter. </div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1PrimFunc_html"><div class="ttname"><a href="classtvm_1_1tir_1_1PrimFunc.html">tvm::tir::PrimFunc</a></div><div class="ttdoc">Managed reference to PrimFuncNode. </div><div class="ttdef"><b>Definition:</b> function.h:156</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1Target_html"><div class="ttname"><a href="classtvm_1_1Target.html">tvm::Target</a></div><div class="ttdoc">Managed reference class to TargetNode. </div><div class="ttdef"><b>Definition:</b> target.h:141</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1ExtractedTaskNode_html_a50c40aa8beb57d0f31c36ef360042be6"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html#a50c40aa8beb57d0f31c36ef360042be6">tvm::meta_schedule::ExtractedTaskNode::mod</a></div><div class="ttdeci">IRModule mod</div><div class="ttdoc">The high-level IR. </div><div class="ttdef"><b>Definition:</b> extracted_task.h:47</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
diff --git a/docs/reference/api/doxygen/functions_func_o.html b/docs/reference/api/doxygen/functions_func_o.html
index e9dd02a9a..e0aed1e38 100644
--- a/docs/reference/api/doxygen/functions_func_o.html
+++ b/docs/reference/api/doxygen/functions_func_o.html
@@ -124,9 +124,6 @@ $(function() {
 <li>operator iterator_base&lt; const_W &gt;()
 : <a class="el" href="classtvm_1_1support_1_1Span_1_1iterator__base.html#a7982df7e9df2a70029c52b12649002b5">tvm::support::Span&lt; T, W &gt;::iterator_base&lt; W1 &gt;</a>
 </li>
-<li>operator llvm::StringRef()
-: <a class="el" href="classtvm_1_1runtime_1_1String.html#ae65abd5c71692ba11be665d586bcf389">tvm::runtime::String</a>
-</li>
 <li>operator Module()
 : <a class="el" href="classtvm_1_1runtime_1_1TVMPODValue__.html#af927044f748a6a6c366f0157aa1d003c">tvm::runtime::TVMPODValue_</a>
 </li>
@@ -173,7 +170,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayIterator.html#a302d9fc8e6dc6010b01d8f51162b3fe6">tvm::runtime::metadata::ArrayIterator&lt; C, Ref &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html#a13e5dddf4cbe3b98844270c25a0a5b37">tvm::runtime::ObjectPtr&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#aa1bd13a7185cb4b2b6bdde49416e8aa4">tvm::runtime::ObjectRef</a>
-, <a class="el" href="classtvm_1_1runtime_1_1Optional.html#a415f6b164bc4b4496e717129bd88396b">tvm::runtime::Optional&lt; T &gt;</a>
+, <a class="el" href="classtvm_1_1runtime_1_1Optional.html#ae13ed54071e9b2605ab0e9810d4af9b1">tvm::runtime::Optional&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html#a327afe71a47ff06867d6276db08ad5b6">tvm::runtime::PackedFunc</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ReverseIterAdapter.html#a2a049030ff85513916a05924bf519d2c">tvm::runtime::ReverseIterAdapter&lt; Converter, TIter &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#ae71734f7a1541c3b8513a2cdcc1ab161">tvm::runtime::TypedPackedFunc&lt; R(Args...)&gt;</a>
@@ -263,13 +260,13 @@ $(function() {
 <li>operator-()
 : <a class="el" href="classtvm_1_1relay_1_1DFPattern.html#ad638d57cae9db9a1d4cd8831ab60a18b">tvm::relay::DFPattern</a>
 , <a class="el" href="classtvm_1_1relay_1_1FeatureSet.html#ad0412921b6fe93a2f51b3c72c03c4095">tvm::relay::FeatureSet</a>
-, <a class="el" href="classtvm_1_1runtime_1_1IterAdapter.html#ab5671b2b9d56c2abcfb8d3f03cf6fd9e">tvm::runtime::IterAdapter&lt; Converter, TIter &gt;</a>
+, <a class="el" href="classtvm_1_1runtime_1_1IterAdapter.html#a5bbe56d308014b49fec6374315f8d43a">tvm::runtime::IterAdapter&lt; Converter, TIter &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ReverseIterAdapter.html#a67f728a692ed84a78a20a2095815f260">tvm::runtime::ReverseIterAdapter&lt; Converter, TIter &gt;</a>
 </li>
 <li>operator--()
 : <a class="el" href="classtvm_1_1runtime_1_1IterAdapter.html#acb643cc554062422a4fd00bbfb3b0a6d">tvm::runtime::IterAdapter&lt; Converter, TIter &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1MapNode_1_1iterator.html#a08393c19a1c8b1c4057a33832cd48662">tvm::runtime::MapNode::iterator</a>
-, <a class="el" href="classtvm_1_1runtime_1_1ReverseIterAdapter.html#a53f1d3671d30c2e58cf229f377c96409">tvm::runtime::ReverseIterAdapter&lt; Converter, TIter &gt;</a>
+, <a class="el" href="classtvm_1_1runtime_1_1ReverseIterAdapter.html#afa7ed1b09064bb3d6dea7ad886145346">tvm::runtime::ReverseIterAdapter&lt; Converter, TIter &gt;</a>
 </li>
 <li>operator-=()
 : <a class="el" href="classtvm_1_1relay_1_1FeatureSet.html#ad90ce4d929774c0feb92c3eb56bea338">tvm::relay::FeatureSet</a>
@@ -287,7 +284,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html#a106ab6e70f61976d2a7d5ca37ae26f51">tvm::relay::PatternWildcard</a>
 , <a class="el" href="classtvm_1_1runtime_1_1Map_1_1iterator.html#a3779f858a014a0feea9d9e0c5d027d73">tvm::runtime::Map&lt; K, V, typename, typename &gt;::iterator</a>
 , <a class="el" href="classtvm_1_1runtime_1_1MapNode_1_1iterator.html#adf85d43ef116b85c8aa2a25599bc5584">tvm::runtime::MapNode::iterator</a>
-, <a class="el" href="classtvm_1_1runtime_1_1Module.html#a87bcc010c62887a453d49d46854fa354">tvm::runtime::Module</a>
+, <a class="el" href="classtvm_1_1runtime_1_1Module.html#ab6d988e0c9c19eaec2970a0222cc4fc5">tvm::runtime::Module</a>
 , <a class="el" href="classtvm_1_1runtime_1_1NDArray.html#ad57933f49a9fd51d7f996e1b16ffd2e0">tvm::runtime::NDArray</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html#a42a4f53709a0c071904c98e715ee7140">tvm::runtime::ObjectPtr&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a3deeeac5827a88f375b8c6ae1039c219">tvm::runtime::ObjectRef</a>
@@ -296,8 +293,8 @@ $(function() {
 , <a class="el" href="classtvm_1_1te_1_1IterVarAttr.html#aa1ef7fd178e47fd8165bb8fded785a28">tvm::te::IterVarAttr</a>
 , <a class="el" href="classtvm_1_1te_1_1IterVarRelation.html#aa6a6afa23fa3c3a81b3778f2869b3455">tvm::te::IterVarRelation</a>
 , <a class="el" href="classtvm_1_1te_1_1Operation.html#a133e5d2639c0c657131b53c0877cdd79">tvm::te::Operation</a>
-, <a class="el" href="classtvm_1_1te_1_1Schedule.html#aa30087792fd6d3b7372d56e7f3947c3f">tvm::te::Schedule</a>
-, <a class="el" href="classtvm_1_1te_1_1Stage.html#a7a5aeafe44281a6fca4b401139407241">tvm::te::Stage</a>
+, <a class="el" href="classtvm_1_1te_1_1Schedule.html#a45d0647fe483156e98e76830db7c5130">tvm::te::Schedule</a>
+, <a class="el" href="classtvm_1_1te_1_1Stage.html#a427ef4fef2edf15624be2c87bdad9505">tvm::te::Stage</a>
 , <a class="el" href="classtvm_1_1tir_1_1Layout.html#a24d1414e53ab3bd153942bf5de5402e2">tvm::tir::Layout</a>
 , <a class="el" href="classtvm_1_1tir_1_1SizeVar.html#ada44b624c1397c943ad9a0427378b048">tvm::tir::SizeVar</a>
 , <a class="el" href="classtvm_1_1tir_1_1Var.html#a6a5db358f4fd7a9005a2d7a5f0fbe501">tvm::tir::Var</a>
@@ -319,20 +316,20 @@ $(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_1relay_1_1PatternWildcard.html#a98237b6a6448ba4ed10f64c3016eb4e2">tvm::relay::PatternWildcard</a>
-, <a class="el" href="classtvm_1_1runtime_1_1Array.html#a5bc26222aa0257ece4c3a9d4d70fa1d8">tvm::runtime::Array&lt; T, typename &gt;</a>
+, <a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html#aef430b36a4be504969829f800e126245">tvm::relay::PatternWildcard</a>
+, <a class="el" href="classtvm_1_1runtime_1_1Array.html#a8f52fa8c97344586060ca735a3b91b39">tvm::runtime::Array&lt; T, typename &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1Map.html#a6b398835e5160e792634c8ee0783f284">tvm::runtime::Map&lt; K, V, typename, typename &gt;</a>
-, <a class="el" href="classtvm_1_1runtime_1_1Object.html#a69c32fbd96181f5c21d2c878ab285e4f">tvm::runtime::Object</a>
+, <a class="el" href="classtvm_1_1runtime_1_1Object.html#ae341e561272ff43cdcbc927bc29ac50d">tvm::runtime::Object</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html#afda3c65f41e83e1c87145a216f8c846d">tvm::runtime::ObjectPtr&lt; T &gt;</a>
-, <a class="el" href="classtvm_1_1runtime_1_1Optional.html#af840ea1549dbe89d1680025c803e02e1">tvm::runtime::Optional&lt; T &gt;</a>
-, <a class="el" href="classtvm_1_1runtime_1_1String.html#aaf3615a763a98184d648c976565f6893">tvm::runtime::String</a>
+, <a class="el" href="classtvm_1_1runtime_1_1Optional.html#a98b43ed21bc060868ac03dab520a5da2">tvm::runtime::Optional&lt; T &gt;</a>
+, <a class="el" href="classtvm_1_1runtime_1_1String.html#a3b3c8614af05adc454f47132e04552ed">tvm::runtime::String</a>
 , <a class="el" href="classtvm_1_1runtime_1_1TVMRetValue.html#a4993d4b338c28096b56ed3d0d9ae5170">tvm::runtime::TVMRetValue</a>
 , <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#a8dd1fbae84cb9597c52977b0e8db64dc">tvm::runtime::TypedPackedFunc&lt; R(Args...)&gt;</a>
 , <a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a69c12a9470f67ea26e53172f5c9220a1">tvm::runtime::vm::Instruction</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>
 </li>
 <li>operator==()
-: <a class="el" href="classtvm_1_1Integer.html#a5b9ad6d47c7c6df5a066d58f6ba65f8e">tvm::Integer</a>
+: <a class="el" href="classtvm_1_1Integer.html#ad2291d037ff36f5371f6381478b3eeaf">tvm::Integer</a>
 , <a class="el" href="classtvm_1_1runtime_1_1DataType.html#a806810d87352f5c2bac1ad4e8d086a01">tvm::runtime::DataType</a>
 , <a class="el" href="classtvm_1_1runtime_1_1IterAdapter.html#ac4066242008f1e60533099615a20fdbd">tvm::runtime::IterAdapter&lt; Converter, TIter &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1Map_1_1iterator.html#ade3c126684dcdc6ed432f3bb7eb62099">tvm::runtime::Map&lt; K, V, typename, typename &gt;::iterator</a>
@@ -340,7 +337,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayIterator.html#a6941bd0a5aa77acb1069e099e08455ed">tvm::runtime::metadata::ArrayIterator&lt; C, Ref &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html#ab849841f9277ad9015515ed591bf79d3">tvm::runtime::ObjectPtr&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#affdf1b8cdb36e140de7b3ad7064e4617">tvm::runtime::ObjectRef</a>
-, <a class="el" href="classtvm_1_1runtime_1_1Optional.html#ae162e2c75ca786277c01a0f91b157fee">tvm::runtime::Optional&lt; T &gt;</a>
+, <a class="el" href="classtvm_1_1runtime_1_1Optional.html#aba83dc01d0f82381c3505c20a6bb36b7">tvm::runtime::Optional&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html#a5c4ed23ffcb6a1874bd6eceb87b40b25">tvm::runtime::PackedFunc</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ReverseIterAdapter.html#ae71116873ea643de9f8ec1836cc116db">tvm::runtime::ReverseIterAdapter&lt; Converter, TIter &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#a0e4a4d01d86eca79c5d9e1e90322c5cb">tvm::runtime::TypedPackedFunc&lt; R(Args...)&gt;</a>
@@ -353,14 +350,14 @@ $(function() {
 , <a class="el" href="classtvm_1_1AttrRegistryMapContainerMap.html#a713c3d1884423e3e67e3fdaef2566925">tvm::AttrRegistryMapContainerMap&lt; KeyType &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ADT.html#a88cf389012aad0e129c84c056ae546fc">tvm::runtime::ADT</a>
 , <a class="el" href="classtvm_1_1runtime_1_1Array.html#ac84683f61368eb10e26e72a0097cccd7">tvm::runtime::Array&lt; T, typename &gt;</a>
-, <a class="el" href="classtvm_1_1runtime_1_1InplaceArrayBase.html#a45c91b04c230f7400727b1bc02a93f02">tvm::runtime::InplaceArrayBase&lt; ArrayType, ElemType &gt;</a>
+, <a class="el" href="classtvm_1_1runtime_1_1InplaceArrayBase.html#a4b37b5fcd2285b818e8f623da8b326b2">tvm::runtime::InplaceArrayBase&lt; ArrayType, ElemType &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1Map.html#a865a58097e473b532b1373bd15a1e91f">tvm::runtime::Map&lt; K, V, typename, typename &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor.html#a65fcb8067aa37421bb244573a07bb0b7">tvm::runtime::metadata::ArrayAccessor&lt; C, Ref &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4.html#ab5e946c37ae641eb9b541df79a54c3e5">tvm::runtime::metadata::ArrayAccessor&lt; const char *, ::tvm::runtime::String &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ShapeTuple.html#a2d34d64f40f0d5918e9751c76425f0f7">tvm::runtime::ShapeTuple</a>
 , <a class="el" href="classtvm_1_1runtime_1_1TVMArgs.html#a6d950e33524258ba832ab87622183038">tvm::runtime::TVMArgs</a>
 , <a class="el" href="classtvm_1_1support_1_1Span.html#ac9f8667c4b7baa4b2dba95d70f0245c0">tvm::support::Span&lt; T, W &gt;</a>
-, <a class="el" href="classtvm_1_1te_1_1Schedule.html#a3f63b27dcbddd06c550cc1a5a6562717">tvm::te::Schedule</a>
+, <a class="el" href="classtvm_1_1te_1_1Schedule.html#a2040189df3b89304a12acce3efff04a6">tvm::te::Schedule</a>
 , <a class="el" href="classtvm_1_1te_1_1Tensor.html#a4cf42a49cf51e5aa8d33c32885a7129e">tvm::te::Tensor</a>
 , <a class="el" href="classtvm_1_1te_1_1Tensor_1_1Slice.html#a1a00e3ec5f80973c337b0e7ab9c0974d">tvm::te::Tensor::Slice</a>
 , <a class="el" href="classtvm_1_1tir_1_1Layout.html#ab80c1b1c7c763b5609cddb0fb613dc5c">tvm::tir::Layout</a>
@@ -378,7 +375,7 @@ $(function() {
 </li>
 <li>Optional()
 : <a class="el" href="classtvm_1_1relay_1_1DFPattern.html#aa573fa65bf9c4f0ba090225105233136">tvm::relay::DFPattern</a>
-, <a class="el" href="classtvm_1_1runtime_1_1Optional.html#a8e48cc0c7291822bb3fad71dd1455ba6">tvm::runtime::Optional&lt; T &gt;</a>
+, <a class="el" href="classtvm_1_1runtime_1_1Optional.html#a37dde5a68fe4e1f13494a66f79da419b">tvm::runtime::Optional&lt; T &gt;</a>
 </li>
 <li>Or()
 : <a class="el" href="classtvm_1_1tir_1_1Or.html#ab0b68884ed84d03d3af7c95da2fcf81e">tvm::tir::Or</a>
diff --git a/docs/reference/api/doxygen/functions_func_s.html b/docs/reference/api/doxygen/functions_func_s.html
index 67c99e202..e11df07c8 100644
--- a/docs/reference/api/doxygen/functions_func_s.html
+++ b/docs/reference/api/doxygen/functions_func_s.html
@@ -594,7 +594,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1tir_1_1SeqStmtNode.html#a0b17eae7cf993b7e3c3e5b50b4fa5982">tvm::tir::SeqStmtNode</a>
 </li>
 <li>SizeVar()
-: <a class="el" href="classtvm_1_1tir_1_1SizeVar.html#ac470249315d9e395ad581d35dd5dcb05">tvm::tir::SizeVar</a>
+: <a class="el" href="classtvm_1_1tir_1_1SizeVar.html#a0f8cb8a92feb96343939d223db90f7cd">tvm::tir::SizeVar</a>
 </li>
 <li>Slice()
 : <a class="el" href="classtvm_1_1te_1_1Tensor_1_1Slice.html#ab314819e8bcca6421e9a4f33e48578c3">tvm::te::Tensor::Slice</a>
@@ -638,7 +638,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1auto__scheduler_1_1SplitStep.html#a64ed86582a56a2645b3e4eb44ecb31af">tvm::auto_scheduler::SplitStep</a>
 </li>
 <li>Stage()
-: <a class="el" href="classtvm_1_1auto__scheduler_1_1Stage.html#af0643fe8c1298451c9a322f915c48843">tvm::auto_scheduler::Stage</a>
+: <a class="el" href="classtvm_1_1auto__scheduler_1_1Stage.html#a39ffbb1b4e189180bc4067e74965f42b">tvm::auto_scheduler::Stage</a>
 , <a class="el" href="classtvm_1_1te_1_1Stage.html#a1ecdc9a000be62c9cc26a96d4c33e36e">tvm::te::Stage</a>
 </li>
 <li>Start()
@@ -672,7 +672,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1tir_1_1StmtSRefNode.html#afc61714fbac246f72d02d0729fb9ba2d">tvm::tir::StmtSRefNode</a>
 </li>
 <li>StmtNode()
-: <a class="el" href="classtvm_1_1tir_1_1StmtNode.html#a79e21b14d3ab57209577bf4a8f694a87">tvm::tir::StmtNode</a>
+: <a class="el" href="classtvm_1_1tir_1_1StmtNode.html#a67693c4e97ae49890ea74605fe1b1f74">tvm::tir::StmtNode</a>
 </li>
 <li>StmtSRef()
 : <a class="el" href="classtvm_1_1tir_1_1StmtSRef.html#a31687ace5dc4fe487ffb87d658d86412">tvm::tir::StmtSRef</a>
@@ -708,7 +708,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html#ac29b9295c432a87658392872c644864f">tvm::runtime::DeviceAPI</a>
 </li>
 <li>String()
-: <a class="el" href="classtvm_1_1runtime_1_1String.html#a68df7bab89fca339e3918438dd80300d">tvm::runtime::String</a>
+: <a class="el" href="classtvm_1_1runtime_1_1String.html#a02fca36e3ff55cc1e83635b02a11fca3">tvm::runtime::String</a>
 </li>
 <li>StringImm()
 : <a class="el" href="classtvm_1_1tir_1_1StringImm.html#a0f2830290e055f677c5d5dea98aab726">tvm::tir::StringImm</a>
diff --git a/docs/reference/api/doxygen/functions_func_t.html b/docs/reference/api/doxygen/functions_func_t.html
index 02fabe58b..8ce70cd0b 100644
--- a/docs/reference/api/doxygen/functions_func_t.html
+++ b/docs/reference/api/doxygen/functions_func_t.html
@@ -1044,7 +1044,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a41a6b9014d0feeb628ca7edfd0d26f0b">tvm::TypedEnvFunc&lt; R(Args...)&gt;</a>
 </li>
 <li>TypedPackedFunc()
-: <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#a4abadc6786dd14a3aed6e2b5b342d1d6">tvm::runtime::TypedPackedFunc&lt; R(Args...)&gt;</a>
+: <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#a8941c80982a1b2a289440f3c79bb0ac8">tvm::runtime::TypedPackedFunc&lt; R(Args...)&gt;</a>
 </li>
 <li>TypeIndex2Key()
 : <a class="el" href="classtvm_1_1runtime_1_1Object.html#a817ba6c23b7ee1821c48a75edf255a30">tvm::runtime::Object</a>
diff --git a/docs/reference/api/doxygen/functions_func_v.html b/docs/reference/api/doxygen/functions_func_v.html
index d1ec4ed9f..626acc417 100644
--- a/docs/reference/api/doxygen/functions_func_v.html
+++ b/docs/reference/api/doxygen/functions_func_v.html
@@ -426,8 +426,8 @@ $(function() {
 </li>
 <li>VisitType_()
 : <a class="el" href="classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#ae03e50b74b8bd7551b55205976be592e">tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a>
-, <a class="el" href="classtvm_1_1TypeMutator.html#ab270cb7a0d9af50362137c1d68d32276">tvm::TypeMutator</a>
-, <a class="el" href="classtvm_1_1TypeVisitor.html#ac8845fbf58c1a1f0ebc23c7ee403aaab">tvm::TypeVisitor</a>
+, <a class="el" href="classtvm_1_1TypeMutator.html#a9c2d7e1a52faac66f55896ecde3f2211">tvm::TypeMutator</a>
+, <a class="el" href="classtvm_1_1TypeVisitor.html#ae699be9a6ed94a635c315506e0c2a6d2">tvm::TypeVisitor</a>
 </li>
 <li>VisitTypeDefault_()
 : <a class="el" href="classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#a91553f9e04c39b3821a70ae4f7b0c597">tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a>
diff --git a/docs/reference/api/doxygen/functions_i.html b/docs/reference/api/doxygen/functions_i.html
index 36eaad3d6..1cc30a68c 100644
--- a/docs/reference/api/doxygen/functions_i.html
+++ b/docs/reference/api/doxygen/functions_i.html
@@ -604,7 +604,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1te_1_1IterVarAttr.html#a5549479b7e3ce243d89b219b0dd7ef71">tvm::te::IterVarAttr</a>
 </li>
 <li>IterVarRelation()
-: <a class="el" href="classtvm_1_1te_1_1IterVarRelation.html#a3e611ee0870d9a542b8deb79575dbf66">tvm::te::IterVarRelation</a>
+: <a class="el" href="classtvm_1_1te_1_1IterVarRelation.html#a4b50caede957f1cb50587ce15a87109f">tvm::te::IterVarRelation</a>
 </li>
 </ul>
 </div><!-- contents -->
diff --git a/docs/reference/api/doxygen/functions_o.html b/docs/reference/api/doxygen/functions_o.html
index b6c50294a..1d1d96b99 100644
--- a/docs/reference/api/doxygen/functions_o.html
+++ b/docs/reference/api/doxygen/functions_o.html
@@ -179,9 +179,6 @@ $(function() {
 <li>operator iterator_base&lt; const_W &gt;()
 : <a class="el" href="classtvm_1_1support_1_1Span_1_1iterator__base.html#a7982df7e9df2a70029c52b12649002b5">tvm::support::Span&lt; T, W &gt;::iterator_base&lt; W1 &gt;</a>
 </li>
-<li>operator llvm::StringRef()
-: <a class="el" href="classtvm_1_1runtime_1_1String.html#ae65abd5c71692ba11be665d586bcf389">tvm::runtime::String</a>
-</li>
 <li>operator Module()
 : <a class="el" href="classtvm_1_1runtime_1_1TVMPODValue__.html#af927044f748a6a6c366f0157aa1d003c">tvm::runtime::TVMPODValue_</a>
 </li>
@@ -343,7 +340,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html#a106ab6e70f61976d2a7d5ca37ae26f51">tvm::relay::PatternWildcard</a>
 , <a class="el" href="classtvm_1_1runtime_1_1Map_1_1iterator.html#a3779f858a014a0feea9d9e0c5d027d73">tvm::runtime::Map&lt; K, V, typename, typename &gt;::iterator</a>
 , <a class="el" href="classtvm_1_1runtime_1_1MapNode_1_1iterator.html#adf85d43ef116b85c8aa2a25599bc5584">tvm::runtime::MapNode::iterator</a>
-, <a class="el" href="classtvm_1_1runtime_1_1Module.html#ab6d988e0c9c19eaec2970a0222cc4fc5">tvm::runtime::Module</a>
+, <a class="el" href="classtvm_1_1runtime_1_1Module.html#a87bcc010c62887a453d49d46854fa354">tvm::runtime::Module</a>
 , <a class="el" href="classtvm_1_1runtime_1_1NDArray.html#ad57933f49a9fd51d7f996e1b16ffd2e0">tvm::runtime::NDArray</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html#a42a4f53709a0c071904c98e715ee7140">tvm::runtime::ObjectPtr&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a3deeeac5827a88f375b8c6ae1039c219">tvm::runtime::ObjectRef</a>
@@ -380,12 +377,12 @@ $(function() {
 : <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_1relay_1_1PatternWildcard.html#aef430b36a4be504969829f800e126245">tvm::relay::PatternWildcard</a>
-, <a class="el" href="classtvm_1_1runtime_1_1Array.html#a5bc26222aa0257ece4c3a9d4d70fa1d8">tvm::runtime::Array&lt; T, typename &gt;</a>
+, <a class="el" href="classtvm_1_1runtime_1_1Array.html#a8f52fa8c97344586060ca735a3b91b39">tvm::runtime::Array&lt; T, typename &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1Map.html#ac62909410a98a078ff01f688cdf70ffe">tvm::runtime::Map&lt; K, V, typename, typename &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1Object.html#a69c32fbd96181f5c21d2c878ab285e4f">tvm::runtime::Object</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html#afda3c65f41e83e1c87145a216f8c846d">tvm::runtime::ObjectPtr&lt; T &gt;</a>
-, <a class="el" href="classtvm_1_1runtime_1_1Optional.html#af840ea1549dbe89d1680025c803e02e1">tvm::runtime::Optional&lt; T &gt;</a>
-, <a class="el" href="classtvm_1_1runtime_1_1String.html#a3b3c8614af05adc454f47132e04552ed">tvm::runtime::String</a>
+, <a class="el" href="classtvm_1_1runtime_1_1Optional.html#a377e159dbff53b8544a1b3337afc379d">tvm::runtime::Optional&lt; T &gt;</a>
+, <a class="el" href="classtvm_1_1runtime_1_1String.html#aaf3615a763a98184d648c976565f6893">tvm::runtime::String</a>
 , <a class="el" href="classtvm_1_1runtime_1_1TVMRetValue.html#a4993d4b338c28096b56ed3d0d9ae5170">tvm::runtime::TVMRetValue</a>
 , <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#a8dd1fbae84cb9597c52977b0e8db64dc">tvm::runtime::TypedPackedFunc&lt; R(Args...)&gt;</a>
 , <a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a69c12a9470f67ea26e53172f5c9220a1">tvm::runtime::vm::Instruction</a>
@@ -400,7 +397,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayIterator.html#a6941bd0a5aa77acb1069e099e08455ed">tvm::runtime::metadata::ArrayIterator&lt; C, Ref &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html#ab849841f9277ad9015515ed591bf79d3">tvm::runtime::ObjectPtr&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#affdf1b8cdb36e140de7b3ad7064e4617">tvm::runtime::ObjectRef</a>
-, <a class="el" href="classtvm_1_1runtime_1_1Optional.html#aba83dc01d0f82381c3505c20a6bb36b7">tvm::runtime::Optional&lt; T &gt;</a>
+, <a class="el" href="classtvm_1_1runtime_1_1Optional.html#ae162e2c75ca786277c01a0f91b157fee">tvm::runtime::Optional&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html#a5c4ed23ffcb6a1874bd6eceb87b40b25">tvm::runtime::PackedFunc</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ReverseIterAdapter.html#ae71116873ea643de9f8ec1836cc116db">tvm::runtime::ReverseIterAdapter&lt; Converter, TIter &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#a0e4a4d01d86eca79c5d9e1e90322c5cb">tvm::runtime::TypedPackedFunc&lt; R(Args...)&gt;</a>
@@ -413,7 +410,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1AttrRegistryMapContainerMap.html#a713c3d1884423e3e67e3fdaef2566925">tvm::AttrRegistryMapContainerMap&lt; KeyType &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ADT.html#a88cf389012aad0e129c84c056ae546fc">tvm::runtime::ADT</a>
 , <a class="el" href="classtvm_1_1runtime_1_1Array.html#ac84683f61368eb10e26e72a0097cccd7">tvm::runtime::Array&lt; T, typename &gt;</a>
-, <a class="el" href="classtvm_1_1runtime_1_1InplaceArrayBase.html#a4b37b5fcd2285b818e8f623da8b326b2">tvm::runtime::InplaceArrayBase&lt; ArrayType, ElemType &gt;</a>
+, <a class="el" href="classtvm_1_1runtime_1_1InplaceArrayBase.html#a45c91b04c230f7400727b1bc02a93f02">tvm::runtime::InplaceArrayBase&lt; ArrayType, ElemType &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1Map.html#a865a58097e473b532b1373bd15a1e91f">tvm::runtime::Map&lt; K, V, typename, typename &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor.html#a65fcb8067aa37421bb244573a07bb0b7">tvm::runtime::metadata::ArrayAccessor&lt; C, Ref &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4.html#ab5e946c37ae641eb9b541df79a54c3e5">tvm::runtime::metadata::ArrayAccessor&lt; const char *, ::tvm::runtime::String &gt;</a>
diff --git a/docs/reference/api/doxygen/functions_s.html b/docs/reference/api/doxygen/functions_s.html
index 9f26ad1ab..8e1ac5ffe 100644
--- a/docs/reference/api/doxygen/functions_s.html
+++ b/docs/reference/api/doxygen/functions_s.html
@@ -810,7 +810,7 @@ $(function() {
 </li>
 <li>Span()
 : <a class="el" href="classtvm_1_1Span.html#a5216631b639e8c802263d87d3fe9e5f6">tvm::Span</a>
-, <a class="el" href="classtvm_1_1support_1_1Span.html#a3c22dd06856e7029e7107adf38eb72f5">tvm::support::Span&lt; T, W &gt;</a>
+, <a class="el" href="classtvm_1_1support_1_1Span.html#a77653730a2542edf93b7c4413a72f3ec">tvm::support::Span&lt; T, W &gt;</a>
 </li>
 <li>span
 : <a class="el" href="classtvm_1_1tir_1_1BufferNode.html#a13fc164e1b65cee741b4895df6316a4a">tvm::tir::BufferNode</a>
@@ -884,7 +884,7 @@ $(function() {
 </li>
 <li>Stage()
 : <a class="el" href="classtvm_1_1auto__scheduler_1_1Stage.html#a39ffbb1b4e189180bc4067e74965f42b">tvm::auto_scheduler::Stage</a>
-, <a class="el" href="classtvm_1_1te_1_1Stage.html#afec82602b9321c489b88632a005335f8">tvm::te::Stage</a>
+, <a class="el" href="classtvm_1_1te_1_1Stage.html#a1ecdc9a000be62c9cc26a96d4c33e36e">tvm::te::Stage</a>
 </li>
 <li>stage_id
 : <a class="el" href="classtvm_1_1auto__scheduler_1_1StepNode.html#afcc7aaf263348f66139307affbfcee09">tvm::auto_scheduler::StepNode</a>
diff --git a/docs/reference/api/doxygen/functions_t.html b/docs/reference/api/doxygen/functions_t.html
index 9becda81e..7eaae0cb4 100644
--- a/docs/reference/api/doxygen/functions_t.html
+++ b/docs/reference/api/doxygen/functions_t.html
@@ -1216,7 +1216,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html#ae0ea8b4adc6dab8c74086bceaef6b3e1">tvm::runtime::ObjectPtr&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#ae0ea8b4adc6dab8c74086bceaef6b3e1">tvm::runtime::ObjectRef</a>
 , <a class="el" href="classtvm_1_1runtime_1_1TVMPODValue__.html#ae0ea8b4adc6dab8c74086bceaef6b3e1">tvm::runtime::TVMPODValue_</a>
-, <a class="el" href="classtvm_1_1runtime_1_1TVMRetValue.html#ab86bf21f214fca72e73a7f6e20ffab8d">tvm::runtime::TVMRetValue</a>
+, <a class="el" href="classtvm_1_1runtime_1_1TVMRetValue.html#a77455a8fe7d27b90a01a64f1cd28e9ec">tvm::runtime::TVMRetValue</a>
 , <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#ae0ea8b4adc6dab8c74086bceaef6b3e1">tvm::runtime::TypedPackedFunc&lt; R(Args...)&gt;</a>
 </li>
 <li>type
@@ -1288,7 +1288,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a41a6b9014d0feeb628ca7edfd0d26f0b">tvm::TypedEnvFunc&lt; R(Args...)&gt;</a>
 </li>
 <li>TypedPackedFunc()
-: <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#afd8ee9dd9648c19b468bb4b0b00e8e4e">tvm::runtime::TypedPackedFunc&lt; R(Args...)&gt;</a>
+: <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#a8941c80982a1b2a289440f3c79bb0ac8">tvm::runtime::TypedPackedFunc&lt; R(Args...)&gt;</a>
 </li>
 <li>TypeIndex2Key()
 : <a class="el" href="classtvm_1_1runtime_1_1Object.html#a817ba6c23b7ee1821c48a75edf255a30">tvm::runtime::Object</a>
@@ -1311,7 +1311,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1TypeRelation.html#ac26b1897eab8197ed26606ab81b7403b">tvm::TypeRelation</a>
 </li>
 <li>TypeReporter()
-: <a class="el" href="classtvm_1_1TypeReporter.html#a8e7e05a07f9f7ad9bea91f27afac9051">tvm::TypeReporter</a>
+: <a class="el" href="classtvm_1_1TypeReporter.html#aa3dc38a3c84d324d0b3a9f358460a091">tvm::TypeReporter</a>
 </li>
 <li>types
 : <a class="el" href="classtvm_1_1TupleAffineTypeNode.html#a30c834b7e1cb64467e6587ac16ebb187">tvm::TupleAffineTypeNode</a>
diff --git a/docs/reference/api/doxygen/functions_v.html b/docs/reference/api/doxygen/functions_v.html
index 0672aa841..c564959e5 100644
--- a/docs/reference/api/doxygen/functions_v.html
+++ b/docs/reference/api/doxygen/functions_v.html
@@ -154,7 +154,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1relay_1_1PatternVarNode.html#acfa1269806fbf19e7badd424c19c64bf">tvm::relay::PatternVarNode</a>
 </li>
 <li>Var()
-: <a class="el" href="classtvm_1_1relay_1_1Var.html#a06ef8ae1d07a5b8a3c25ca7775d17762">tvm::relay::Var</a>
+: <a class="el" href="classtvm_1_1relay_1_1Var.html#a45372a62057ee9332a391e29845505ff">tvm::relay::Var</a>
 </li>
 <li>var
 : <a class="el" href="classtvm_1_1tir_1_1IterVarNode.html#a09036ef2df09e7caf21e66dcb62675a6">tvm::tir::IterVarNode</a>
@@ -552,7 +552,7 @@ $(function() {
 </li>
 <li>VisitStmt_()
 : <a class="el" href="classtvm_1_1tir_1_1StmtFunctor_3_01R_07const_01Stmt_01_6n_00_01Args_8_8_8_01args_08_4.html#ab10dd3ea7414d0c6c415857be5b5ad7b">tvm::tir::StmtFunctor&lt; R(const Stmt &amp;n, Args... args)&gt;</a>
-, <a class="el" href="classtvm_1_1tir_1_1StmtMutator.html#ab094e88d4bda5882756d136c15db6260">tvm::tir::StmtMutator</a>
+, <a class="el" href="classtvm_1_1tir_1_1StmtMutator.html#a758990a5b6adfb7585de67a20301ef0a">tvm::tir::StmtMutator</a>
 , <a class="el" href="classtvm_1_1tir_1_1StmtVisitor.html#ae842e15f24937f456d0e42aeb53965df">tvm::tir::StmtVisitor</a>
 </li>
 <li>VisitStmtDefault_()
@@ -567,9 +567,9 @@ $(function() {
 , <a class="el" href="classtvm_1_1TypeMutator.html#a84e824911927d98e20a338eab8b75a45">tvm::TypeMutator</a>
 </li>
 <li>VisitType_()
-: <a class="el" href="classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#a40e3787a169f391bda4852aa7caf33cb">tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a>
+: <a class="el" href="classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#a05485baebc1e25710714f65b68124f73">tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a>
 , <a class="el" href="classtvm_1_1TypeMutator.html#a8171dc89a947d6224e83e86ce5d06d11">tvm::TypeMutator</a>
-, <a class="el" href="classtvm_1_1TypeVisitor.html#a11378b4db6f704c04a97bec1c8ea8261">tvm::TypeVisitor</a>
+, <a class="el" href="classtvm_1_1TypeVisitor.html#a063b7b1705ffabb92e58093032686e90">tvm::TypeVisitor</a>
 </li>
 <li>VisitTypeDefault_()
 : <a class="el" href="classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#a91553f9e04c39b3821a70ae4f7b0c597">tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a>
diff --git a/docs/reference/api/doxygen/image_8h_source.html b/docs/reference/api/doxygen/image_8h_source.html
index 7d562ce4d..5c8a2af7a 100644
--- a/docs/reference/api/doxygen/image_8h_source.html
+++ b/docs/reference/api/doxygen/image_8h_source.html
@@ -110,7 +110,7 @@ $(function() {
 <div class="ttc" id="structtvm_1_1relay_1_1Resize1DAttrs_html_aeffef5eaf26c61884e466290b6a7fdc1"><div class="ttname"><a href="structtvm_1_1relay_1_1Resize1DAttrs.html#aeffef5eaf26c61884e466290b6a7fdc1">tvm::relay::Resize1DAttrs::layout</a></div><div class="ttdeci">std::string layout</div><div class="ttdef"><b>Definition:</b> image.h:39</div></div>
 <div class="ttc" id="structtvm_1_1relay_1_1Resize3DAttrs_html_aee1b1b9b3ebdf9319026ed84757bfc25"><div class="ttname"><a href="structtvm_1_1relay_1_1Resize3DAttrs.html#aee1b1b9b3ebdf9319026ed84757bfc25">tvm::relay::Resize3DAttrs::method</a></div><div class="ttdeci">std::string method</div><div class="ttdef"><b>Definition:</b> image.h:146</div></div>
 <div class="ttc" id="ir_2attrs_8h_html_a578da113eb199bad72e26c03ad24832f"><div class="ttname"><a href="ir_2attrs_8h.html#a578da113eb199bad72e26c03ad24832f">TVM_ATTR_FIELD</a></div><div class="ttdeci">#define TVM_ATTR_FIELD(FieldName)</div><div class="ttdoc">Declare an attribute field. </div><div class="ttdef"><b>Definition:</b> attrs.h:76</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="structtvm_1_1relay_1_1Resize1DAttrs_html_af9342c86f1580b8fe160ad16ada2495e"><div class="ttname"><a href="structtvm_1_1relay_1_1Resize1DAttrs.html#af9342c86f1580b8fe160ad16ada2495e">tvm::relay::Resize1DAttrs::TVM_DECLARE_ATTRS</a></div><div class="ttdeci">TVM_DECLARE_ATTRS(Resize1DAttrs, &quot;relay.attrs.Resize1DAttrs&quot;)</div><div class="ttdef"><b>Definition:</b> image.h:48</div></div>
 <div class="ttc" id="structtvm_1_1relay_1_1Resize1DAttrs_html_a02fa3ba327906b0dea5f2c2f066f89ba"><div class="ttname"><a href="structtvm_1_1relay_1_1Resize1DAttrs.html#a02fa3ba327906b0dea5f2c2f066f89ba">tvm::relay::Resize1DAttrs::cubic_exclude</a></div><div class="ttdeci">int cubic_exclude</div><div class="ttdef"><b>Definition:</b> image.h:44</div></div>
 <div class="ttc" id="structtvm_1_1relay_1_1Resize2DAttrs_html"><div class="ttname"><a href="structtvm_1_1relay_1_1Resize2DAttrs.html">tvm::relay::Resize2DAttrs</a></div><div class="ttdoc">Attributes used in image resize2d operator. </div><div class="ttdef"><b>Definition:</b> image.h:89</div></div>
diff --git a/docs/reference/api/doxygen/index__map_8h_source.html b/docs/reference/api/doxygen/index__map_8h_source.html
index 62219c96c..52979a6d3 100644
--- a/docs/reference/api/doxygen/index__map_8h_source.html
+++ b/docs/reference/api/doxygen/index__map_8h_source.html
@@ -83,7 +83,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1tir_1_1IndexMapNode_html_a9a554e4cd7c4bd7ac6e07fd49896833e"><div class="ttname"><a href="classtvm_1_1tir_1_1IndexMapNode.html#a9a554e4cd7c4bd7ac6e07fd49896833e">tvm::tir::IndexMapNode::IndexMapNode</a></div><div class="ttdeci">IndexMapNode()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> index_map.h:79</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1IndexMap_html"><div class="ttname"><a href="classtvm_1_1tir_1_1IndexMap.html">tvm::tir::IndexMap</a></div><div class="ttdef"><b>Definition:</b> index_map.h:154</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc</a></div><div class="ttdoc">Please refer to TypedPackedFunc&lt;R(Args..)&gt;. </div><div class="ttdef"><b>Definition:</b> packed_func.h:60</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor. </div><div class="ttdef"><b>Definition:</b> transform.h:1758</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
diff --git a/docs/reference/api/doxygen/instruction_8h_source.html b/docs/reference/api/doxygen/instruction_8h_source.html
index 355d62d0f..2bfc14191 100644
--- a/docs/reference/api/doxygen/instruction_8h_source.html
+++ b/docs/reference/api/doxygen/instruction_8h_source.html
@@ -83,7 +83,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1InstructionKindRegEntry_html_ade332453b008e4fce49a3e3ebb4721c5"><div class="ttname"><a href="classtvm_1_1tir_1_1InstructionKindRegEntry.html#ade332453b008e4fce49a3e3ebb4721c5">tvm::tir::InstructionKindRegEntry::set_is_pure</a></div><div class="ttdeci">InstructionKindRegEntry &amp; set_is_pure(bool is_pure)</div><div class="ttdef"><b>Definition:</b> instruction.h:246</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1InstructionKindRegEntry_html_a42abbb999a4b1ae4201da5b89a84ec37"><div class="ttname"><a href="classtvm_1_1tir_1_1InstructionKindRegEntry.html#a42abbb999a4b1ae4201da5b89a84ec37">tvm::tir::InstructionKindRegEntry::set_attrs_as_json</a></div><div class="ttdeci">InstructionKindRegEntry &amp; set_attrs_as_json(FInstructionAttrsAsJSON f_attrs_as_json)</div><div class="ttdef"><b>Definition:</b> instruction.h:261</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc&lt; String(const Array&lt; ObjectRef &gt; &amp;inputs, const Array&lt; ObjectRef &gt; &amp;attrs, const Optional&lt; ObjectRef &gt; &amp;decision, const Array&lt; String &gt; &amp;outputs)&gt;</a></div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1InstructionKindNode_html_a85dd355cf370d8d599dc2e5c44484952"><div class="ttname"><a href="classtvm_1_1tir_1_1InstructionKindNode.html#a85dd355cf370d8d599dc2e5c44484952">tvm::tir::InstructionKindNode::f_attrs_as_json</a></div><div class="ttdeci">FInstructionAttrsAsJSON f_attrs_as_json</div><div class="ttdoc">A functor that serialize its attributes to JSON. </div><div class="ttdef"><b>Definition:</b> instruction.h:108</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
diff --git a/docs/reference/api/doxygen/instrument_8h_source.html b/docs/reference/api/doxygen/instrument_8h_source.html
index 9fd391e89..543cc58d9 100644
--- a/docs/reference/api/doxygen/instrument_8h_source.html
+++ b/docs/reference/api/doxygen/instrument_8h_source.html
@@ -75,7 +75,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1instrument_1_1PassInstrumentNode_html_abb8ed0c496c5f9d85b33903a10954cbc"><div class="ttname"><a href="classtvm_1_1instrument_1_1PassInstrumentNode.html#abb8ed0c496c5f9d85b33903a10954cbc">tvm::instrument::PassInstrumentNode::name</a></div><div class="ttdeci">String name</div><div class="ttdoc">Name of this pass instrument object. </div><div class="ttdef"><b>Definition:</b> instrument.h:105</div></div>
 <div class="ttc" id="classtvm_1_1AttrVisitor_html"><div class="ttname"><a href="classtvm_1_1AttrVisitor.html">tvm::AttrVisitor</a></div><div class="ttdoc">Visitor class to get the attributes of an AST/IR node. The content is going to be called for each fie...</div><div class="ttdef"><b>Definition:</b> reflection.h:52</div></div>
 <div class="ttc" id="classtvm_1_1instrument_1_1PassInstrumentNode_html_a747b703d6d76a4d45d8c4fd9d64f2aef"><div class="ttname"><a href="classtvm_1_1instrument_1_1PassInstrumentNode.html#a747b703d6d76a4d45d8c4fd9d64f2aef">tvm::instrument::PassInstrumentNode::~PassInstrumentNode</a></div><div class="ttdeci">virtual ~PassInstrumentNode()</div><div class="ttdef"><b>Definition:</b> instrument.h:107</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
 <div class="ttc" id="classtvm_1_1IRModule_html"><div class="ttname"><a href="classtvm_1_1IRModule.html">tvm::IRModule</a></div><div class="ttdoc">Managed reference class to IRModuleNode. </div><div class="ttdef"><b>Definition:</b> module.h:360</div></div>
diff --git a/docs/reference/api/doxygen/ir_2adt_8h_source.html b/docs/reference/api/doxygen/ir_2adt_8h_source.html
index 672e69df2..b04833bc8 100644
--- a/docs/reference/api/doxygen/ir_2adt_8h_source.html
+++ b/docs/reference/api/doxygen/ir_2adt_8h_source.html
@@ -95,7 +95,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1TypeNode_html"><div class="ttname"><a href="classtvm_1_1TypeNode.html">tvm::TypeNode</a></div><div class="ttdoc">Type is the base type of all types. </div><div class="ttdef"><b>Definition:</b> type.h:74</div></div>
 <div class="ttc" id="classtvm_1_1TypeDataNode_html"><div class="ttname"><a href="classtvm_1_1TypeDataNode.html">tvm::TypeDataNode</a></div><div class="ttdoc">TypeData container node. </div><div class="ttdef"><b>Definition:</b> adt.h:102</div></div>
 <div class="ttc" id="classtvm_1_1ConstructorNode_html_a7137fbec25bcaae585f532221402e892"><div class="ttname"><a href="classtvm_1_1ConstructorNode.html#a7137fbec25bcaae585f532221402e892">tvm::ConstructorNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> adt.h:60</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1RelayExpr_html"><div class="ttname"><a href="classtvm_1_1RelayExpr.html">tvm::RelayExpr</a></div><div class="ttdoc">Managed reference to RelayExprNode. </div><div class="ttdef"><b>Definition:</b> expr.h:217</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="classtvm_1_1ConstructorNode_html_a396a76459b3a46eefdfcd952c69c5ee4"><div class="ttname"><a href="classtvm_1_1ConstructorNode.html#a396a76459b3a46eefdfcd952c69c5ee4">tvm::ConstructorNode::tag</a></div><div class="ttdeci">int32_t tag</div><div class="ttdoc">Index in the table of constructors (set when the type is registered). </div><div class="ttdef"><b>Definition:</b> adt.h:56</div></div>
diff --git a/docs/reference/api/doxygen/ir_2attrs_8h_source.html b/docs/reference/api/doxygen/ir_2attrs_8h_source.html
index df1674e8e..a568c89ca 100644
--- a/docs/reference/api/doxygen/ir_2attrs_8h_source.html
+++ b/docs/reference/api/doxygen/ir_2attrs_8h_source.html
@@ -144,7 +144,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_html_a7e2bc626db8be997b1562c79df3d9e11"><div class="ttname"><a href="namespacetvm.html#a7e2bc626db8be997b1562c79df3d9e11">tvm::WithoutAttr</a></div><div class="ttdeci">TFunc WithoutAttr(TFunc input, const std::string &amp;attr_key)</div><div class="ttdoc">Copy the function or module, but removes the specified attribute. </div><div class="ttdef"><b>Definition:</b> attrs.h:412</div></div>
 <div class="ttc" id="classtvm_1_1IntImm_html"><div class="ttname"><a href="classtvm_1_1IntImm.html">tvm::IntImm</a></div><div class="ttdoc">Managed reference class to IntImmNode. </div><div class="ttdef"><b>Definition:</b> expr.h:304</div></div>
 <div class="ttc" id="structtvm_1_1detail_1_1AttrNopEntry_html_a370e92bafbada9ba805a52e72881f98b"><div class="ttname"><a href="structtvm_1_1detail_1_1AttrNopEntry.html#a370e92bafbada9ba805a52e72881f98b">tvm::detail::AttrNopEntry::set_default</a></div><div class="ttdeci">TSelf &amp; set_default(DMLC_ATTRIBUTE_UNUSED const T &amp;value)</div><div class="ttdef"><b>Definition:</b> attrs.h:436</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1detail_1_1AttrInitVisitor_html_ac3c800c9249fee195db2a5fa473fe960"><div class="ttname"><a href="classtvm_1_1detail_1_1AttrInitVisitor.html#ac3c800c9249fee195db2a5fa473fe960">tvm::detail::AttrInitVisitor::AttrInitVisitor</a></div><div class="ttdeci">AttrInitVisitor(const char *type_key, FFind ffind)</div><div class="ttdef"><b>Definition:</b> attrs.h:646</div></div>
 <div class="ttc" id="classtvm_1_1BaseAttrsNode_html_abcc04a722102d16fd4d86f9b7dcdd1e1"><div class="ttname"><a href="classtvm_1_1BaseAttrsNode.html#abcc04a722102d16fd4d86f9b7dcdd1e1">tvm::BaseAttrsNode::InitBySeq</a></div><div class="ttdeci">void InitBySeq(Args &amp;&amp;... args)</div><div class="ttdoc">Initialize the attributes by sequence of arguments. </div><div class="ttdef"><b>Definition:</b> attrs.h:928</div></div>
 <div class="ttc" id="structtvm_1_1detail_1_1AttrTriggerNonDefaultEntry_html_a9d4c6a36abe06ee7e5edde567ae45f41"><div class="ttname"><a href="structtvm_1_1detail_1_1AttrTriggerNonDefaultEntry.html#a9d4c6a36abe06ee7e5edde567ae45f41">tvm::detail::AttrTriggerNonDefaultEntry::set_upper_bound</a></div><div class="ttdeci">TSelf &amp; set_upper_bound(DMLC_ATTRIBUTE_UNUSED const T &amp;end)</div><div class="ttdef"><b>Definition:</b> attrs.h:805</div></div>
diff --git a/docs/reference/api/doxygen/ir_2expr_8h_source.html b/docs/reference/api/doxygen/ir_2expr_8h_source.html
index 68a01907d..199c2a374 100644
--- a/docs/reference/api/doxygen/ir_2expr_8h_source.html
+++ b/docs/reference/api/doxygen/ir_2expr_8h_source.html
@@ -130,7 +130,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1RelayExprNode_html_ad6ea21e1a03d972ac5cf81b80b88b2c4"><div class="ttname"><a href="classtvm_1_1RelayExprNode.html#ad6ea21e1a03d972ac5cf81b80b88b2c4">tvm::RelayExprNode::virtual_device_</a></div><div class="ttdeci">ObjectRef virtual_device_</div><div class="ttdoc">The virtual device (VirtualDevice) for this node (the result of device planning). For first-order exp...</div><div class="ttdef"><b>Definition:</b> expr.h:193</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TVMPODValue___html_a289a65bf255e3d192c60d7b5a8dcf097"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMPODValue__.html#a289a65bf255e3d192c60d7b5a8dcf097">tvm::runtime::TVMPODValue_::AsObjectRef</a></div><div class="ttdeci">TObjectRef AsObjectRef() const</div><div class="ttdef"><b>Definition:</b> packed_func.h:1823</div></div>
 <div class="ttc" id="classtvm_1_1IntImmNode_html_a81f4c116ffb5931fdd64639eacad415d"><div class="ttname"><a href="classtvm_1_1IntImmNode.html#a81f4c116ffb5931fdd64639eacad415d">tvm::IntImmNode::value</a></div><div class="ttdeci">int64_t value</div><div class="ttdoc">the Internal value. </div><div class="ttdef"><b>Definition:</b> expr.h:278</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1RelayExpr_html"><div class="ttname"><a href="classtvm_1_1RelayExpr.html">tvm::RelayExpr</a></div><div class="ttdoc">Managed reference to RelayExprNode. </div><div class="ttdef"><b>Definition:</b> expr.h:217</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="classtvm_1_1IntImmNode_html_a39ccfd3964e6d132ad8d4e4d544b5949"><div class="ttname"><a href="classtvm_1_1IntImmNode.html#a39ccfd3964e6d132ad8d4e4d544b5949">tvm::IntImmNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> expr.h:280</div></div>
diff --git a/docs/reference/api/doxygen/ir_2module_8h_source.html b/docs/reference/api/doxygen/ir_2module_8h_source.html
index 195446619..ce0ee16fd 100644
--- a/docs/reference/api/doxygen/ir_2module_8h_source.html
+++ b/docs/reference/api/doxygen/ir_2module_8h_source.html
@@ -115,7 +115,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1IRModule_html_a2ea8b99b923647503f8213f22a0f6d7e"><div class="ttname"><a href="classtvm_1_1IRModule.html#a2ea8b99b923647503f8213f22a0f6d7e">tvm::IRModule::operator-&gt;</a></div><div class="ttdeci">IRModuleNode * operator-&gt;() const</div><div class="ttdef"><b>Definition:</b> module.h:383</div></div>
 <div class="ttc" id="classtvm_1_1IRModule_html_a69a94bf1f2e54191598b2271443d2696"><div class="ttname"><a href="classtvm_1_1IRModule.html#a69a94bf1f2e54191598b2271443d2696">tvm::IRModule::IRModule</a></div><div class="ttdeci">IRModule(ObjectPtr&lt; Object &gt; n)</div><div class="ttdoc">constructor </div><div class="ttdef"><b>Definition:</b> module.h:381</div></div>
 <div class="ttc" id="namespacetvm_1_1attr_html_a1ac39fea6c7e421626da08495d6c6281"><div class="ttname"><a href="namespacetvm_1_1attr.html#a1ac39fea6c7e421626da08495d6c6281">tvm::attr::kConstantsArray</a></div><div class="ttdeci">constexpr const char * kConstantsArray</div><div class="ttdef"><b>Definition:</b> module.h:512</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc</a></div><div class="ttdoc">Please refer to TypedPackedFunc&lt;R(Args..)&gt;. </div><div class="ttdef"><b>Definition:</b> packed_func.h:60</div></div>
 <div class="ttc" id="classtvm_1_1RelayExpr_html"><div class="ttname"><a href="classtvm_1_1RelayExpr.html">tvm::RelayExpr</a></div><div class="ttdoc">Managed reference to RelayExprNode. </div><div class="ttdef"><b>Definition:</b> expr.h:217</div></div>
 <div class="ttc" id="classtvm_1_1IRModuleNode_html_a2b30d3e406c01bb6287d1d7514ecaf46"><div class="ttname"><a href="classtvm_1_1IRModuleNode.html#a2b30d3e406c01bb6287d1d7514ecaf46">tvm::IRModuleNode::IRModule</a></div><div class="ttdeci">friend class IRModule</div><div class="ttdef"><b>Definition:</b> module.h:353</div></div>
diff --git a/docs/reference/api/doxygen/ir_2op_8h_source.html b/docs/reference/api/doxygen/ir_2op_8h_source.html
index 63eb2b3ce..16c633c78 100644
--- a/docs/reference/api/doxygen/ir_2op_8h_source.html
+++ b/docs/reference/api/doxygen/ir_2op_8h_source.html
@@ -111,7 +111,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1OpNode_html_a3b47320541c25e1edc0e89e77e978d5a"><div class="ttname"><a href="classtvm_1_1OpNode.html#a3b47320541c25e1edc0e89e77e978d5a">tvm::OpNode::OpRegEntry</a></div><div class="ttdeci">friend class OpRegEntry</div><div class="ttdef"><b>Definition:</b> op.h:138</div></div>
 <div class="ttc" id="namespacetvm_1_1relay_html_aa475de90506d48a1bb04ef6d1bd99bfb"><div class="ttname"><a href="namespacetvm_1_1relay.html#aa475de90506d48a1bb04ef6d1bd99bfb">tvm::relay::FuncType</a></div><div class="ttdeci">tvm::FuncType FuncType</div><div class="ttdef"><b>Definition:</b> type.h:57</div></div>
 <div class="ttc" id="classtvm_1_1OpAttrMap_html_ae10015a567cd83af0c7b5d29f66e8b06"><div class="ttname"><a href="classtvm_1_1OpAttrMap.html#ae10015a567cd83af0c7b5d29f66e8b06">tvm::OpAttrMap::get</a></div><div class="ttdeci">ValueType get(const RelayExpr &amp;expr, ValueType def_value) const</div><div class="ttdoc">get the corresponding value element at op with default value. </div><div class="ttdef"><b>Definition:</b> op.h:487</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="namespacetvm_1_1relay_html_a63321eb51080f3f57dd7563a3ca0bfa6"><div class="ttname"><a href="namespacetvm_1_1relay.html#a63321eb51080f3f57dd7563a3ca0bfa6">tvm::relay::TypeVar</a></div><div class="ttdeci">tvm::TypeVar TypeVar</div><div class="ttdef"><b>Definition:</b> type.h:49</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc</a></div><div class="ttdoc">Please refer to TypedPackedFunc&lt;R(Args..)&gt;. </div><div class="ttdef"><b>Definition:</b> packed_func.h:60</div></div>
 <div class="ttc" id="classtvm_1_1OpRegEntry_html_a0c6a92638cb8252abb4ddd55e7c9380f"><div class="ttname"><a href="classtvm_1_1OpRegEntry.html#a0c6a92638cb8252abb4ddd55e7c9380f">tvm::OpRegEntry::set_attrs_type_key</a></div><div class="ttdeci">OpRegEntry &amp; set_attrs_type_key(const String &amp;key)</div><div class="ttdoc">Set the attrs type key and index to be AttrsType. </div><div class="ttdef"><b>Definition:</b> op.h:463</div></div>
diff --git a/docs/reference/api/doxygen/ir_2span_8h_source.html b/docs/reference/api/doxygen/ir_2span_8h_source.html
index eaec3602a..47f36ec44 100644
--- a/docs/reference/api/doxygen/ir_2span_8h_source.html
+++ b/docs/reference/api/doxygen/ir_2span_8h_source.html
@@ -87,7 +87,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1SpanNode_html_adf555befd933b86f7ce2cfd0989d4282"><div class="ttname"><a href="classtvm_1_1SpanNode.html#adf555befd933b86f7ce2cfd0989d4282">tvm::SpanNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> span.h:96</div></div>
 <div class="ttc" id="classtvm_1_1SpanNode_html_adfa91957e629c89d6a3efef536051496"><div class="ttname"><a href="classtvm_1_1SpanNode.html#adfa91957e629c89d6a3efef536051496">tvm::SpanNode::end_column</a></div><div class="ttdeci">int end_column</div><div class="ttdoc">The end column number. </div><div class="ttdef"><b>Definition:</b> span.h:93</div></div>
 <div class="ttc" id="classtvm_1_1SourceNameNode_html_a5a950f6576d6e5e4de7b0adc1cac260c"><div class="ttname"><a href="classtvm_1_1SourceNameNode.html#a5a950f6576d6e5e4de7b0adc1cac260c">tvm::SourceNameNode::_type_key</a></div><div class="ttdeci">static constexpr const char * _type_key</div><div class="ttdef"><b>Definition:</b> span.h:54</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="classtvm_1_1SourceNameNode_html_af937a23080114be50bd47157994dc758"><div class="ttname"><a href="classtvm_1_1SourceNameNode.html#af937a23080114be50bd47157994dc758">tvm::SourceNameNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const SourceNameNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> span.h:50</div></div>
 <div class="ttc" id="classtvm_1_1SpanNode_html_a932e5865f0838c1a5ed9d4290a84c677"><div class="ttname"><a href="classtvm_1_1SpanNode.html#a932e5865f0838c1a5ed9d4290a84c677">tvm::SpanNode::end_line</a></div><div class="ttdeci">int end_line</div><div class="ttdoc">The end line number. </div><div class="ttdef"><b>Definition:</b> span.h:91</div></div>
diff --git a/docs/reference/api/doxygen/ir_2transform_8h_source.html b/docs/reference/api/doxygen/ir_2transform_8h_source.html
index 4fa131eb4..1ef824f04 100644
--- a/docs/reference/api/doxygen/ir_2transform_8h_source.html
+++ b/docs/reference/api/doxygen/ir_2transform_8h_source.html
@@ -103,7 +103,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1transform_1_1PassContextNode_html_a613725ab055b022ae84d7cabb755533d"><div class="ttname"><a href="classtvm_1_1transform_1_1PassContextNode.html#a613725ab055b022ae84d7cabb755533d">tvm::transform::PassContextNode::TVM_DECLARE_FINAL_OBJECT_INFO</a></div><div class="ttdeci">TVM_DECLARE_FINAL_OBJECT_INFO(PassContextNode, Object)</div></div>
 <div class="ttc" id="namespacetvm_1_1relay_1_1transform_html_aae88cd0ad69cf64c7e9caf0a0c8ebb45"><div class="ttname"><a href="namespacetvm_1_1relay_1_1transform.html#aae88cd0ad69cf64c7e9caf0a0c8ebb45">tvm::relay::transform::PassInfoNode</a></div><div class="ttdeci">tvm::transform::PassInfoNode PassInfoNode</div><div class="ttdef"><b>Definition:</b> transform.h:46</div></div>
 <div class="ttc" id="classtvm_1_1transform_1_1PassContext_html"><div class="ttname"><a href="classtvm_1_1transform_1_1PassContext.html">tvm::transform::PassContext</a></div><div class="ttdoc">PassContext that is used to configure the pass behavior. </div><div class="ttdef"><b>Definition:</b> transform.h:154</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc</a></div><div class="ttdoc">Please refer to TypedPackedFunc&lt;R(Args..)&gt;. </div><div class="ttdef"><b>Definition:</b> packed_func.h:60</div></div>
 <div class="ttc" id="classtvm_1_1transform_1_1SequentialNode_html_a24f06af16eae6731edd76ee6e8d0e1ff"><div class="ttname"><a href="classtvm_1_1transform_1_1SequentialNode.html#a24f06af16eae6731edd76ee6e8d0e1ff">tvm::transform::SequentialNode::passes</a></div><div class="ttdeci">tvm::Array&lt; Pass &gt; passes</div><div class="ttdoc">A list of passes that used to compose a sequential pass. </div><div class="ttdef"><b>Definition:</b> transform.h:413</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
diff --git a/docs/reference/api/doxygen/ir_2type_8h_source.html b/docs/reference/api/doxygen/ir_2type_8h_source.html
index f8b9f820d..1403cc14b 100644
--- a/docs/reference/api/doxygen/ir_2type_8h_source.html
+++ b/docs/reference/api/doxygen/ir_2type_8h_source.html
@@ -125,7 +125,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1TupleType_html_af99baa239cc3c717979b2dfeefed75c2"><div class="ttname"><a href="classtvm_1_1TupleType.html#af99baa239cc3c717979b2dfeefed75c2">tvm::TupleType::Empty</a></div><div class="ttdeci">static TupleType Empty()</div><div class="ttdoc">Create an empty tuple type that constains nothing. </div></div>
 <div class="ttc" id="namespacetvm_html_acd267f8d7f55da6ac681239831963279ad7d44c9f700aa20bcc455c6d9ee4ff18"><div class="ttname"><a href="namespacetvm.html#acd267f8d7f55da6ac681239831963279ad7d44c9f700aa20bcc455c6d9ee4ff18">tvm::kShapeVar</a></div><div class="ttdoc">Template variable in shape expression. </div><div class="ttdef"><b>Definition:</b> type.h:203</div></div>
 <div class="ttc" id="classtvm_1_1FuncTypeNode_html_ab1060d56cb438a40e11556866b7f2f62"><div class="ttname"><a href="classtvm_1_1FuncTypeNode.html#ab1060d56cb438a40e11556866b7f2f62">tvm::FuncTypeNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> type.h:446</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="namespacetvm_1_1relay_html_a63321eb51080f3f57dd7563a3ca0bfa6"><div class="ttname"><a href="namespacetvm_1_1relay.html#a63321eb51080f3f57dd7563a3ca0bfa6">tvm::relay::TypeVar</a></div><div class="ttdeci">tvm::TypeVar TypeVar</div><div class="ttdef"><b>Definition:</b> type.h:49</div></div>
 <div class="ttc" id="namespacetvm_html_a196edb73fc9f13d965b8de1c9287a2db"><div class="ttname"><a href="namespacetvm.html#a196edb73fc9f13d965b8de1c9287a2db">tvm::IsVoidType</a></div><div class="ttdeci">bool IsVoidType(const Type &amp;type)</div><div class="ttdoc">Check whether the tyep represents void. </div><div class="ttdef"><b>Definition:</b> type.h:383</div></div>
 <div class="ttc" id="classtvm_1_1TypeVarNode_html_afc08e151afef3c4644ba8d2cd796106a"><div class="ttname"><a href="classtvm_1_1TypeVarNode.html#afc08e151afef3c4644ba8d2cd796106a">tvm::TypeVarNode::kind</a></div><div class="ttdeci">TypeKind kind</div><div class="ttdoc">The kind of type parameter. </div><div class="ttdef"><b>Definition:</b> type.h:237</div></div>
@@ -155,7 +155,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_html_acd267f8d7f55da6ac681239831963279a46f081c7ea2307c83d3cdfd42e1583f7"><div class="ttname"><a href="namespacetvm.html#acd267f8d7f55da6ac681239831963279a46f081c7ea2307c83d3cdfd42e1583f7">tvm::kType</a></div><div class="ttdef"><b>Definition:</b> type.h:201</div></div>
 <div class="ttc" id="classtvm_1_1GlobalTypeVarNode_html_a93355c3a530dab79da659ef8c128e685"><div class="ttname"><a href="classtvm_1_1GlobalTypeVarNode.html#a93355c3a530dab79da659ef8c128e685">tvm::GlobalTypeVarNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const GlobalTypeVarNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> type.h:295</div></div>
 <div class="ttc" id="classtvm_1_1FuncTypeNode_html_a4d30bd05ee4751f963daf10f0c69036d"><div class="ttname"><a href="classtvm_1_1FuncTypeNode.html#a4d30bd05ee4751f963daf10f0c69036d">tvm::FuncTypeNode::ret_type</a></div><div class="ttdeci">Type ret_type</div><div class="ttdoc">The type of return value. </div><div class="ttdef"><b>Definition:</b> type.h:421</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a897a877128c8b8a7e57dec0847cf33c7"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a897a877128c8b8a7e57dec0847cf33c7">tvm::runtime::String::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Retun if the string is empty. </div><div class="ttdef"><b>Definition:</b> string.h:239</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a897a877128c8b8a7e57dec0847cf33c7"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a897a877128c8b8a7e57dec0847cf33c7">tvm::runtime::String::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Retun if the string is empty. </div><div class="ttdef"><b>Definition:</b> string.h:234</div></div>
 <div class="ttc" id="classtvm_1_1PrimTypeNode_html"><div class="ttname"><a href="classtvm_1_1PrimTypeNode.html">tvm::PrimTypeNode</a></div><div class="ttdoc">Primitive data types used in the low-level IR. </div><div class="ttdef"><b>Definition:</b> type.h:106</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html_a2d76fa1fb628ff276a284e61123589c5"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html#a2d76fa1fb628ff276a284e61123589c5">tvm::runtime::ObjectRef::as</a></div><div class="ttdeci">const ObjectType * as() const</div><div class="ttdoc">Try to downcast the internal Object to a raw pointer of a corresponding type. </div><div class="ttdef"><b>Definition:</b> object.h:865</div></div>
 <div class="ttc" id="classtvm_1_1GlobalTypeVarNode_html_a335e232894a68cc1e0ecb766bf4053c7"><div class="ttname"><a href="classtvm_1_1GlobalTypeVarNode.html#a335e232894a68cc1e0ecb766bf4053c7">tvm::GlobalTypeVarNode::kind</a></div><div class="ttdeci">TypeKind kind</div><div class="ttdoc">The kind of type parameter. </div><div class="ttdef"><b>Definition:</b> type.h:288</div></div>
diff --git a/docs/reference/api/doxygen/libtorch__runtime_8h_source.html b/docs/reference/api/doxygen/libtorch__runtime_8h_source.html
index 003aa5ffe..d0b76a630 100644
--- a/docs/reference/api/doxygen/libtorch__runtime_8h_source.html
+++ b/docs/reference/api/doxygen/libtorch__runtime_8h_source.html
@@ -67,7 +67,7 @@ $(function() {
 </div><!--header-->
 <div class="contents">
 <a href="libtorch__runtime_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * o [...]
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="runtime_2module_8h_html"><div class="ttname"><a href="runtime_2module_8h.html">module.h</a></div><div class="ttdoc">Runtime container of the functions generated by TVM, This is used to support dynamically link...</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Module_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Module.html">tvm::runtime::Module</a></div><div class="ttdoc">Module container of TVM. </div><div class="ttdef"><b>Definition:</b> module.h:50</div></div>
 <div class="ttc" id="namespacetvm_1_1runtime_1_1contrib_html_a9f22008a54a14d817f75207666ef433d"><div class="ttname"><a href="namespacetvm_1_1runtime_1_1contrib.html#a9f22008a54a14d817f75207666ef433d">tvm::runtime::contrib::TorchRuntimeCreate</a></div><div class="ttdeci">runtime::Module TorchRuntimeCreate(const String &amp;symbol_name, const std::string &amp;serialized_function)</div></div>
diff --git a/docs/reference/api/doxygen/loop__state_8h_source.html b/docs/reference/api/doxygen/loop__state_8h_source.html
index 4e30c98f0..bdac66e81 100644
--- a/docs/reference/api/doxygen/loop__state_8h_source.html
+++ b/docs/reference/api/doxygen/loop__state_8h_source.html
@@ -94,7 +94,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1StageNode_html"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1StageNode.html">tvm::auto_scheduler::StageNode</a></div><div class="ttdoc">A op stage in the compute declaration. Similar to te::Stage in include/tvm/te/schedule.h. </div><div class="ttdef"><b>Definition:</b> loop_state.h:96</div></div>
 <div class="ttc" id="namespacetvm_1_1auto__scheduler_html_ab75208ecc6a00ca7f86af04b3cc5657fa8db9b1354688d96ec52c71f2b290165c"><div class="ttname"><a href="namespacetvm_1_1auto__scheduler.html#ab75208ecc6a00ca7f86af04b3cc5657fa8db9b1354688d96ec52c71f2b290165c">tvm::auto_scheduler::ComputeAtKind::kIter</a></div><div class="ttdoc">Compute at some iterator. </div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="structtvm_1_1runtime_1_1ObjectHash_html"><div class="ttname"><a href="structtvm_1_1runtime_1_1ObjectHash.html">tvm::runtime::ObjectHash</a></div><div class="ttdoc">String-aware ObjectRef equal functor. </div><div class="ttdef"><b>Definition:</b> base.h:40</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1State_html_acc2b1cbaece2a0cd0d0d26f808b2331b"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1State.html#acc2b1cbaece2a0cd0d0d26f808b2331b">tvm::auto_scheduler::State::ToStr</a></div><div class="ttdeci">String ToStr(bool delete_trivial_loop=true) const</div><div class="ttdoc">Pretty-print the state to a human readable string. </div></div>
diff --git a/docs/reference/api/doxygen/measure_8h_source.html b/docs/reference/api/doxygen/measure_8h_source.html
index cae88153b..c87ad4b47 100644
--- a/docs/reference/api/doxygen/measure_8h_source.html
+++ b/docs/reference/api/doxygen/measure_8h_source.html
@@ -111,7 +111,7 @@ $(function() {
 <div class="ttc" id="loop__state_8h_html"><div class="ttname"><a href="loop__state_8h.html">loop_state.h</a></div><div class="ttdoc">The definition of the &quot;state&quot; in the search. </div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1LocalRunnerNode_html"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1LocalRunnerNode.html">tvm::auto_scheduler::LocalRunnerNode</a></div><div class="ttdoc">LocalRunner that uses local CPU/GPU to measure the time cost of programs. </div><div class="ttdef"><b>Definition:</b> measure.h:371</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1BuildResultNode_html_a8b0da5bf37adcf6e8a761339a9daa7c1"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1BuildResultNode.html#a8b0da5bf37adcf6e8a761339a9daa7c1">tvm::auto_scheduler::BuildResultNode::error_no</a></div><div class="ttdeci">int error_no</div><div class="ttdoc">The error code. (0 means no error, see MeasureErrorNO) </div><div class="ttdef"><b>Definition:</b> measure.h:124</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1RPCRunner_html"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1RPCRunner.html">tvm::auto_scheduler::RPCRunner</a></div><div class="ttdoc">Managed reference to RPCRunnerNode. </div><div class="ttdef"><b>Definition:</b> measure.h:433</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1ProgramRunnerNode_html_acc0be09b0c6b0f21aef92088c0e38602"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1ProgramRunnerNode.html#acc0be09b0c6b0f21aef92088c0e38602">tvm::auto_scheduler::ProgramRunnerNode::device</a></div><div class="ttdeci">int device</div><div class="ttdoc">Which device to run on if multiple are avaialble. </div><div class="ttdef"><b>Definition:</b> measure.h:312</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
diff --git a/docs/reference/api/doxygen/measure__record_8h_source.html b/docs/reference/api/doxygen/measure__record_8h_source.html
index d22f722e6..b6050d001 100644
--- a/docs/reference/api/doxygen/measure__record_8h_source.html
+++ b/docs/reference/api/doxygen/measure__record_8h_source.html
@@ -77,7 +77,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1RecordToFileNode_html_a5debadfa20ad8ff19965d074253978de"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1RecordToFileNode.html#a5debadfa20ad8ff19965d074253978de">tvm::auto_scheduler::RecordToFileNode::filename</a></div><div class="ttdeci">String filename</div><div class="ttdoc">The name of output file. </div><div class="ttdef"><b>Definition:</b> measure_record.h:43</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="measure_8h_html"><div class="ttname"><a href="measure_8h.html">measure.h</a></div><div class="ttdoc">Distributed measurement infrastructure to measure the runtime costs of tensor programs. These functions are responsible for building the tvm module, uploading it to remote devices, recording the running time costs, and checking the correctness of the output. </div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1MeasureCallback_html"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1MeasureCallback.html">tvm::auto_scheduler::MeasureCallback</a></div><div class="ttdoc">Managed reference to MeasureCallbackNode. </div><div class="ttdef"><b>Definition:</b> measure.h:230</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1SearchPolicy_html"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1SearchPolicy.html">tvm::auto_scheduler::SearchPolicy</a></div><div class="ttdoc">Managed reference to SearchPolicyNode. </div><div class="ttdef"><b>Definition:</b> search_policy.h:198</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
diff --git a/docs/reference/api/doxygen/memory__pools_8h_source.html b/docs/reference/api/doxygen/memory__pools_8h_source.html
index c295c14d0..3751a8eb8 100644
--- a/docs/reference/api/doxygen/memory__pools_8h_source.html
+++ b/docs/reference/api/doxygen/memory__pools_8h_source.html
@@ -93,7 +93,7 @@ $(function() {
 <div class="ttc" id="structtvm_1_1WorkspaceMemoryPoolsNode_html_a67f6cbc8df2f1ad58de9bbbdc4c5f68e"><div class="ttname"><a href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a67f6cbc8df2f1ad58de9bbbdc4c5f68e">tvm::WorkspaceMemoryPoolsNode::pools</a></div><div class="ttdeci">Array&lt; PoolInfo &gt; pools</div><div class="ttdef"><b>Definition:</b> memory_pools.h:145</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_a1bca32e13fa47433c7bacc40a6436c1e"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#a1bca32e13fa47433c7bacc40a6436c1e">tvm::PoolInfoNode::pool_name</a></div><div class="ttdeci">String pool_name</div><div class="ttdoc">The name of the memory pool. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:37</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_aa40bce0f9b3a6b97922b70babe25d7f4"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#aa40bce0f9b3a6b97922b70babe25d7f4">tvm::PoolInfoNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:89</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_a444e2db8569e8bae01871b6749b83d31"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#a444e2db8569e8bae01871b6749b83d31">tvm::PoolInfoNode::write_latency_cycles</a></div><div class="ttdeci">Integer write_latency_cycles</div><div class="ttdoc">The write latency in cycles. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:54</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
diff --git a/docs/reference/api/doxygen/meta__schedule_2cost__model_8h_source.html b/docs/reference/api/doxygen/meta__schedule_2cost__model_8h_source.html
index 1539aa181..0b41285f3 100644
--- a/docs/reference/api/doxygen/meta__schedule_2cost__model_8h_source.html
+++ b/docs/reference/api/doxygen/meta__schedule_2cost__model_8h_source.html
@@ -85,7 +85,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1PyCostModelNode_html_afa89f5fa17018f7d8421225b1bbe35df"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1PyCostModelNode.html#afa89f5fa17018f7d8421225b1bbe35df">tvm::meta_schedule::PyCostModelNode::f_update</a></div><div class="ttdeci">FUpdate f_update</div><div class="ttdoc">The packed function to the Update function. </div><div class="ttdef"><b>Definition:</b> cost_model.h:123</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1PyCostModelNode_html_ac7da436f6c5c78c49bb845eefa100001"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1PyCostModelNode.html#ac7da436f6c5c78c49bb845eefa100001">tvm::meta_schedule::PyCostModelNode::f_save</a></div><div class="ttdeci">FSave f_save</div><div class="ttdoc">The packed function to the Save function. </div><div class="ttdef"><b>Definition:</b> cost_model.h:121</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc&lt; void(String)&gt;</a></div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
 <div class="ttc" id="tir_2schedule_2schedule_8h_html"><div class="ttname"><a href="tir_2schedule_2schedule_8h.html">schedule.h</a></div></div>
diff --git a/docs/reference/api/doxygen/metadata__base_8h_source.html b/docs/reference/api/doxygen/metadata__base_8h_source.html
index 444293319..99d7f6aa0 100644
--- a/docs/reference/api/doxygen/metadata__base_8h_source.html
+++ b/docs/reference/api/doxygen/metadata__base_8h_source.html
@@ -93,7 +93,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode.html">tvm::runtime::metadata::MetadataArrayNode</a></div><div class="ttdoc">Container for arrays in the metadata. </div><div class="ttdef"><b>Definition:</b> metadata_base.h:176</div></div>
 <div class="ttc" id="namespacetvm_1_1runtime_1_1metadata_html_a6edfc2b47c55d18f94867a18a7b02fb7"><div class="ttname"><a href="namespacetvm_1_1runtime_1_1metadata.html#a6edfc2b47c55d18f94867a18a7b02fb7">tvm::runtime::metadata::MetadataKind</a></div><div class="ttdeci">MetadataKind</div><div class="ttdoc">Enumerates the primitive types which can be part of a Metadata instance. </div><div class="ttdef"><b>Definition:</b> metadata_base.h:162</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1metadata_1_1ArrayIterator_html_adf1e3e2969deb955e49e6f93e373a11e"><div class="ttname"><a href="classtvm_1_1runtime_1_1metadata_1_1ArrayIterator.html#adf1e3e2969deb955e49e6f93e373a11e">tvm::runtime::metadata::ArrayIterator::ArrayIterator</a></div><div class="ttdeci">ArrayIterator(size_t index, const ArrayAccessor&lt; C, Ref &gt; *parent)</div><div class="ttdef"><b>Definition:</b> metadata_base.h:66</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4_html_a66ae2426a21396131ce405ee996374d1"><div class="ttname"><a href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4.html#a66ae2426a21396131ce405ee996374d1">tvm::runtime::metadata::ArrayAccessor&lt; const char *, ::tvm::runtime::String &gt;::size</a></div><div class="ttdeci">size_t size() const</di [...]
 <div class="ttc" id="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_html_aa66d3f34e83f90c133bc1df9b0c3acd2"><div class="ttname"><a href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor.html#aa66d3f34e83f90c133bc1df9b0c3acd2">tvm::runtime::metadata::ArrayAccessor::ArrayAccessor</a></div><div class="ttdeci">ArrayAccessor(const C *data, size_t num_data)</div><div class="ttdef"><b>Definition:</b> metadata_base.h:102</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor.html">tvm::runtime::metadata::ArrayAccessor</a></div><div class="ttdoc">A span-like class which permits access to Array fields with complex elements. These array fields shou...</div><div class="ttdef"><b>Definition:</b> metadata_base.h:60</div></div>
@@ -109,7 +109,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4_html_ab5e946c37ae641eb9b541df79a54c3e5"><div class="ttname"><a href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4.html#ab5e946c37ae641eb9b541df79a54c3e5">tvm::runtime::metadata::ArrayAccessor&lt; const char *, ::tvm::runtime::String &gt;::operator[]</a></div><div class="ttdeci">inline ::tvm::run [...]
 <div class="ttc" id="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4_html_aebb26af4b54b5619ecf2b7fe250c7ce7"><div class="ttname"><a href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4.html#aebb26af4b54b5619ecf2b7fe250c7ce7">tvm::runtime::metadata::ArrayAccessor&lt; const char *, ::tvm::runtime::String &gt;::end</a></div><div class="ttdeci">ArrayIterator&lt; const  [...]
 <div class="ttc" id="classtvm_1_1runtime_1_1metadata_1_1ArrayIterator_html_a7e37edb0b1ba2d20e9d50af007d67bef"><div class="ttname"><a href="classtvm_1_1runtime_1_1metadata_1_1ArrayIterator.html#a7e37edb0b1ba2d20e9d50af007d67bef">tvm::runtime::metadata::ArrayIterator::operator++</a></div><div class="ttdeci">ArrayIterator&lt; C, Ref &gt; &amp; operator++()</div><div class="ttdef"><b>Definition:</b> metadata_base.h:71</div></div>
-<div class="ttc" id="namespacetvm_1_1runtime_html_aba04626a0c1e717679d673bc90c6a23f"><div class="ttname"><a href="namespacetvm_1_1runtime.html#aba04626a0c1e717679d673bc90c6a23f">tvm::runtime::operator==</a></div><div class="ttdeci">bool operator==(const String &amp;lhs, const std::string &amp;rhs)</div><div class="ttdef"><b>Definition:</b> string.h:453</div></div>
+<div class="ttc" id="namespacetvm_1_1runtime_html_aba04626a0c1e717679d673bc90c6a23f"><div class="ttname"><a href="namespacetvm_1_1runtime.html#aba04626a0c1e717679d673bc90c6a23f">tvm::runtime::operator==</a></div><div class="ttdeci">bool operator==(const String &amp;lhs, const std::string &amp;rhs)</div><div class="ttdef"><b>Definition:</b> string.h:440</div></div>
 <div class="ttc" id="namespacetvm_1_1runtime_1_1metadata_html_a6edfc2b47c55d18f94867a18a7b02fb7a4061bb63b08e7e004e7e2ee0c4cafc53"><div class="ttname"><a href="namespacetvm_1_1runtime_1_1metadata.html#a6edfc2b47c55d18f94867a18a7b02fb7a4061bb63b08e7e004e7e2ee0c4cafc53">tvm::runtime::metadata::kHandle</a></div><div class="ttdef"><b>Definition:</b> metadata_base.h:167</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1metadata_1_1MetadataBase_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1metadata_1_1MetadataBase.html">tvm::runtime::metadata::MetadataBase</a></div><div class="ttdoc">Reference class for the common MetadataBaseNode class. </div><div class="ttdef"><b>Definition:</b> metadata_base.h:54</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode_html_abdd57cd8a05b571866df6871b782e8f2"><div class="ttname"><a href="classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode.html#abdd57cd8a05b571866df6871b782e8f2">tvm::runtime::metadata::MetadataArrayNode::array</a></div><div class="ttdeci">Array&lt; ObjectRef &gt; array</div><div class="ttdef"><b>Definition:</b> metadata_base.h:193</div></div>
diff --git a/docs/reference/api/doxygen/namespacellvm.html b/docs/reference/api/doxygen/namespacellvm.html
deleted file mode 100644
index dfbb5448a..000000000
--- a/docs/reference/api/doxygen/namespacellvm.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: llvm Namespace Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">llvm Namespace Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.13
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/namespaces.html b/docs/reference/api/doxygen/namespaces.html
index 5719d2a07..8389cf094 100644
--- a/docs/reference/api/doxygen/namespaces.html
+++ b/docs/reference/api/doxygen/namespaces.html
@@ -66,47 +66,46 @@ $(function() {
 <div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
 <tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacedmlc.html" target="_self">dmlc</a></td><td class="desc"></td></tr>
 <tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacedmlc_1_1serializer.html" target="_self">serializer</a></td><td class="desc"></td></tr>
-<tr id="row_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellvm.html" target="_self">llvm</a></td><td class="desc"></td></tr>
-<tr id="row_2_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm.html" target="_self">tvm</a></td><td class="desc">Runtime implementation for LibTorch/TorchScript </td></tr>
-<tr id="row_2_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1arith.html" target="_self">arith</a></td><td class="desc">Namespace of arithmetic analysis </td></tr>
-<tr id="row_2_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1attr.html" target="_self">attr</a></td><td class="desc">Generic attribute names that can be attached to any function </td></tr>
-<tr id="row_2_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1auto__scheduler.html" target="_self">auto_scheduler</a></td><td class="desc"></td></tr>
-<tr id="row_2_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1codegen.html" target="_self">codegen</a></td><td class="desc">Namespace for target translation and codegen </td></tr>
-<tr id="row_2_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1detail.html" target="_self">detail</a></td><td class="desc"></td></tr>
-<tr id="row_2_5_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1instrument.html" target="_self">instrument</a></td><td class="desc"></td></tr>
-<tr id="row_2_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1meta__schedule.html" target="_self">meta_schedule</a></td><td class="desc"></td></tr>
-<tr id="row_2_7_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1parser.html" target="_self">parser</a></td><td class="desc"></td></tr>
-<tr id="row_2_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_8_" class="arrow" onclick="toggleFolder('2_8_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1relay.html" target="_self">relay</a></td><td class="desc">Relay: a high level functional IR for TVM </td></tr>
-<tr id="row_2_8_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1relay_1_1attr.html" target="_self">attr</a></td><td class="desc">Namespace of the attributes that can be attached to a <a class="el" href="classtvm_1_1relay_1_1Function.html" title="Managed reference to FunctionNode. ">relay::Function</a> </td></tr>
-<tr id="row_2_8_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_2_8_1_" class="arrow" onclick="toggleFolder('2_8_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1relay_1_1qnn.html" target="_self">qnn</a></td><td class="desc"></td></tr>
-<tr id="row_2_8_1_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1relay_1_1qnn_1_1transform.html" target="_self">transform</a></td><td class="desc"></td></tr>
-<tr id="row_2_8_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1relay_1_1transform.html" target="_self">transform</a></td><td class="desc"></td></tr>
-<tr id="row_2_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_9_" class="arrow" onclick="toggleFolder('2_9_')">&#9660;</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_2_9_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1contrib.html" target="_self">contrib</a></td><td class="desc"></td></tr>
-<tr id="row_2_9_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1metadata.html" target="_self">metadata</a></td><td class="desc"></td></tr>
-<tr id="row_2_9_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html" target="_self">micro_rpc</a></td><td class="desc"></td></tr>
-<tr id="row_2_9_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html" target="_self">profiling</a></td><td class="desc"></td></tr>
-<tr id="row_2_9_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1symbol.html" target="_self">symbol</a></td><td class="desc">Namespace for constant symbols </td></tr>
-<tr id="row_2_9_5_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1threading.html" target="_self">threading</a></td><td class="desc"></td></tr>
-<tr id="row_2_9_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1vm.html" target="_self">vm</a></td><td class="desc"></td></tr>
-<tr id="row_2_10_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1support.html" target="_self">support</a></td><td class="desc"></td></tr>
-<tr id="row_2_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1te.html" target="_self">te</a></td><td class="desc"><a class="el" href="classtvm_1_1te_1_1Tensor.html" title="Tensor structure representing a possible input, or intermediate computation result. ">Tensor</a> expression language DSL </td></tr>
-<tr id="row_2_12_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_12_" class="arrow" onclick="toggleFolder('2_12_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1tir.html" target="_self">tir</a></td><td class="desc"></td></tr>
-<tr id="row_2_12_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1tir_1_1attr.html" target="_self">attr</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1PrimFunc.html" title="Managed reference to PrimFuncNode. ">PrimFunc</a> specific attribute names </td></tr>
-<tr id="row_2_12_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1tir_1_1builtin.html" target="_self">builtin</a></td><td class="desc">Collection of builtin intrinsics as ops </td></tr>
-<tr id="row_2_12_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1tir_1_1transform.html" target="_self">transform</a></td><td class="desc"></td></tr>
-<tr id="row_2_12_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_2_12_3_" class="arrow" onclick="toggleFolder('2_12_3_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1tir_1_1usmp.html" target="_self">usmp</a></td><td class="desc"></td></tr>
-<tr id="row_2_12_3_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1algo.html" target="_self">algo</a></td><td class="desc"></td></tr>
-<tr id="row_2_12_3_1_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1transform.html" target="_self">transform</a></td><td class="desc"></td></tr>
-<tr id="row_2_13_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_13_" class="arrow" onclick="toggleFolder('2_13_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi.html" target="_self">topi</a></td><td class="desc"></td></tr>
-<tr id="row_2_13_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi_1_1contrib.html" target="_self">contrib</a></td><td class="desc"></td></tr>
-<tr id="row_2_13_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi_1_1cuda.html" target="_self">cuda</a></td><td class="desc"></td></tr>
-<tr id="row_2_13_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi_1_1generic.html" target="_self">generic</a></td><td class="desc"></td></tr>
-<tr id="row_2_13_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi_1_1nn.html" target="_self">nn</a></td><td class="desc"></td></tr>
-<tr id="row_2_13_4_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi_1_1rocm.html" target="_self">rocm</a></td><td class="desc"></td></tr>
-<tr id="row_2_13_5_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi_1_1vision.html" target="_self">vision</a></td><td class="desc"></td></tr>
-<tr id="row_2_13_6_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi_1_1x86.html" target="_self">x86</a></td><td class="desc"></td></tr>
-<tr id="row_2_14_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1transform.html" target="_self">transform</a></td><td class="desc"></td></tr>
+<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm.html" target="_self">tvm</a></td><td class="desc">Runtime implementation for LibTorch/TorchScript </td></tr>
+<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1arith.html" target="_self">arith</a></td><td class="desc">Namespace of arithmetic analysis </td></tr>
+<tr id="row_1_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1attr.html" target="_self">attr</a></td><td class="desc">Generic attribute names that can be attached to any function </td></tr>
+<tr id="row_1_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1auto__scheduler.html" target="_self">auto_scheduler</a></td><td class="desc"></td></tr>
+<tr id="row_1_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1codegen.html" target="_self">codegen</a></td><td class="desc">Namespace for target translation and codegen </td></tr>
+<tr id="row_1_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1detail.html" target="_self">detail</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1instrument.html" target="_self">instrument</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1meta__schedule.html" target="_self">meta_schedule</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1parser.html" target="_self">parser</a></td><td class="desc"></td></tr>
+<tr id="row_1_8_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_8_" class="arrow" onclick="toggleFolder('1_8_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1relay.html" target="_self">relay</a></td><td class="desc">Relay: a high level functional IR for TVM </td></tr>
+<tr id="row_1_8_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1relay_1_1attr.html" target="_self">attr</a></td><td class="desc">Namespace of the attributes that can be attached to a <a class="el" href="classtvm_1_1relay_1_1Function.html" title="Managed reference to FunctionNode. ">relay::Function</a> </td></tr>
+<tr id="row_1_8_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_1_8_1_" class="arrow" onclick="toggleFolder('1_8_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1relay_1_1qnn.html" target="_self">qnn</a></td><td class="desc"></td></tr>
+<tr id="row_1_8_1_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1relay_1_1qnn_1_1transform.html" target="_self">transform</a></td><td class="desc"></td></tr>
+<tr id="row_1_8_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1relay_1_1transform.html" target="_self">transform</a></td><td class="desc"></td></tr>
+<tr id="row_1_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_9_" class="arrow" onclick="toggleFolder('1_9_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime.html" target="_self">runtime</a></td><td class="desc"></td></tr>
+<tr id="row_1_9_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1contrib.html" target="_self">contrib</a></td><td class="desc"></td></tr>
+<tr id="row_1_9_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1metadata.html" target="_self">metadata</a></td><td class="desc"></td></tr>
+<tr id="row_1_9_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html" target="_self">micro_rpc</a></td><td class="desc"></td></tr>
+<tr id="row_1_9_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html" target="_self">profiling</a></td><td class="desc"></td></tr>
+<tr id="row_1_9_4_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1symbol.html" target="_self">symbol</a></td><td class="desc">Namespace for constant symbols </td></tr>
+<tr id="row_1_9_5_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1threading.html" target="_self">threading</a></td><td class="desc"></td></tr>
+<tr id="row_1_9_6_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1vm.html" target="_self">vm</a></td><td class="desc"></td></tr>
+<tr id="row_1_10_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1support.html" target="_self">support</a></td><td class="desc"></td></tr>
+<tr id="row_1_11_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1te.html" target="_self">te</a></td><td class="desc"><a class="el" href="classtvm_1_1te_1_1Tensor.html" title="Tensor structure representing a possible input, or intermediate computation result. ">Tensor</a> expression language DSL </td></tr>
+<tr id="row_1_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_12_" class="arrow" onclick="toggleFolder('1_12_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1tir.html" target="_self">tir</a></td><td class="desc"></td></tr>
+<tr id="row_1_12_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1tir_1_1attr.html" target="_self">attr</a></td><td class="desc"><a class="el" href="classtvm_1_1tir_1_1PrimFunc.html" title="Managed reference to PrimFuncNode. ">PrimFunc</a> specific attribute names </td></tr>
+<tr id="row_1_12_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1tir_1_1builtin.html" target="_self">builtin</a></td><td class="desc">Collection of builtin intrinsics as ops </td></tr>
+<tr id="row_1_12_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1tir_1_1transform.html" target="_self">transform</a></td><td class="desc"></td></tr>
+<tr id="row_1_12_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_1_12_3_" class="arrow" onclick="toggleFolder('1_12_3_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1tir_1_1usmp.html" target="_self">usmp</a></td><td class="desc"></td></tr>
+<tr id="row_1_12_3_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1algo.html" target="_self">algo</a></td><td class="desc"></td></tr>
+<tr id="row_1_12_3_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1transform.html" target="_self">transform</a></td><td class="desc"></td></tr>
+<tr id="row_1_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_13_" class="arrow" onclick="toggleFolder('1_13_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi.html" target="_self">topi</a></td><td class="desc"></td></tr>
+<tr id="row_1_13_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi_1_1contrib.html" target="_self">contrib</a></td><td class="desc"></td></tr>
+<tr id="row_1_13_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi_1_1cuda.html" target="_self">cuda</a></td><td class="desc"></td></tr>
+<tr id="row_1_13_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi_1_1generic.html" target="_self">generic</a></td><td class="desc"></td></tr>
+<tr id="row_1_13_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi_1_1nn.html" target="_self">nn</a></td><td class="desc"></td></tr>
+<tr id="row_1_13_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi_1_1rocm.html" target="_self">rocm</a></td><td class="desc"></td></tr>
+<tr id="row_1_13_5_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi_1_1vision.html" target="_self">vision</a></td><td class="desc"></td></tr>
+<tr id="row_1_13_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1topi_1_1x86.html" target="_self">x86</a></td><td class="desc"></td></tr>
+<tr id="row_1_14_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1transform.html" target="_self">transform</a></td><td class="desc"></td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
diff --git a/docs/reference/api/doxygen/op__strategy_8h_source.html b/docs/reference/api/doxygen/op__strategy_8h_source.html
index aca088d61..3fbd166d9 100644
--- a/docs/reference/api/doxygen/op__strategy_8h_source.html
+++ b/docs/reference/api/doxygen/op__strategy_8h_source.html
@@ -89,7 +89,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1OpImplementationNode_html_a2e2f60b2a9661dfe0d599ec9f3a06580"><div class="ttname"><a href="classtvm_1_1relay_1_1OpImplementationNode.html#a2e2f60b2a9661dfe0d599ec9f3a06580">tvm::relay::OpImplementationNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> op_strategy.h:53</div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1OpImplementationNode_html_a959fa0b0a598365aaa7c53b3170fe47e"><div class="ttname"><a href="classtvm_1_1relay_1_1OpImplementationNode.html#a959fa0b0a598365aaa7c53b3170fe47e">tvm::relay::OpImplementationNode::TVM_DECLARE_FINAL_OBJECT_INFO</a></div><div class="ttdeci">TVM_DECLARE_FINAL_OBJECT_INFO(OpImplementationNode, Object)</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc&lt; Array&lt; te::Tensor &gt;(const Attrs &amp;attrs, const Array&lt; te::Tensor &gt; &amp;inputs, const Type &amp;out_type)&gt;</a></div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="classtvm_1_1Target_html"><div class="ttname"><a href="classtvm_1_1Target.html">tvm::Target</a></div><div class="ttdoc">Managed reference class to TargetNode. </div><div class="ttdef"><b>Definition:</b> target.h:141</div></div>
diff --git a/docs/reference/api/doxygen/operation_8h_source.html b/docs/reference/api/doxygen/operation_8h_source.html
index d98de5553..c2cfb7443 100644
--- a/docs/reference/api/doxygen/operation_8h_source.html
+++ b/docs/reference/api/doxygen/operation_8h_source.html
@@ -120,7 +120,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1te_1_1ComputeOpNode_html"><div class="ttname"><a href="classtvm_1_1te_1_1ComputeOpNode.html">tvm::te::ComputeOpNode</a></div><div class="ttdoc">A Compute op that compute a tensor on certain domain. </div><div class="ttdef"><b>Definition:</b> operation.h:226</div></div>
 <div class="ttc" id="classtvm_1_1te_1_1BaseComputeOpNode_html_a21617a643897727c51ded2b7260df4c3"><div class="ttname"><a href="classtvm_1_1te_1_1BaseComputeOpNode.html#a21617a643897727c51ded2b7260df4c3">tvm::te::BaseComputeOpNode::axis</a></div><div class="ttdeci">Array&lt; IterVar &gt; axis</div><div class="ttdoc">IterVar on each axis. </div><div class="ttdef"><b>Definition:</b> operation.h:207</div></div>
 <div class="ttc" id="classtvm_1_1te_1_1ExternOp_html"><div class="ttname"><a href="classtvm_1_1te_1_1ExternOp.html">tvm::te::ExternOp</a></div><div class="ttdoc">Managed reference to ExternOpNode. </div><div class="ttdef"><b>Definition:</b> operation.h:460</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1te_1_1TensorComputeOpNode_html_a81533c6957c82df59ef8d810ace1bed2"><div class="ttname"><a href="classtvm_1_1te_1_1TensorComputeOpNode.html#a81533c6957c82df59ef8d810ace1bed2">tvm::te::TensorComputeOpNode::inputs</a></div><div class="ttdeci">Array&lt; Tensor &gt; inputs</div><div class="ttdoc">input tensors of intrin </div><div class="ttdef"><b>Definition:</b> operation.h:281</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor. </div><div class="ttdef"><b>Definition:</b> transform.h:1758</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
diff --git a/docs/reference/api/doxygen/packed__func_8h_source.html b/docs/reference/api/doxygen/packed__func_8h_source.html
index 1435a3abb..e5e271755 100644
--- a/docs/reference/api/doxygen/packed__func_8h_source.html
+++ b/docs/reference/api/doxygen/packed__func_8h_source.html
@@ -169,7 +169,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1TVMPODValue___html_a289a65bf255e3d192c60d7b5a8dcf097"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMPODValue__.html#a289a65bf255e3d192c60d7b5a8dcf097">tvm::runtime::TVMPODValue_::AsObjectRef</a></div><div class="ttdeci">TObjectRef AsObjectRef() const</div><div class="ttdef"><b>Definition:</b> packed_func.h:1823</div></div>
 <div class="ttc" id="namespacetvm_html_a0df5ca82d2c566f628ebb2f1e84a3fcb"><div class="ttname"><a href="namespacetvm.html#a0df5ca82d2c566f628ebb2f1e84a3fcb">tvm::max</a></div><div class="ttdeci">PrimExpr max(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">take maximum of two values </div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TVMArgsSetter_html_a9f87512cfec647c8011ab9e5c57bb0d1"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMArgsSetter.html#a9f87512cfec647c8011ab9e5c57bb0d1">tvm::runtime::TVMArgsSetter::operator()</a></div><div class="ttdeci">TVM_ALWAYS_INLINE void operator()(size_t i, const std::string &amp;value) const</div><div class="ttdef"><b>Definition:</b> packed_func.h:1564</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1PackedFuncObj_html_ac6f4a12b41a1fbb3e23e1bb77bcc3383"><div class="ttname"><a href="classtvm_1_1runtime_1_1PackedFuncObj.html#ac6f4a12b41a1fbb3e23e1bb77bcc3383">tvm::runtime::PackedFuncObj::FCallPacked</a></div><div class="ttdeci">void(const PackedFuncObj *, TVMArgs, TVMRetValue *) FCallPacked</div><div class="ttdoc">The internal callable function type. </div><div class="ttdef"><b>Definition:</b> packed_func.h:97</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc</a></div><div class="ttdoc">Please refer to TypedPackedFunc&lt;R(Args..)&gt;. </div><div class="ttdef"><b>Definition:</b> packed_func.h:60</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1PackedFuncObj_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1PackedFuncObj.html">tvm::runtime::PackedFuncObj</a></div><div class="ttdoc">Object container class that backs PackedFunc. </div><div class="ttdef"><b>Definition:</b> packed_func.h:68</div></div>
diff --git a/docs/reference/api/doxygen/profiler_8h_source.html b/docs/reference/api/doxygen/profiler_8h_source.html
index 4d07f473d..e6698f278 100644
--- a/docs/reference/api/doxygen/profiler_8h_source.html
+++ b/docs/reference/api/doxygen/profiler_8h_source.html
@@ -75,7 +75,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1Object_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></div><div class="ttdoc">base class of all object containers. </div><div class="ttdef"><b>Definition:</b> object.h:167</div></div>
 <div class="ttc" id="array_8h_html"><div class="ttname"><a href="array_8h.html">array.h</a></div><div class="ttdoc">Runtime Array container types. </div></div>
 <div class="ttc" id="classtvm_1_1AttrVisitor_html"><div class="ttname"><a href="classtvm_1_1AttrVisitor.html">tvm::AttrVisitor</a></div><div class="ttdoc">Visitor class to get the attributes of an AST/IR node. The content is going to be called for each fie...</div><div class="ttdef"><b>Definition:</b> reflection.h:52</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc</a></div><div class="ttdoc">Please refer to TypedPackedFunc&lt;R(Args..)&gt;. </div><div class="ttdef"><b>Definition:</b> packed_func.h:60</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1ProfilerNode_html_af8b465e8e9412afe20e9cfab2f5ed322"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1ProfilerNode.html#af8b465e8e9412afe20e9cfab2f5ed322">tvm::meta_schedule::ProfilerNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> profiler.h:62</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
diff --git a/docs/reference/api/doxygen/profiling_8h_source.html b/docs/reference/api/doxygen/profiling_8h_source.html
index 9514d4a56..e767440fe 100644
--- a/docs/reference/api/doxygen/profiling_8h_source.html
+++ b/docs/reference/api/doxygen/profiling_8h_source.html
@@ -99,7 +99,7 @@ $(function() {
 <div class="ttc" id="structtvm_1_1runtime_1_1profiling_1_1CallFrame_html_a2315e3b8fa996924b42df643d07d86ee"><div class="ttname"><a href="structtvm_1_1runtime_1_1profiling_1_1CallFrame.html#a2315e3b8fa996924b42df643d07d86ee">tvm::runtime::profiling::CallFrame::timer</a></div><div class="ttdeci">Timer timer</div><div class="ttdef"><b>Definition:</b> profiling.h:336</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TimerNode_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TimerNode.html">tvm::runtime::TimerNode</a></div><div class="ttdoc">Base class for all implementations. </div><div class="ttdef"><b>Definition:</b> profiling.h:50</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1profiling_1_1RatioNode_html_ab7a6874e67a1b663463f59ba3ede162c"><div class="ttname"><a href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html#ab7a6874e67a1b663463f59ba3ede162c">tvm::runtime::profiling::RatioNode::ratio</a></div><div class="ttdeci">double ratio</div><div class="ttdef"><b>Definition:</b> profiling.h:477</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1profiling_1_1ReportNode_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">tvm::runtime::profiling::ReportNode</a></div><div class="ttdoc">Data collected from a profiling run. Includes per-call metrics and per-device metrics. </div><div class="ttdef"><b>Definition:</b> profiling.h:178</div></div>
 <div class="ttc" id="device__api_8h_html"><div class="ttname"><a href="device__api_8h.html">device_api.h</a></div><div class="ttdoc">Abstract device memory management API. </div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor. </div><div class="ttdef"><b>Definition:</b> transform.h:1758</div></div>
diff --git a/docs/reference/api/doxygen/reflection_8h_source.html b/docs/reference/api/doxygen/reflection_8h_source.html
index 61dfbb5b5..7c84c5093 100644
--- a/docs/reference/api/doxygen/reflection_8h_source.html
+++ b/docs/reference/api/doxygen/reflection_8h_source.html
@@ -91,7 +91,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1DataType_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1DataType.html">tvm::runtime::DataType</a></div><div class="ttdoc">Runtime primitive data type. </div><div class="ttdef"><b>Definition:</b> data_type.h:41</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TVMArgs_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMArgs.html">tvm::runtime::TVMArgs</a></div><div class="ttdoc">Arguments into TVM functions. </div><div class="ttdef"><b>Definition:</b> packed_func.h:391</div></div>
 <div class="ttc" id="structtvm_1_1detail_1_1ImplSEqualReduce_html"><div class="ttname"><a href="structtvm_1_1detail_1_1ImplSEqualReduce.html">tvm::detail::ImplSEqualReduce</a></div><div class="ttdef"><b>Definition:</b> reflection.h:297</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1ReflectionVTable_1_1Registry_html_a27f62397ab10a8468c7de8350a6d1cee"><div class="ttname"><a href="classtvm_1_1ReflectionVTable_1_1Registry.html#a27f62397ab10a8468c7de8350a6d1cee">tvm::ReflectionVTable::Registry::set_repr_bytes</a></div><div class="ttdeci">Registry &amp; set_repr_bytes(FReprBytes f)</div><div class="ttdoc">Set bytes repr function. </div><div class="ttdef"><b>Definition:</b> reflection.h:220</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
 <div class="ttc" id="classtvm_1_1ReflectionVTable_html_a775a9d85f429302c05e06ddc64eb9456"><div class="ttname"><a href="classtvm_1_1ReflectionVTable.html#a775a9d85f429302c05e06ddc64eb9456">tvm::ReflectionVTable::Register</a></div><div class="ttdeci">Registry Register()</div><div class="ttdef"><b>Definition:</b> reflection.h:368</div></div>
diff --git a/docs/reference/api/doxygen/relay_2attrs_2nn_8h_source.html b/docs/reference/api/doxygen/relay_2attrs_2nn_8h_source.html
index 084c278f6..bcc6ef66b 100644
--- a/docs/reference/api/doxygen/relay_2attrs_2nn_8h_source.html
+++ b/docs/reference/api/doxygen/relay_2attrs_2nn_8h_source.html
@@ -272,7 +272,7 @@ $(function() {
 <div class="ttc" id="structtvm_1_1relay_1_1Conv2DTransposeAttrs_html"><div class="ttname"><a href="structtvm_1_1relay_1_1Conv2DTransposeAttrs.html">tvm::relay::Conv2DTransposeAttrs</a></div><div class="ttdoc">Attributes used in transposed convolution operator. </div><div class="ttdef"><b>Definition:</b> nn.h:533</div></div>
 <div class="ttc" id="structtvm_1_1relay_1_1GroupNormAttrs_html_ad8f288514880bff6ca973cdaa2aea905"><div class="ttname"><a href="structtvm_1_1relay_1_1GroupNormAttrs.html#ad8f288514880bff6ca973cdaa2aea905">tvm::relay::GroupNormAttrs::center</a></div><div class="ttdeci">bool center</div><div class="ttdef"><b>Definition:</b> nn.h:1373</div></div>
 <div class="ttc" id="structtvm_1_1relay_1_1AvgPool3DAttrs_html"><div class="ttname"><a href="structtvm_1_1relay_1_1AvgPool3DAttrs.html">tvm::relay::AvgPool3DAttrs</a></div><div class="ttdoc">Attributes for 3D avg pool operator. </div><div class="ttdef"><b>Definition:</b> nn.h:1003</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="structtvm_1_1relay_1_1PadAttrs_html_acd8abf65407486fc1c330db50e0485cb"><div class="ttname"><a href="structtvm_1_1relay_1_1PadAttrs.html#acd8abf65407486fc1c330db50e0485cb">tvm::relay::PadAttrs::pad_width</a></div><div class="ttdeci">Array&lt; Array&lt; Integer &gt; &gt; pad_width</div><div class="ttdef"><b>Definition:</b> nn.h:1244</div></div>
 <div class="ttc" id="structtvm_1_1relay_1_1Conv2DAttrs_html_a0abda4529b2de9f35999ad5b5ccff870"><div class="ttname"><a href="structtvm_1_1relay_1_1Conv2DAttrs.html#a0abda4529b2de9f35999ad5b5ccff870">tvm::relay::Conv2DAttrs::out_dtype</a></div><div class="ttdeci">DataType out_dtype</div><div class="ttdef"><b>Definition:</b> nn.h:129</div></div>
 <div class="ttc" id="structtvm_1_1relay_1_1Conv1DTransposeAttrs_html_a7d9be6d3a1cd41d1e72deef333ce558d"><div class="ttname"><a href="structtvm_1_1relay_1_1Conv1DTransposeAttrs.html#a7d9be6d3a1cd41d1e72deef333ce558d">tvm::relay::Conv1DTransposeAttrs::out_layout</a></div><div class="ttdeci">std::string out_layout</div><div class="ttdef"><b>Definition:</b> nn.h:632</div></div>
diff --git a/docs/reference/api/doxygen/relay_2attrs_2transform_8h_source.html b/docs/reference/api/doxygen/relay_2attrs_2transform_8h_source.html
index c2a141d8a..ee0d79202 100644
--- a/docs/reference/api/doxygen/relay_2attrs_2transform_8h_source.html
+++ b/docs/reference/api/doxygen/relay_2attrs_2transform_8h_source.html
@@ -159,7 +159,7 @@ $(function() {
 <div class="ttc" id="structtvm_1_1relay_1_1TileAttrs_html"><div class="ttname"><a href="structtvm_1_1relay_1_1TileAttrs.html">tvm::relay::TileAttrs</a></div><div class="ttdoc">Attributes used in tile operators. </div><div class="ttdef"><b>Definition:</b> transform.h:281</div></div>
 <div class="ttc" id="structtvm_1_1relay_1_1ArangeAttrs_html_a405dbeb1c77da2690c40606c980f388d"><div class="ttname"><a href="structtvm_1_1relay_1_1ArangeAttrs.html#a405dbeb1c77da2690c40606c980f388d">tvm::relay::ArangeAttrs::dtype</a></div><div class="ttdeci">DataType dtype</div><div class="ttdef"><b>Definition:</b> transform.h:236</div></div>
 <div class="ttc" id="structtvm_1_1relay_1_1UniqueAttrs_html_aef434799646533ec9d796393ba01db44"><div class="ttname"><a href="structtvm_1_1relay_1_1UniqueAttrs.html#aef434799646533ec9d796393ba01db44">tvm::relay::UniqueAttrs::sorted</a></div><div class="ttdeci">bool sorted</div><div class="ttdef"><b>Definition:</b> transform.h:537</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="structtvm_1_1relay_1_1ScatterNDAttrs_html_ab13eeaa700fe7e41666ac04179e0fd62"><div class="ttname"><a href="structtvm_1_1relay_1_1ScatterNDAttrs.html#ab13eeaa700fe7e41666ac04179e0fd62">tvm::relay::ScatterNDAttrs::mode</a></div><div class="ttdeci">String mode</div><div class="ttdef"><b>Definition:</b> transform.h:168</div></div>
 <div class="ttc" id="structtvm_1_1relay_1_1InitOpAttrs_html_a549d7ca42a8ac4f7db2b96f276de6266"><div class="ttname"><a href="structtvm_1_1relay_1_1InitOpAttrs.html#a549d7ca42a8ac4f7db2b96f276de6266">tvm::relay::InitOpAttrs::TVM_DECLARE_ATTRS</a></div><div class="ttdeci">TVM_DECLARE_ATTRS(InitOpAttrs, &quot;relay.attrs.InitOpAttrs&quot;)</div><div class="ttdef"><b>Definition:</b> transform.h:225</div></div>
 <div class="ttc" id="structtvm_1_1relay_1_1ScatterAddAttrs_html_aa266a70026db0feb88f57a08fb4d3303"><div class="ttname"><a href="structtvm_1_1relay_1_1ScatterAddAttrs.html#aa266a70026db0feb88f57a08fb4d3303">tvm::relay::ScatterAddAttrs::TVM_DECLARE_ATTRS</a></div><div class="ttdeci">TVM_DECLARE_ATTRS(ScatterAddAttrs, &quot;relay.attrs.ScatterAddAttrs&quot;)</div><div class="ttdef"><b>Definition:</b> transform.h:162</div></div>
diff --git a/docs/reference/api/doxygen/relay_2base_8h_source.html b/docs/reference/api/doxygen/relay_2base_8h_source.html
index 891f2aad4..235cf48a9 100644
--- a/docs/reference/api/doxygen/relay_2base_8h_source.html
+++ b/docs/reference/api/doxygen/relay_2base_8h_source.html
@@ -88,7 +88,7 @@ $(function() {
 <div class="ttc" id="tir_2expr_8h_html"><div class="ttname"><a href="tir_2expr_8h.html">expr.h</a></div><div class="ttdoc">TIR expressions. </div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1Id_html"><div class="ttname"><a href="classtvm_1_1relay_1_1Id.html">tvm::relay::Id</a></div><div class="ttdef"><b>Definition:</b> base.h:112</div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1RelayNode_html_af61323189c9e15411934e05ac86547ca"><div class="ttname"><a href="classtvm_1_1relay_1_1RelayNode.html#af61323189c9e15411934e05ac86547ca">tvm::relay::RelayNode::TVM_DECLARE_BASE_OBJECT_INFO</a></div><div class="ttdeci">TVM_DECLARE_BASE_OBJECT_INFO(RelayNode, Object)</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
 <div class="ttc" id="classtvm_1_1SpanNode_html"><div class="ttname"><a href="classtvm_1_1SpanNode.html">tvm::SpanNode</a></div><div class="ttdoc">Stores locations in frontend source that generated a node. </div><div class="ttdef"><b>Definition:</b> span.h:82</div></div>
diff --git a/docs/reference/api/doxygen/relay_2expr_8h_source.html b/docs/reference/api/doxygen/relay_2expr_8h_source.html
index afc196e6d..87d2b0fc4 100644
--- a/docs/reference/api/doxygen/relay_2expr_8h_source.html
+++ b/docs/reference/api/doxygen/relay_2expr_8h_source.html
@@ -154,7 +154,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1relay_1_1ConstantNode_html_a8103d52981ef61f22fd4437c458217ae"><div class="ttname"><a href="classtvm_1_1relay_1_1ConstantNode.html#a8103d52981ef61f22fd4437c458217ae">tvm::relay::ConstantNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const ConstantNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> expr.h:90</div></div>
 <div class="ttc" id="classtvm_1_1RelayExprNode_html_ad6ea21e1a03d972ac5cf81b80b88b2c4"><div class="ttname"><a href="classtvm_1_1RelayExprNode.html#ad6ea21e1a03d972ac5cf81b80b88b2c4">tvm::RelayExprNode::virtual_device_</a></div><div class="ttdeci">ObjectRef virtual_device_</div><div class="ttdoc">The virtual device (VirtualDevice) for this node (the result of device planning). For first-order exp...</div><div class="ttdef"><b>Definition:</b> expr.h:193</div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1ConstantNode_html_ad321216b91f256cbd425b5ca251e3ed4"><div class="ttname"><a href="classtvm_1_1relay_1_1ConstantNode.html#ad321216b91f256cbd425b5ca251e3ed4">tvm::relay::ConstantNode::TVM_DECLARE_FINAL_OBJECT_INFO</a></div><div class="ttdeci">TVM_DECLARE_FINAL_OBJECT_INFO(ConstantNode, ExprNode)</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1RefReadNode_html_a3d8b18cdfa287861088148040b8de159"><div class="ttname"><a href="classtvm_1_1relay_1_1RefReadNode.html#a3d8b18cdfa287861088148040b8de159">tvm::relay::RefReadNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> expr.h:675</div></div>
 <div class="ttc" id="classtvm_1_1RelayExpr_html"><div class="ttname"><a href="classtvm_1_1RelayExpr.html">tvm::RelayExpr</a></div><div class="ttdoc">Managed reference to RelayExprNode. </div><div class="ttdef"><b>Definition:</b> expr.h:217</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
diff --git a/docs/reference/api/doxygen/relay_2transform_8h_source.html b/docs/reference/api/doxygen/relay_2transform_8h_source.html
index 58ecd3ba4..6bf299638 100644
--- a/docs/reference/api/doxygen/relay_2transform_8h_source.html
+++ b/docs/reference/api/doxygen/relay_2transform_8h_source.html
@@ -111,7 +111,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_1_1relay_1_1transform_html_aae88cd0ad69cf64c7e9caf0a0c8ebb45"><div class="ttname"><a href="namespacetvm_1_1relay_1_1transform.html#aae88cd0ad69cf64c7e9caf0a0c8ebb45">tvm::relay::transform::PassInfoNode</a></div><div class="ttdeci">tvm::transform::PassInfoNode PassInfoNode</div><div class="ttdef"><b>Definition:</b> transform.h:46</div></div>
 <div class="ttc" id="classtvm_1_1transform_1_1PassContext_html"><div class="ttname"><a href="classtvm_1_1transform_1_1PassContext.html">tvm::transform::PassContext</a></div><div class="ttdoc">PassContext that is used to configure the pass behavior. </div><div class="ttdef"><b>Definition:</b> transform.h:154</div></div>
 <div class="ttc" id="compilation__config_8h_html"><div class="ttname"><a href="compilation__config_8h.html">compilation_config.h</a></div><div class="ttdoc">A helper class to collect all the targets in canonical form necessary for compilation. </div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc</a></div><div class="ttdoc">Please refer to TypedPackedFunc&lt;R(Args..)&gt;. </div><div class="ttdef"><b>Definition:</b> packed_func.h:60</div></div>
 <div class="ttc" id="namespacetvm_1_1relay_1_1transform_html_a473c64deec00aaf5636cc12f844b1e42"><div class="ttname"><a href="namespacetvm_1_1relay_1_1transform.html#a473c64deec00aaf5636cc12f844b1e42">tvm::relay::transform::ManifestAlloc</a></div><div class="ttdeci">Pass ManifestAlloc(VirtualDevice cpu_virtual_device)</div><div class="ttdoc">A pass for manifesting explicit memory allocations and rewriting specific dialects. </div></div>
 <div class="ttc" id="classtvm_1_1RelayExpr_html"><div class="ttname"><a href="classtvm_1_1RelayExpr.html">tvm::RelayExpr</a></div><div class="ttdoc">Managed reference to RelayExprNode. </div><div class="ttdef"><b>Definition:</b> expr.h:217</div></div>
diff --git a/docs/reference/api/doxygen/runner_8h_source.html b/docs/reference/api/doxygen/runner_8h_source.html
index 4cbb143d1..1a1c26c9d 100644
--- a/docs/reference/api/doxygen/runner_8h_source.html
+++ b/docs/reference/api/doxygen/runner_8h_source.html
@@ -94,7 +94,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1RunnerInput_html"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1RunnerInput.html">tvm::meta_schedule::RunnerInput</a></div><div class="ttdoc">Managed reference to RunnerInputNode. </div><div class="ttdef"><b>Definition:</b> runner.h:58</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1RunnerFutureNode_html_aa914653065720dde403d16a1a004d6b6"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1RunnerFutureNode.html#aa914653065720dde403d16a1a004d6b6">tvm::meta_schedule::RunnerFutureNode::Done</a></div><div class="ttdeci">bool Done() const</div><div class="ttdoc">Check whether the runner has finished. </div><div class="ttdef"><b>Definition:</b> runner.h:134</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc&lt; bool()&gt;</a></div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1RunnerInputNode_html_a5879e387f788cfd90b5a62ef1e55011e"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1RunnerInputNode.html#a5879e387f788cfd90b5a62ef1e55011e">tvm::meta_schedule::RunnerInputNode::device_type</a></div><div class="ttdeci">String device_type</div><div class="ttdoc">The type of device. </div><div class="ttdef"><b>Definition:</b> runner.h:40</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1RunnerResultNode_html"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1RunnerResultNode.html">tvm::meta_schedule::RunnerResultNode</a></div><div class="ttdoc">Runner&amp;#39;s output containing measurement result of MeasureCandidate or error msg if any...</div><div class="ttdef"><b>Definition:</b> runner.h:71</div></div>
diff --git a/docs/reference/api/doxygen/runtime_2container_2base_8h_source.html b/docs/reference/api/doxygen/runtime_2container_2base_8h_source.html
index 2f481dfcd..7f0758ddb 100644
--- a/docs/reference/api/doxygen/runtime_2container_2base_8h_source.html
+++ b/docs/reference/api/doxygen/runtime_2container_2base_8h_source.html
@@ -81,7 +81,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1ReverseIterAdapter_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ReverseIterAdapter.html">tvm::runtime::ReverseIterAdapter</a></div><div class="ttdoc">iterator adapter that adapts TIter to return another type. </div><div class="ttdef"><b>Definition:</b> base.h:241</div></div>
 <div class="ttc" id="runtime_2memory_8h_html"><div class="ttname"><a href="runtime_2memory_8h.html">memory.h</a></div><div class="ttdoc">Runtime memory management. </div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1IterAdapter_html_ad3b2d03b6683bdaee0b524612b53d419"><div class="ttname"><a href="classtvm_1_1runtime_1_1IterAdapter.html#ad3b2d03b6683bdaee0b524612b53d419">tvm::runtime::IterAdapter::iterator_category</a></div><div class="ttdeci">typename std::iterator_traits&lt; TIter &gt;::iterator_category iterator_category</div><div class="ttdef"><b>Definition:</b> base.h:194</div></div>
-<div class="ttc" id="structtvm_1_1runtime_1_1ObjectHash_html_ac97f4e15c15ac91185c7ead75d04dd3f"><div class="ttname"><a href="structtvm_1_1runtime_1_1ObjectHash.html#ac97f4e15c15ac91185c7ead75d04dd3f">tvm::runtime::ObjectHash::operator()</a></div><div class="ttdeci">size_t operator()(const ObjectRef &amp;a) const</div><div class="ttdoc">Calculate the hash code of an ObjectRef. </div><div class="ttdef"><b>Definition:</b> string.h:495</div></div>
+<div class="ttc" id="structtvm_1_1runtime_1_1ObjectHash_html_ac97f4e15c15ac91185c7ead75d04dd3f"><div class="ttname"><a href="structtvm_1_1runtime_1_1ObjectHash.html#ac97f4e15c15ac91185c7ead75d04dd3f">tvm::runtime::ObjectHash::operator()</a></div><div class="ttdeci">size_t operator()(const ObjectRef &amp;a) const</div><div class="ttdoc">Calculate the hash code of an ObjectRef. </div><div class="ttdef"><b>Definition:</b> string.h:482</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1IterAdapter_html_a9084e513e3a9b49a81fecd403fa415f1"><div class="ttname"><a href="classtvm_1_1runtime_1_1IterAdapter.html#a9084e513e3a9b49a81fecd403fa415f1">tvm::runtime::IterAdapter::operator+</a></div><div class="ttdeci">IterAdapter operator+(difference_type offset) const</div><div class="ttdef"><b>Definition:</b> base.h:216</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Object_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></div><div class="ttdoc">base class of all object containers. </div><div class="ttdef"><b>Definition:</b> object.h:167</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ReverseIterAdapter_html_ae71116873ea643de9f8ec1836cc116db"><div class="ttname"><a href="classtvm_1_1runtime_1_1ReverseIterAdapter.html#ae71116873ea643de9f8ec1836cc116db">tvm::runtime::ReverseIterAdapter::operator==</a></div><div class="ttdeci">bool operator==(ReverseIterAdapter other) const</div><div class="ttdef"><b>Definition:</b> base.h:279</div></div>
diff --git a/docs/reference/api/doxygen/runtime_2module_8h_source.html b/docs/reference/api/doxygen/runtime_2module_8h_source.html
index 74e4be542..e77ced23f 100644
--- a/docs/reference/api/doxygen/runtime_2module_8h_source.html
+++ b/docs/reference/api/doxygen/runtime_2module_8h_source.html
@@ -86,7 +86,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_1_1runtime_1_1symbol_html_af4a5fe87c6e95d6b082a2be1960efbe5"><div class="ttname"><a href="namespacetvm_1_1runtime_1_1symbol.html#af4a5fe87c6e95d6b082a2be1960efbe5">tvm::runtime::symbol::tvm_prepare_global_barrier</a></div><div class="ttdeci">constexpr const char * tvm_prepare_global_barrier</div><div class="ttdoc">Prepare the global barrier before kernels that uses global barrier. </div><div class="ttdef"><b>Definition:</b> module.h:263</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ModuleNode_html_af05db5c6d76f9b4dbf0631815170c5a7"><div class="ttname"><a href="classtvm_1_1runtime_1_1ModuleNode.html#af05db5c6d76f9b4dbf0631815170c5a7">tvm::runtime::ModuleNode::imports_</a></div><div class="ttdeci">std::vector&lt; Module &gt; imports_</div><div class="ttdoc">The modules this module depend on. </div><div class="ttdef"><b>Definition:</b> module.h:233</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ModuleNode_html_add6c8e6967c6906ea5346b2ccd30afb4"><div class="ttname"><a href="classtvm_1_1runtime_1_1ModuleNode.html#add6c8e6967c6906ea5346b2ccd30afb4">tvm::runtime::ModuleNode::~ModuleNode</a></div><div class="ttdeci">virtual ~ModuleNode()</div><div class="ttdoc">virtual destructor </div><div class="ttdef"><b>Definition:</b> module.h:116</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ModuleNode_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ModuleNode.html">tvm::runtime::ModuleNode</a></div><div class="ttdoc">Base container of module. </div><div class="ttdef"><b>Definition:</b> module.h:113</div></div>
 <div class="ttc" id="object_8h_html"><div class="ttname"><a href="object_8h.html">object.h</a></div><div class="ttdoc">A managed object in the TVM runtime. </div></div>
diff --git a/docs/reference/api/doxygen/runtime_8h_source.html b/docs/reference/api/doxygen/runtime_8h_source.html
index e7d491269..5f0840859 100644
--- a/docs/reference/api/doxygen/runtime_8h_source.html
+++ b/docs/reference/api/doxygen/runtime_8h_source.html
@@ -90,7 +90,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1DictAttrs_html_a4bff303c0d4e87ed01ffe4cdb36b05d0"><div class="ttname"><a href="classtvm_1_1DictAttrs.html#a4bff303c0d4e87ed01ffe4cdb36b05d0">tvm::DictAttrs::GetAttr</a></div><div class="ttdeci">Optional&lt; TObjectRef &gt; GetAttr(const std::string &amp;attr_key, Optional&lt; TObjectRef &gt; default_value=Optional&lt; TObjectRef &gt;(nullptr)) const</div><div class="ttdoc">Get a function attribute. </div><div class="ttdef"><b>Definition:</b> attrs.h:259</ [...]
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1RuntimeNode_html_a00b4e3bb7a649c7cb730382a8c374ead"><div class="ttname"><a href="classtvm_1_1relay_1_1RuntimeNode.html#a00b4e3bb7a649c7cb730382a8c374ead">tvm::relay::RuntimeNode::GetAttr</a></div><div class="ttdeci">Optional&lt; TObjectRef &gt; GetAttr(const std::string &amp;attr_key, TObjectRef default_value) const</div><div class="ttdef"><b>Definition:</b> runtime.h:95</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1RuntimeNode_html"><div class="ttname"><a href="classtvm_1_1relay_1_1RuntimeNode.html">tvm::relay::RuntimeNode</a></div><div class="ttdoc">Runtime information. </div><div class="ttdef"><b>Definition:</b> runtime.h:61</div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1Runtime_html"><div class="ttname"><a href="classtvm_1_1relay_1_1Runtime.html">tvm::relay::Runtime</a></div><div class="ttdoc">Managed reference class to RuntimeNode. </div><div class="ttdef"><b>Definition:</b> runtime.h:123</div></div>
 <div class="ttc" id="classtvm_1_1relay_1_1RuntimeNode_html_ace889f181726344ed0568f06950fa0e4"><div class="ttname"><a href="classtvm_1_1relay_1_1RuntimeNode.html#ace889f181726344ed0568f06950fa0e4">tvm::relay::RuntimeNode::_type_has_method_sequal_reduce</a></div><div class="ttdeci">static constexpr const bool _type_has_method_sequal_reduce</div><div class="ttdef"><b>Definition:</b> runtime.h:114</div></div>
diff --git a/docs/reference/api/doxygen/schedule__rule_8h_source.html b/docs/reference/api/doxygen/schedule__rule_8h_source.html
index 4ecb0a3fb..3c50316b0 100644
--- a/docs/reference/api/doxygen/schedule__rule_8h_source.html
+++ b/docs/reference/api/doxygen/schedule__rule_8h_source.html
@@ -87,7 +87,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1PyScheduleRuleNode_html"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1PyScheduleRuleNode.html">tvm::meta_schedule::PyScheduleRuleNode</a></div><div class="ttdoc">The schedule rule with customized methods on the python-side. </div><div class="ttdef"><b>Definition:</b> schedule_rule.h:67</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1ScheduleRule_html"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1ScheduleRule.html">tvm::meta_schedule::ScheduleRule</a></div><div class="ttdoc">Managed reference to ScheduleRuleNode. </div><div class="ttdef"><b>Definition:</b> schedule_rule.h:112</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc&lt; void(const TuneContext &amp;)&gt;</a></div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
 <div class="ttc" id="tir_2schedule_2schedule_8h_html"><div class="ttname"><a href="tir_2schedule_2schedule_8h.html">schedule.h</a></div></div>
diff --git a/docs/reference/api/doxygen/search/all_10.js b/docs/reference/api/doxygen/search/all_10.js
index 601052d02..d5def0c60 100644
--- a/docs/reference/api/doxygen/search/all_10.js
+++ b/docs/reference/api/doxygen/search/all_10.js
@@ -2,7 +2,7 @@ var searchData=
 [
   ['objallocatorbase',['ObjAllocatorBase',['../classtvm_1_1runtime_1_1ObjAllocatorBase.html',1,'tvm::runtime::ObjAllocatorBase&lt; Derived &gt;'],['../classtvm_1_1runtime_1_1Object.html#a8fae619f3bd1a2b2f7273d8d6525032a',1,'tvm::runtime::Object::ObjAllocatorBase()'],['../classtvm_1_1runtime_1_1ObjectPtr.html#a8fae619f3bd1a2b2f7273d8d6525032a',1,'tvm::runtime::ObjectPtr::ObjAllocatorBase()']]],
   ['objallocatorbase_3c_20simpleobjallocator_20_3e',['ObjAllocatorBase&lt; SimpleObjAllocator &gt;',['../classtvm_1_1runtime_1_1ObjAllocatorBase.html',1,'tvm::runtime']]],
-  ['object',['Object',['../classtvm_1_1runtime_1_1Object.html',1,'tvm::runtime::Object'],['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#a0ac4dada6519d071a819cc897cb15cf1',1,'tvm::runtime::vm::Instruction::object()'],['../classtvm_1_1runtime_1_1ObjectPtr.html#a0720b5f434e636e22a3ed34f847eec57',1,'tvm::runtime::ObjectPtr::Object()'],['../classtvm_1_1runtime_1_1Object.html#a133436a9ec5c4a768b94102bf95a660b',1,'tvm::runtime::Object::Object()'],['../classtvm_1_1runtime_1_1Object.html#ab7 [...]
+  ['object',['Object',['../classtvm_1_1runtime_1_1Object.html',1,'tvm::runtime::Object'],['../classtvm_1_1runtime_1_1ObjectPtr.html#a0720b5f434e636e22a3ed34f847eec57',1,'tvm::runtime::ObjectPtr::Object()'],['../classtvm_1_1runtime_1_1Object.html#a133436a9ec5c4a768b94102bf95a660b',1,'tvm::runtime::Object::Object()'],['../classtvm_1_1runtime_1_1Object.html#ab7968feb6ad38ecaffc320e13819d826',1,'tvm::runtime::Object::Object(const Object &amp;other)'],['../classtvm_1_1runtime_1_1Object.html#a [...]
   ['object_2eh',['object.h',['../object_8h.html',1,'']]],
   ['objectequal',['ObjectEqual',['../structtvm_1_1runtime_1_1ObjectEqual.html',1,'tvm::runtime']]],
   ['objecthash',['ObjectHash',['../structtvm_1_1runtime_1_1ObjectHash.html',1,'tvm::runtime']]],
@@ -146,6 +146,5 @@ var searchData=
   ['output_5fplaceholders',['output_placeholders',['../classtvm_1_1te_1_1ExternOpNode.html#a004d2ec4a439339a2067e4fe7b93dac8',1,'tvm::te::ExternOpNode']]],
   ['output_5fshape',['output_shape',['../structtvm_1_1relay_1_1SparseToDenseAttrs.html#a96725ff7c8a481e81a2fd0ad163b4ecf',1,'tvm::relay::SparseToDenseAttrs::output_shape()'],['../classtvm_1_1te_1_1OperationNode.html#a7c4fc476de1543ea65c83e02631bfd09',1,'tvm::te::OperationNode::output_shape()'],['../classtvm_1_1te_1_1PlaceholderOpNode.html#a22624cba74f79b3fa5a6ac2a4b986c79',1,'tvm::te::PlaceholderOpNode::output_shape()'],['../classtvm_1_1te_1_1BaseComputeOpNode.html#acdd22cc7c737d4dc8b6bf [...]
   ['output_5fsize',['output_size',['../structtvm_1_1relay_1_1AdaptivePool1DAttrs.html#a18b0e1c79c534fec9eabb0656a395c9e',1,'tvm::relay::AdaptivePool1DAttrs::output_size()'],['../structtvm_1_1relay_1_1AdaptivePool2DAttrs.html#a545f40ec0dbdf52f628bebcc23a63950',1,'tvm::relay::AdaptivePool2DAttrs::output_size()'],['../structtvm_1_1relay_1_1AdaptivePool3DAttrs.html#a0c56cb9665840dcc8e949c41d39c710d',1,'tvm::relay::AdaptivePool3DAttrs::output_size()'],['../structtvm_1_1runtime_1_1vm_1_1Instru [...]
-  ['outputs',['outputs',['../structTVMMetadata.html#ae98ddb5d3a598ab923d8cadc66d38632',1,'TVMMetadata::outputs()'],['../classtvm_1_1te_1_1HybridOpNode.html#a6ff8e6faa8d01063e32a2c124721df29',1,'tvm::te::HybridOpNode::outputs()'],['../classtvm_1_1te_1_1ScheduleNode.html#a27b0f687f7b20fcc6416a49e041712d8',1,'tvm::te::ScheduleNode::outputs()'],['../classtvm_1_1tir_1_1InstructionNode.html#a745f994b096890961ed67b17f2040bba',1,'tvm::tir::InstructionNode::outputs()'],['../classtvm_1_1runtime_1_ [...]
-  ['stringref',['StringRef',['../classtvm_1_1runtime_1_1String.html#ae65abd5c71692ba11be665d586bcf389',1,'tvm::runtime::String']]]
+  ['outputs',['outputs',['../structTVMMetadata.html#ae98ddb5d3a598ab923d8cadc66d38632',1,'TVMMetadata::outputs()'],['../classtvm_1_1te_1_1HybridOpNode.html#a6ff8e6faa8d01063e32a2c124721df29',1,'tvm::te::HybridOpNode::outputs()'],['../classtvm_1_1te_1_1ScheduleNode.html#a27b0f687f7b20fcc6416a49e041712d8',1,'tvm::te::ScheduleNode::outputs()'],['../classtvm_1_1tir_1_1InstructionNode.html#a745f994b096890961ed67b17f2040bba',1,'tvm::tir::InstructionNode::outputs()'],['../classtvm_1_1runtime_1_ [...]
 ];
diff --git a/docs/reference/api/doxygen/search/all_11.js b/docs/reference/api/doxygen/search/all_11.js
index c05496542..e91c994e2 100644
--- a/docs/reference/api/doxygen/search/all_11.js
+++ b/docs/reference/api/doxygen/search/all_11.js
@@ -34,7 +34,7 @@ var searchData=
   ['page_5fallocator_2eh',['page_allocator.h',['../page__allocator_8h.html',1,'']]],
   ['pagememorymanagercreate',['PageMemoryManagerCreate',['../page__allocator_8h.html#a720dbc7474ac13b93fafb974cfc20bc7',1,'page_allocator.h']]],
   ['papi_2eh',['papi.h',['../papi_8h.html',1,'']]],
-  ['parallel',['Parallel',['../classtvm_1_1tir_1_1ScheduleNode.html#a553dc17c0b49b175cd16881c81b6c789',1,'tvm::tir::ScheduleNode::Parallel()'],['../classtvm_1_1auto__scheduler_1_1State.html#a2376f0180bc5b5dd4b456f2a75d4a366',1,'tvm::auto_scheduler::State::parallel()'],['../classtvm_1_1te_1_1Stage.html#a60a6be10a1a96cb594c1399efabafef3',1,'tvm::te::Stage::parallel()']]],
+  ['parallel',['parallel',['../classtvm_1_1auto__scheduler_1_1State.html#a2376f0180bc5b5dd4b456f2a75d4a366',1,'tvm::auto_scheduler::State::parallel()'],['../classtvm_1_1te_1_1Stage.html#a60a6be10a1a96cb594c1399efabafef3',1,'tvm::te::Stage::parallel()'],['../classtvm_1_1tir_1_1ScheduleNode.html#a553dc17c0b49b175cd16881c81b6c789',1,'tvm::tir::ScheduleNode::Parallel()']]],
   ['parallel_5ffor',['parallel_for',['../namespacetvm_1_1support.html#a8bf1225e8bb1db575578ca2d645fb23c',1,'tvm::support']]],
   ['parallel_5ffor_2eh',['parallel_for.h',['../parallel__for_8h.html',1,'']]],
   ['parallel_5ffor_5fdynamic',['parallel_for_dynamic',['../namespacetvm_1_1support.html#afe4271363c794f1644ce7af5c2266530',1,'tvm::support']]],
diff --git a/docs/reference/api/doxygen/search/all_13.js b/docs/reference/api/doxygen/search/all_13.js
index 45eff19c2..e37647c99 100644
--- a/docs/reference/api/doxygen/search/all_13.js
+++ b/docs/reference/api/doxygen/search/all_13.js
@@ -114,7 +114,7 @@ var searchData=
   ['rendererrors',['RenderErrors',['../classtvm_1_1ErrorReporter.html#a54699ec5f538bd207b5aa4e3f55181c6',1,'tvm::ErrorReporter']]],
   ['renewdefs',['RenewDefs',['../namespacetvm_1_1tir.html#a2e639c81d1c6875ead7764ab8a7cd553',1,'tvm::tir']]],
   ['renormalizesplitpattern',['RenormalizeSplitPattern',['../namespacetvm_1_1tir_1_1transform.html#a5c670c9efcd740f2f168b62e624c8c57',1,'tvm::tir::transform']]],
-  ['reorder',['Reorder',['../classtvm_1_1tir_1_1ScheduleNode.html#a059229fe0e254961da406807a97f7a3d',1,'tvm::tir::ScheduleNode::Reorder()'],['../classtvm_1_1auto__scheduler_1_1State.html#a16e95966b46977eff629a5f4f1564533',1,'tvm::auto_scheduler::State::reorder()'],['../classtvm_1_1te_1_1Stage.html#ad96cd240a92df9cafae89cdf2a7e302e',1,'tvm::te::Stage::reorder()']]],
+  ['reorder',['reorder',['../classtvm_1_1auto__scheduler_1_1State.html#a16e95966b46977eff629a5f4f1564533',1,'tvm::auto_scheduler::State::reorder()'],['../classtvm_1_1te_1_1Stage.html#ad96cd240a92df9cafae89cdf2a7e302e',1,'tvm::te::Stage::reorder()'],['../classtvm_1_1tir_1_1ScheduleNode.html#a059229fe0e254961da406807a97f7a3d',1,'tvm::tir::ScheduleNode::Reorder()']]],
   ['reorderstep',['ReorderStep',['../classtvm_1_1auto__scheduler_1_1ReorderStep.html',1,'tvm::auto_scheduler::ReorderStep'],['../classtvm_1_1auto__scheduler_1_1ReorderStep.html#a83b9dab5f38d5a4d42c6424ba437bc10',1,'tvm::auto_scheduler::ReorderStep::ReorderStep(int stage_id, const Array&lt; Integer &gt; &amp;after_ids)'],['../classtvm_1_1auto__scheduler_1_1ReorderStep.html#a9586534afef3e0f57ab31e8374e70792',1,'tvm::auto_scheduler::ReorderStep::ReorderStep(dmlc::JSONReader *reader)']]],
   ['reorderstepnode',['ReorderStepNode',['../classtvm_1_1auto__scheduler_1_1ReorderStepNode.html',1,'tvm::auto_scheduler']]],
   ['reorg',['reorg',['../namespacetvm_1_1topi_1_1vision.html#a1014df582489005202c4218e51792314',1,'tvm::topi::vision']]],
@@ -152,7 +152,7 @@ var searchData=
   ['resize2dattrs',['Resize2DAttrs',['../structtvm_1_1relay_1_1Resize2DAttrs.html',1,'tvm::relay']]],
   ['resize3dattrs',['Resize3DAttrs',['../structtvm_1_1relay_1_1Resize3DAttrs.html',1,'tvm::relay']]],
   ['resolvedependency',['ResolveDependency',['../classtvm_1_1transform_1_1SequentialNode.html#a5549edf77e0a64bd6fcb692603967b8e',1,'tvm::transform::SequentialNode']]],
-  ['result',['result',['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#ae0d33229af059c727db2abd3616660e0',1,'tvm::runtime::vm::Instruction::result()'],['../classtvm_1_1tir_1_1CommReducerNode.html#a7030917568a088215da423fc56882814',1,'tvm::tir::CommReducerNode::result()'],['../classtvm_1_1meta__schedule_1_1RunnerFutureNode.html#a1b5438c21c436ce7a864487583fd32b2',1,'tvm::meta_schedule::RunnerFutureNode::Result()']]],
+  ['result',['Result',['../classtvm_1_1meta__schedule_1_1RunnerFutureNode.html#a1b5438c21c436ce7a864487583fd32b2',1,'tvm::meta_schedule::RunnerFutureNode::Result()'],['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#ae0d33229af059c727db2abd3616660e0',1,'tvm::runtime::vm::Instruction::result()'],['../classtvm_1_1tir_1_1CommReducerNode.html#a7030917568a088215da423fc56882814',1,'tvm::tir::CommReducerNode::result()']]],
   ['result_5f',['result_',['../classtvm_1_1detail_1_1AttrsSEqualVisitor.html#aeda3a91f0b2d1a7a9a075828954ff77f',1,'tvm::detail::AttrsSEqualVisitor']]],
   ['result_5ftype',['result_type',['../classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#a24d4a3522ee6c4cdeed80dcdcc1424ad',1,'tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;::result_type()'],['../classtvm_1_1NodeFunctor_3_01R_07const_01ObjectRef_01_6n_00_01Args_8_8_8_08_4.html#ac7f687cb7dda02407b578a6683fa708a',1,'tvm::NodeFunctor&lt; R(const ObjectRef &amp;n, Args...)&gt;::result_type()'],['../classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n [...]
   ['resulttype',['ResultType',['../structtvm_1_1runtime_1_1Array_1_1ValueConverter.html#a0db77cfd8032391d76dffc88eae8e09b',1,'tvm::runtime::Array::ValueConverter']]],
diff --git a/docs/reference/api/doxygen/search/all_14.js b/docs/reference/api/doxygen/search/all_14.js
index 88ea09bd0..5b1531574 100644
--- a/docs/reference/api/doxygen/search/all_14.js
+++ b/docs/reference/api/doxygen/search/all_14.js
@@ -213,7 +213,7 @@ var searchData=
   ['singleton',['Singleton',['../classtvm_1_1te_1_1Singleton.html',1,'tvm::te::Singleton'],['../classtvm_1_1te_1_1Singleton.html#a94450b853dcd5e9865546d8c8fe351a1',1,'tvm::te::Singleton::Singleton()']]],
   ['singletonnode',['SingletonNode',['../classtvm_1_1te_1_1SingletonNode.html',1,'tvm::te']]],
   ['sinh',['sinh',['../namespacetvm.html#ad828bc801c73df761c58d9f8877d52ee',1,'tvm::sinh()'],['../namespacetvm_1_1topi.html#af9694f5470ba2cabc19866be3b00fe8d',1,'tvm::topi::sinh()']]],
-  ['size',['size',['../structtvm_1_1relay_1_1Resize1DAttrs.html#afb1175c0ff019e485ed65d98305b5f62',1,'tvm::relay::Resize1DAttrs::size()'],['../structtvm_1_1relay_1_1Resize2DAttrs.html#ab3e26dbbc2dc1da40764832a99459c30',1,'tvm::relay::Resize2DAttrs::size()'],['../structtvm_1_1relay_1_1Resize3DAttrs.html#aab61649fe8417a8a7fbc849090bac083',1,'tvm::relay::Resize3DAttrs::size()'],['../structtvm_1_1relay_1_1LRNAttrs.html#a3758ed1f8a8bcf73008ae1dd2bfa148e',1,'tvm::relay::LRNAttrs::size()'],['.. [...]
+  ['size',['Size',['../classtvm_1_1TensorTypeNode.html#a1f08dac86ae8aea81d058ef64cfd38b4',1,'tvm::TensorTypeNode::Size()'],['../classtvm_1_1meta__schedule_1_1DatabaseNode.html#aae5b9ab9f7e497654b90c23a2159a5cc',1,'tvm::meta_schedule::DatabaseNode::Size()'],['../classtvm_1_1meta__schedule_1_1PyDatabaseNode.html#a36817d04978253571fef7d01427ce9c0',1,'tvm::meta_schedule::PyDatabaseNode::Size()'],['../classtvm_1_1runtime_1_1micro__rpc_1_1FrameBuffer.html#ae395a0f1c6e79e825aa7a244c74a5d7b',1,' [...]
   ['size_5f',['size_',['../classtvm_1_1runtime_1_1MapNode.html#a2285f106f6afa29f512a7818ad59e9e5',1,'tvm::runtime::MapNode']]],
   ['size_5fbytes',['size_bytes',['../structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a0a5d4bd6072c268df05b90d267b4c0a0',1,'tvm::tir::usmp::BufferInfoNode']]],
   ['size_5fhint_5fbytes',['size_hint_bytes',['../structtvm_1_1PoolInfoNode.html#ac073aeb75bf031ff8687e132bc112f92',1,'tvm::PoolInfoNode']]],
@@ -239,7 +239,7 @@ var searchData=
   ['solvelinearequations',['SolveLinearEquations',['../namespacetvm_1_1arith.html#ae0290f04432523ab8e5f76edde80071a',1,'tvm::arith']]],
   ['solvelinearinequalities',['SolveLinearInequalities',['../namespacetvm_1_1arith.html#ac59d63560e04431f108e81457b212fdc',1,'tvm::arith']]],
   ['sorted',['sorted',['../structtvm_1_1relay_1_1UniqueAttrs.html#aef434799646533ec9d796393ba01db44',1,'tvm::relay::UniqueAttrs']]],
-  ['source',['Source',['../classtvm_1_1parser_1_1Source.html',1,'tvm::parser::Source'],['../classtvm_1_1arith_1_1IterMarkNode.html#a8b885a675c88e5a5d142fa68bcba048a',1,'tvm::arith::IterMarkNode::source()'],['../classtvm_1_1arith_1_1IterSplitExprNode.html#a7a129dc9b432359a07c1a1e286c3c66f',1,'tvm::arith::IterSplitExprNode::source()'],['../classtvm_1_1parser_1_1SourceNode.html#a51cc3c98e4cdacf0ffdc643c848e09af',1,'tvm::parser::SourceNode::source()'],['../classtvm_1_1tir_1_1ReduceNode.html# [...]
+  ['source',['Source',['../classtvm_1_1parser_1_1Source.html',1,'tvm::parser::Source'],['../classtvm_1_1parser_1_1Source.html#a0ef9f726abcc6c4c9e81b3a257055df8',1,'tvm::parser::Source::Source()'],['../classtvm_1_1arith_1_1IterMarkNode.html#a8b885a675c88e5a5d142fa68bcba048a',1,'tvm::arith::IterMarkNode::source()'],['../classtvm_1_1arith_1_1IterSplitExprNode.html#a7a129dc9b432359a07c1a1e286c3c66f',1,'tvm::arith::IterSplitExprNode::source()'],['../classtvm_1_1parser_1_1SourceNode.html#a51cc [...]
   ['source_5fmap',['source_map',['../classtvm_1_1IRModuleNode.html#a49470c0bfb4b85d9eda7576a837b7031',1,'tvm::IRModuleNode::source_map()'],['../classtvm_1_1parser_1_1SourceMapNode.html#ae22bc1181b066f17f8938868ef22610a',1,'tvm::parser::SourceMapNode::source_map()']]],
   ['source_5fmap_2eh',['source_map.h',['../source__map_8h.html',1,'']]],
   ['source_5fname',['source_name',['../classtvm_1_1DiagnosticBuilder.html#a92d320e1ede24fe5ff47862365002691',1,'tvm::DiagnosticBuilder::source_name()'],['../classtvm_1_1SpanNode.html#ad573167f93facbfbee19983b08bbba3d',1,'tvm::SpanNode::source_name()'],['../classtvm_1_1parser_1_1SourceNode.html#a8d4c50a18eb3e99b14d73d7db2a52af3',1,'tvm::parser::SourceNode::source_name()']]],
@@ -255,7 +255,7 @@ var searchData=
   ['spacegeneratornode',['SpaceGeneratorNode',['../classtvm_1_1meta__schedule_1_1SpaceGeneratorNode.html',1,'tvm::meta_schedule']]],
   ['spacegeneratorunion',['SpaceGeneratorUnion',['../classtvm_1_1meta__schedule_1_1SpaceGenerator.html#aa13f2244870b18f3e9788d41a400636e',1,'tvm::meta_schedule::SpaceGenerator']]],
   ['spacetobatchndattrs',['SpaceToBatchNDAttrs',['../structtvm_1_1relay_1_1SpaceToBatchNDAttrs.html',1,'tvm::relay']]],
-  ['span',['Span',['../classtvm_1_1Span.html',1,'tvm::Span'],['../classtvm_1_1support_1_1Span.html',1,'tvm::support::Span&lt; T, W &gt;'],['../classtvm_1_1Span.html#a5216631b639e8c802263d87d3fe9e5f6',1,'tvm::Span::Span()'],['../classtvm_1_1support_1_1Span.html#a77653730a2542edf93b7c4413a72f3ec',1,'tvm::support::Span::Span(T *begin, int num_elements)'],['../classtvm_1_1support_1_1Span.html#a3c22dd06856e7029e7107adf38eb72f5',1,'tvm::support::Span::Span(T *begin, T *end)'],['../classtvm_1_1 [...]
+  ['span',['Span',['../classtvm_1_1Span.html',1,'tvm::Span'],['../classtvm_1_1support_1_1Span.html',1,'tvm::support::Span&lt; T, W &gt;'],['../classtvm_1_1AffineTypeNode.html#aa45c91e3c8ebcff609d10f6a921f3fa2',1,'tvm::AffineTypeNode::span()'],['../classtvm_1_1DiagnosticNode.html#af5469f228f87711ad8bd3f4f78f3bb54',1,'tvm::DiagnosticNode::span()'],['../classtvm_1_1DiagnosticBuilder.html#a52d9cc3cb33e655c5d82af47daa74c66',1,'tvm::DiagnosticBuilder::span()'],['../classtvm_1_1CompileError.htm [...]
   ['span_2eh',['span.h',['../ir_2span_8h.html',1,'(Global Namespace)'],['../support_2span_8h.html',1,'(Global Namespace)']]],
   ['spannode',['SpanNode',['../classtvm_1_1SpanNode.html',1,'tvm::SpanNode'],['../namespacetvm_1_1relay.html#a7d0fa6578e97d0d64b08865f94f04827',1,'tvm::relay::SpanNode()']]],
   ['sparse_5flhs',['sparse_lhs',['../structtvm_1_1relay_1_1SparseDenseAttrs.html#ae52d5465cb3421f342607abcc1cb1d5c',1,'tvm::relay::SparseDenseAttrs']]],
@@ -270,7 +270,7 @@ var searchData=
   ['specialize',['Specialize',['../namespacetvm_1_1tir.html#a69b6f1b0014dc6e7dd390cff746e9782',1,'tvm::tir']]],
   ['specializedcondition',['SpecializedCondition',['../classtvm_1_1te_1_1SpecializedCondition.html',1,'tvm::te::SpecializedCondition'],['../classtvm_1_1te_1_1SpecializedCondition.html#a48d119ee1c6033929a5592cfc2592e60',1,'tvm::te::SpecializedCondition::SpecializedCondition()']]],
   ['specializedconditionnode',['SpecializedConditionNode',['../classtvm_1_1te_1_1SpecializedConditionNode.html',1,'tvm::te']]],
-  ['split',['Split',['../classtvm_1_1te_1_1Split.html',1,'tvm::te::Split'],['../classtvm_1_1auto__scheduler_1_1State.html#a5815f21fc90ba7cc379c2410c05ab54c',1,'tvm::auto_scheduler::State::split()'],['../classtvm_1_1te_1_1Stage.html#a5a7cd562be59b68a187ad97085a3425d',1,'tvm::te::Stage::split()'],['../classtvm_1_1te_1_1Split.html#a328e0c093ce5b41ebaf33e0e80592764',1,'tvm::te::Split::Split()'],['../classtvm_1_1tir_1_1Layout.html#ad7657af7789fe040d3224c0149976bb4',1,'tvm::tir::Layout::Split( [...]
+  ['split',['Split',['../classtvm_1_1te_1_1Split.html',1,'tvm::te::Split'],['../classtvm_1_1te_1_1Split.html#a328e0c093ce5b41ebaf33e0e80592764',1,'tvm::te::Split::Split()'],['../classtvm_1_1tir_1_1Layout.html#ad7657af7789fe040d3224c0149976bb4',1,'tvm::tir::Layout::Split()'],['../classtvm_1_1tir_1_1ScheduleNode.html#ac190a0ab76d8754a35209479bcc6dfa2',1,'tvm::tir::ScheduleNode::Split()'],['../classtvm_1_1auto__scheduler_1_1State.html#a5815f21fc90ba7cc379c2410c05ab54c',1,'tvm::auto_schedule [...]
   ['split_5fby_5fnparts',['split_by_nparts',['../classtvm_1_1te_1_1Stage.html#a51432f38d9ec4792a2525023179ae604',1,'tvm::te::Stage']]],
   ['split_5fsections',['split_sections',['../namespacetvm_1_1topi.html#acc643e2ed166fa2ed82a95853e145619',1,'tvm::topi']]],
   ['splitargs',['SplitArgs',['../namespacetvm_1_1relay_1_1transform.html#a2425d757b896168a109498e8d34ba960',1,'tvm::relay::transform']]],
@@ -317,7 +317,7 @@ var searchData=
   ['startmessage',['StartMessage',['../classtvm_1_1runtime_1_1micro__rpc_1_1Session.html#acd512b977c6dd888f90c4fd6d2b9500f',1,'tvm::runtime::micro_rpc::Session']]],
   ['startpacket',['StartPacket',['../classtvm_1_1runtime_1_1micro__rpc_1_1Framer.html#ade10d3bd3a26e3b7af881ae134e9a998',1,'tvm::runtime::micro_rpc::Framer']]],
   ['startsession',['StartSession',['../classtvm_1_1runtime_1_1micro__rpc_1_1Session.html#a15d3f9ecb8b22bf2d330f6f0a16c5239',1,'tvm::runtime::micro_rpc::Session']]],
-  ['state',['State',['../classtvm_1_1auto__scheduler_1_1State.html',1,'tvm::auto_scheduler::State'],['../classtvm_1_1auto__scheduler_1_1State.html#a9e8198b1f51b42cfbbee4b9f42160749',1,'tvm::auto_scheduler::State::State()'],['../classtvm_1_1auto__scheduler_1_1MeasureInputNode.html#afb23aaf6133189687d2541ec6e1352f4',1,'tvm::auto_scheduler::MeasureInputNode::state()'],['../classtvm_1_1tir_1_1ScheduleNode.html#abb3612c2598fa2d3ee0e6e3fc3de8a26',1,'tvm::tir::ScheduleNode::state()']]],
+  ['state',['State',['../classtvm_1_1auto__scheduler_1_1State.html',1,'tvm::auto_scheduler::State'],['../classtvm_1_1auto__scheduler_1_1MeasureInputNode.html#afb23aaf6133189687d2541ec6e1352f4',1,'tvm::auto_scheduler::MeasureInputNode::state()'],['../classtvm_1_1tir_1_1ScheduleNode.html#abb3612c2598fa2d3ee0e6e3fc3de8a26',1,'tvm::tir::ScheduleNode::state()'],['../classtvm_1_1auto__scheduler_1_1State.html#a9e8198b1f51b42cfbbee4b9f42160749',1,'tvm::auto_scheduler::State::State()']]],
   ['state_2eh',['state.h',['../state_8h.html',1,'']]],
   ['state_5fplaceholder',['state_placeholder',['../classtvm_1_1te_1_1ScanOpNode.html#a69105f6a84dd4fb912a16bfaa68aebf6',1,'tvm::te::ScanOpNode']]],
   ['statenode',['StateNode',['../classtvm_1_1auto__scheduler_1_1StateNode.html',1,'tvm::auto_scheduler']]],
diff --git a/docs/reference/api/doxygen/search/all_15.js b/docs/reference/api/doxygen/search/all_15.js
index 18e1cfc63..6a81cb545 100644
--- a/docs/reference/api/doxygen/search/all_15.js
+++ b/docs/reference/api/doxygen/search/all_15.js
@@ -84,7 +84,7 @@ var searchData=
   ['tensorintrincall',['TensorIntrinCall',['../classtvm_1_1te_1_1TensorIntrinCall.html',1,'tvm::te::TensorIntrinCall'],['../classtvm_1_1te_1_1TensorIntrinCall.html#a91c10074ce6babeba78fe72a0aab4b52',1,'tvm::te::TensorIntrinCall::TensorIntrinCall()']]],
   ['tensorintrincallnode',['TensorIntrinCallNode',['../classtvm_1_1te_1_1TensorIntrinCallNode.html',1,'tvm::te']]],
   ['tensorintrinnode',['TensorIntrinNode',['../classtvm_1_1tir_1_1TensorIntrinNode.html',1,'tvm::tir::TensorIntrinNode'],['../classtvm_1_1te_1_1TensorIntrinNode.html',1,'tvm::te::TensorIntrinNode'],['../classtvm_1_1te_1_1TensorIntrinNode.html#ad59e7f2b881fc798a8c64fd3959f929c',1,'tvm::te::TensorIntrinNode::TensorIntrinNode()']]],
-  ['tensorize',['tensorize',['../classtvm_1_1te_1_1Stage.html#ab5fe485e1d730c36b096c060b8d2ef9d',1,'tvm::te::Stage::tensorize()'],['../classtvm_1_1tir_1_1ScheduleNode.html#ae3794a03b566e5b1721b44c564992975',1,'tvm::tir::ScheduleNode::Tensorize(const LoopRV &amp;loop_rv, const String &amp;intrin)=0'],['../classtvm_1_1tir_1_1ScheduleNode.html#aaca1621ab9c3db0ddd04ac57de79d37f',1,'tvm::tir::ScheduleNode::Tensorize(const BlockRV &amp;block_rv, const String &amp;intrin)=0']]],
+  ['tensorize',['Tensorize',['../classtvm_1_1tir_1_1ScheduleNode.html#ae3794a03b566e5b1721b44c564992975',1,'tvm::tir::ScheduleNode::Tensorize(const LoopRV &amp;loop_rv, const String &amp;intrin)=0'],['../classtvm_1_1tir_1_1ScheduleNode.html#aaca1621ab9c3db0ddd04ac57de79d37f',1,'tvm::tir::ScheduleNode::Tensorize(const BlockRV &amp;block_rv, const String &amp;intrin)=0'],['../classtvm_1_1te_1_1Stage.html#ab5fe485e1d730c36b096c060b8d2ef9d',1,'tvm::te::Stage::tensorize()']]],
   ['tensornode',['TensorNode',['../classtvm_1_1te_1_1TensorNode.html',1,'tvm::te::TensorNode'],['../classtvm_1_1te_1_1TensorNode.html#a153569448cb1bf9d2924d35639c3b8b8',1,'tvm::te::TensorNode::TensorNode()']]],
   ['tensors',['tensors',['../classtvm_1_1auto__scheduler_1_1ComputeDAGNode.html#afc71b9ecc0d6b82a5c2ab3250f01514b',1,'tvm::auto_scheduler::ComputeDAGNode::tensors()'],['../classtvm_1_1te_1_1TensorIntrinCallNode.html#a92b543750ea55b9cfd6852139e2ddbd6',1,'tvm::te::TensorIntrinCallNode::tensors()']]],
   ['tensortype',['TensorType',['../classtvm_1_1TensorType.html',1,'tvm::TensorType'],['../classtvm_1_1TensorType.html#ade4460e9b02b42757a83808dec478b87',1,'tvm::TensorType::TensorType()'],['../namespacetvm_1_1relay.html#a52c13723bba53f4953dfd10c34d480f8',1,'tvm::relay::TensorType()']]],
@@ -149,7 +149,7 @@ var searchData=
   ['touchtask',['TouchTask',['../classtvm_1_1meta__schedule_1_1TaskSchedulerNode.html#af6fa276674945d3432c129bdf9cea599',1,'tvm::meta_schedule::TaskSchedulerNode::TouchTask()'],['../classtvm_1_1meta__schedule_1_1PyTaskSchedulerNode.html#a7de09f81c8aceb580b43107f266e6b40',1,'tvm::meta_schedule::PyTaskSchedulerNode::TouchTask()']]],
   ['tovar',['ToVar',['../classtvm_1_1tir_1_1AnyNode.html#ae01ebbba2378afb6509a22de97f8fb30',1,'tvm::tir::AnyNode']]],
   ['tparent',['TParent',['../classtvm_1_1OpAttrMap.html#a316480ca7450209650fc1a62f7ce4a14',1,'tvm::OpAttrMap::TParent()'],['../classtvm_1_1TargetKindAttrMap.html#a37eb6bfb0d881cf897147b17ff7d3265',1,'tvm::TargetKindAttrMap::TParent()']]],
-  ['trace',['Trace',['../classtvm_1_1tir_1_1Trace.html',1,'tvm::tir::Trace'],['../classtvm_1_1tir_1_1Trace.html#a8e09abffd0b9b1afac7b832cf16c142d',1,'tvm::tir::Trace::Trace()'],['../classtvm_1_1tir_1_1Trace.html#af79bccf1bde25efea387bb1b82dacaa6',1,'tvm::tir::Trace::Trace(Array&lt; Instruction &gt; insts, Map&lt; Instruction, ObjectRef &gt; decisions)'],['../classtvm_1_1meta__schedule_1_1TuningRecordNode.html#a8cc2d64f796593a1a774eef259f17b29',1,'tvm::meta_schedule::TuningRecordNode::tra [...]
+  ['trace',['Trace',['../classtvm_1_1tir_1_1Trace.html',1,'tvm::tir::Trace'],['../classtvm_1_1meta__schedule_1_1TuningRecordNode.html#a8cc2d64f796593a1a774eef259f17b29',1,'tvm::meta_schedule::TuningRecordNode::trace()'],['../classtvm_1_1tir_1_1ScheduleNode.html#a953bca4123b5a758adfdcd65634a5f3b',1,'tvm::tir::ScheduleNode::trace()'],['../classtvm_1_1tir_1_1Trace.html#a8e09abffd0b9b1afac7b832cf16c142d',1,'tvm::tir::Trace::Trace()'],['../classtvm_1_1tir_1_1Trace.html#af79bccf1bde25efea387bb [...]
   ['trace_2eh',['trace.h',['../trace_8h.html',1,'']]],
   ['traced',['Traced',['../classtvm_1_1tir_1_1Schedule.html#a295d432b86621101f67b20fadb367b91',1,'tvm::tir::Schedule']]],
   ['tracenode',['TraceNode',['../classtvm_1_1tir_1_1TraceNode.html',1,'tvm::tir']]],
diff --git a/docs/reference/api/doxygen/search/all_16.js b/docs/reference/api/doxygen/search/all_16.js
index 583e2ecde..375a999ac 100644
--- a/docs/reference/api/doxygen/search/all_16.js
+++ b/docs/reference/api/doxygen/search/all_16.js
@@ -15,15 +15,15 @@ var searchData=
   ['unionregion',['UnionRegion',['../namespacetvm_1_1arith.html#ad27c4f216e41eb8e81296fb7ec4b9453',1,'tvm::arith']]],
   ['unionregionlowerbound',['UnionRegionLowerBound',['../namespacetvm_1_1arith.html#a4c3dedfa4cba4ad39c953eb51eb83e4d',1,'tvm::arith']]],
   ['unipolar',['unipolar',['../structtvm_1_1relay_1_1BinaryConv2DAttrs.html#a7e0ad68dce226079b769a678aa01dc49',1,'tvm::relay::BinaryConv2DAttrs::unipolar()'],['../structtvm_1_1relay_1_1BinaryDenseAttrs.html#af21cdb9dac67ab9ecea5a19642658d8a',1,'tvm::relay::BinaryDenseAttrs::unipolar()']]],
-  ['unique',['Unique',['../classtvm_1_1VirtualDeviceCache.html#a25ba1351484aa58a2cc7cef8f8e4423c',1,'tvm::VirtualDeviceCache::Unique()'],['../classtvm_1_1runtime_1_1Object.html#afd548730a6139d19fe24473ad66026d7',1,'tvm::runtime::Object::unique()'],['../classtvm_1_1runtime_1_1ObjectPtr.html#af95c6c6fcd89da0f62b93f1167b72314',1,'tvm::runtime::ObjectPtr::unique()'],['../classtvm_1_1runtime_1_1ObjectRef.html#a4e7cdb1574b93a59e784d70aa47b8da7',1,'tvm::runtime::ObjectRef::unique()']]],
+  ['unique',['unique',['../classtvm_1_1runtime_1_1Object.html#afd548730a6139d19fe24473ad66026d7',1,'tvm::runtime::Object::unique()'],['../classtvm_1_1runtime_1_1ObjectPtr.html#af95c6c6fcd89da0f62b93f1167b72314',1,'tvm::runtime::ObjectPtr::unique()'],['../classtvm_1_1runtime_1_1ObjectRef.html#a4e7cdb1574b93a59e784d70aa47b8da7',1,'tvm::runtime::ObjectRef::unique()'],['../classtvm_1_1VirtualDeviceCache.html#a25ba1351484aa58a2cc7cef8f8e4423c',1,'tvm::VirtualDeviceCache::Unique()']]],
   ['uniqueattrs',['UniqueAttrs',['../structtvm_1_1relay_1_1UniqueAttrs.html',1,'tvm::relay']]],
   ['unit_5fbits',['unit_bits',['../classtvm_1_1MemoryInfoNode.html#aa935f1ee9d8d2f06633ca4b3c44f7725',1,'tvm::MemoryInfoNode']]],
   ['units',['units',['../structtvm_1_1relay_1_1BinaryDenseAttrs.html#a5373b2f2aac19653ae21aec74c69cdb0',1,'tvm::relay::BinaryDenseAttrs::units()'],['../structtvm_1_1relay_1_1MatmulAttrs.html#a5893df9ad99c6717c4e6cb440d60c6a1',1,'tvm::relay::MatmulAttrs::units()'],['../structtvm_1_1relay_1_1DenseAttrs.html#a497487f7ccced8c7492a5ed03f78fa8f',1,'tvm::relay::DenseAttrs::units()'],['../structtvm_1_1relay_1_1DensePackAttrs.html#aa0096c26c832166de13881a032ba3fbf',1,'tvm::relay::DensePackAttrs:: [...]
   ['unmatchedcases',['UnmatchedCases',['../namespacetvm_1_1relay.html#aa3a8cace40f8056fd6412f39c3eaa605',1,'tvm::relay']]],
   ['unravel_5findex',['unravel_index',['../namespacetvm_1_1topi.html#a8811a02532bbe3047986bf1a8449ac0e',1,'tvm::topi']]],
-  ['unroll',['unroll',['../classtvm_1_1auto__scheduler_1_1State.html#aa68a9d2e226bae38a36e4be4af1d1ae4',1,'tvm::auto_scheduler::State::unroll()'],['../classtvm_1_1te_1_1Stage.html#af83ad8672660403504f472228b044b33',1,'tvm::te::Stage::unroll()'],['../classtvm_1_1tir_1_1ScheduleNode.html#a84ec742f6295f59390592a6d0d90a552',1,'tvm::tir::ScheduleNode::Unroll()']]],
+  ['unroll',['Unroll',['../classtvm_1_1tir_1_1ScheduleNode.html#a84ec742f6295f59390592a6d0d90a552',1,'tvm::tir::ScheduleNode::Unroll()'],['../classtvm_1_1auto__scheduler_1_1State.html#aa68a9d2e226bae38a36e4be4af1d1ae4',1,'tvm::auto_scheduler::State::unroll()'],['../classtvm_1_1te_1_1Stage.html#af83ad8672660403504f472228b044b33',1,'tvm::te::Stage::unroll()']]],
   ['unrollloop',['UnrollLoop',['../namespacetvm_1_1tir_1_1transform.html#ab2f279e91071fa96a1edb24fa004ea6a',1,'tvm::tir::transform']]],
-  ['update',['update',['../classtvm_1_1te_1_1ScanOpNode.html#ace2bf7e43cd4197324ec6363626fc60a',1,'tvm::te::ScanOpNode::update()'],['../classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a5ae0699196c4bbc754bbdd4c3a6c7ca7',1,'tvm::arith::ConstIntBoundAnalyzer::Update()'],['../classtvm_1_1arith_1_1ModularSetAnalyzer.html#a04156fac580981f3005af3b8e676720d',1,'tvm::arith::ModularSetAnalyzer::Update()'],['../classtvm_1_1arith_1_1RewriteSimplifier.html#a5e6752c0702dc2d3e4235797d9d3ac7b',1,'tvm::a [...]
+  ['update',['Update',['../classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a5ae0699196c4bbc754bbdd4c3a6c7ca7',1,'tvm::arith::ConstIntBoundAnalyzer::Update()'],['../classtvm_1_1arith_1_1ModularSetAnalyzer.html#a04156fac580981f3005af3b8e676720d',1,'tvm::arith::ModularSetAnalyzer::Update()'],['../classtvm_1_1arith_1_1RewriteSimplifier.html#a5e6752c0702dc2d3e4235797d9d3ac7b',1,'tvm::arith::RewriteSimplifier::Update()'],['../classtvm_1_1arith_1_1CanonicalSimplifier.html#a790c032e12c7d93e9e940 [...]
   ['update_5ffunc',['update_func',['../classtvm_1_1auto__scheduler_1_1PythonBasedModelNode.html#ade9364c152a36501d4f24fa4f0111519',1,'tvm::auto_scheduler::PythonBasedModelNode']]],
   ['updatecostmodel',['UpdateCostModel',['../classtvm_1_1meta__schedule_1_1MeasureCallback.html#afdf5503c6e6f53767de132d91a7b53f9',1,'tvm::meta_schedule::MeasureCallback']]],
   ['updateiters',['UpdateIters',['../classtvm_1_1auto__scheduler_1_1AttachMap.html#ab45b991ef2bcfb1bc191601aac42e778',1,'tvm::auto_scheduler::AttachMap']]],
diff --git a/docs/reference/api/doxygen/search/all_17.js b/docs/reference/api/doxygen/search/all_17.js
index 6ab3c09aa..5f7710044 100644
--- a/docs/reference/api/doxygen/search/all_17.js
+++ b/docs/reference/api/doxygen/search/all_17.js
@@ -18,7 +18,7 @@ var searchData=
   ['values',['values',['../structTVMArgs.html#ab2d2a8c794bc11fdb56b294e711ff63c',1,'TVMArgs::values()'],['../classtvm_1_1runtime_1_1TVMArgs.html#a3b99059e2f1ad08c99b42b5bee82752f',1,'tvm::runtime::TVMArgs::values()']]],
   ['values_5fcount',['values_count',['../structTVMArgs.html#afa042427dc87d770d0def130f497f3f5',1,'TVMArgs']]],
   ['valuetypeinfomaker',['ValueTypeInfoMaker',['../structtvm_1_1detail_1_1ValueTypeInfoMaker.html',1,'tvm::detail']]],
-  ['var',['Var',['../classtvm_1_1relay_1_1Var.html',1,'tvm::relay::Var'],['../classtvm_1_1tir_1_1Var.html',1,'tvm::tir::Var'],['../classtvm_1_1relay_1_1Var.html#a06ef8ae1d07a5b8a3c25ca7775d17762',1,'tvm::relay::Var::Var(String name_hint, Type type_annotation, Span span=Span())'],['../classtvm_1_1relay_1_1Var.html#a45372a62057ee9332a391e29845505ff',1,'tvm::relay::Var::Var(Id vid, Type type_annotation, Span span=Span())'],['../classtvm_1_1tir_1_1Var.html#a21ba7568a83bfc2a5896f9e0ff181129', [...]
+  ['var',['Var',['../classtvm_1_1relay_1_1Var.html',1,'tvm::relay::Var'],['../classtvm_1_1tir_1_1Var.html',1,'tvm::tir::Var'],['../classtvm_1_1relay_1_1PatternVarNode.html#acfa1269806fbf19e7badd424c19c64bf',1,'tvm::relay::PatternVarNode::var()'],['../classtvm_1_1relay_1_1LetPatternNode.html#aff0c6dec182a3173fe0cb601a5b74ed1',1,'tvm::relay::LetPatternNode::var()'],['../classtvm_1_1relay_1_1LetNode.html#a3a841faeeb71a7e59f99feffb182a7c1',1,'tvm::relay::LetNode::var()'],['../classtvm_1_1tir [...]
   ['var_2eh',['var.h',['../var_8h.html',1,'']]],
   ['variables',['variables',['../classtvm_1_1arith_1_1IntConstraintsNode.html#adecd62b78ba2a3fc57778088ff641cf6',1,'tvm::arith::IntConstraintsNode']]],
   ['varianceattrs',['VarianceAttrs',['../structtvm_1_1relay_1_1VarianceAttrs.html',1,'tvm::relay']]],
@@ -30,7 +30,7 @@ var searchData=
   ['vector_5funit_5fbytes',['vector_unit_bytes',['../classtvm_1_1auto__scheduler_1_1HardwareParamsNode.html#a6f2dd9161fdb3233417a9912c8854434',1,'tvm::auto_scheduler::HardwareParamsNode']]],
   ['vectorcombine',['vectorcombine',['../namespacetvm_1_1tir_1_1builtin.html#a30dff65bc2c142b57fae7f60e378ff43',1,'tvm::tir::builtin']]],
   ['vectorhigh',['vectorhigh',['../namespacetvm_1_1tir_1_1builtin.html#a45bf65ca7ca01d2016e0b609117d7e25',1,'tvm::tir::builtin']]],
-  ['vectorize',['vectorize',['../classtvm_1_1auto__scheduler_1_1State.html#a97b8a21210d63bea241dbab085d89b53',1,'tvm::auto_scheduler::State::vectorize()'],['../classtvm_1_1te_1_1Stage.html#a44d33e3920106e75dc7c68272f880812',1,'tvm::te::Stage::vectorize()'],['../classtvm_1_1tir_1_1ScheduleNode.html#ab4a8cd91959ceab22855ec338978bcee',1,'tvm::tir::ScheduleNode::Vectorize()']]],
+  ['vectorize',['Vectorize',['../classtvm_1_1tir_1_1ScheduleNode.html#ab4a8cd91959ceab22855ec338978bcee',1,'tvm::tir::ScheduleNode::Vectorize()'],['../classtvm_1_1auto__scheduler_1_1State.html#a97b8a21210d63bea241dbab085d89b53',1,'tvm::auto_scheduler::State::vectorize()'],['../classtvm_1_1te_1_1Stage.html#a44d33e3920106e75dc7c68272f880812',1,'tvm::te::Stage::vectorize()']]],
   ['vectorizeloop',['VectorizeLoop',['../namespacetvm_1_1tir_1_1transform.html#af3cecb50a8b8fc8021f6a87bc27587da',1,'tvm::tir::transform']]],
   ['vectorizer',['Vectorizer',['../classtvm_1_1tir_1_1BufferLoadNode.html#a842a72b9d02a9f8541b512478932fece',1,'tvm::tir::BufferLoadNode']]],
   ['vectorjacobianproduct',['VectorJacobianProduct',['../namespacetvm_1_1te.html#a547183f5a311af53ab598faba423fd64',1,'tvm::te']]],
diff --git a/docs/reference/api/doxygen/search/all_a.js b/docs/reference/api/doxygen/search/all_a.js
index 42e9d74cb..2a5579301 100644
--- a/docs/reference/api/doxygen/search/all_a.js
+++ b/docs/reference/api/doxygen/search/all_a.js
@@ -29,7 +29,7 @@ var searchData=
   ['implvisitattrs_3c_20t_2c_20true_20_3e',['ImplVisitAttrs&lt; T, true &gt;',['../structtvm_1_1detail_1_1ImplVisitAttrs_3_01T_00_01true_01_4.html',1,'tvm::detail']]],
   ['import',['Import',['../classtvm_1_1IRModuleNode.html#a5e21563666240e1deb1f92807d910268',1,'tvm::IRModuleNode::Import()'],['../classtvm_1_1runtime_1_1Module.html#afb5a6c9b0e0a541245958456ebe39260',1,'tvm::runtime::Module::Import()'],['../classtvm_1_1runtime_1_1ModuleNode.html#a79b98521b484d1c672b7ce2ae2aed2b5',1,'tvm::runtime::ModuleNode::Import()']]],
   ['importfromstd',['ImportFromStd',['../classtvm_1_1IRModuleNode.html#ad4267e40c959ea60f138b26d3276db88',1,'tvm::IRModuleNode']]],
-  ['imports',['Imports',['../classtvm_1_1IRModuleNode.html#a9326e9d54337b4425f9b12d5dc370cb6',1,'tvm::IRModuleNode::Imports()'],['../classtvm_1_1runtime_1_1ModuleNode.html#a12d5336240ba02a581bbb8a628a8cdb9',1,'tvm::runtime::ModuleNode::imports()']]],
+  ['imports',['imports',['../classtvm_1_1runtime_1_1ModuleNode.html#a12d5336240ba02a581bbb8a628a8cdb9',1,'tvm::runtime::ModuleNode::imports()'],['../classtvm_1_1IRModuleNode.html#a9326e9d54337b4425f9b12d5dc370cb6',1,'tvm::IRModuleNode::Imports()']]],
   ['imports_5f',['imports_',['../classtvm_1_1runtime_1_1ModuleNode.html#af05db5c6d76f9b4dbf0631815170c5a7',1,'tvm::runtime::ModuleNode']]],
   ['incompletetype',['IncompleteType',['../classtvm_1_1IncompleteType.html',1,'tvm::IncompleteType'],['../classtvm_1_1IncompleteType.html#ab43269e517f2e962ccb8f510c4f5fd3a',1,'tvm::IncompleteType::IncompleteType()'],['../namespacetvm_1_1relay.html#a34535a1f05224c26db569bc134de7647',1,'tvm::relay::IncompleteType()']]],
   ['incompletetypenode',['IncompleteTypeNode',['../classtvm_1_1IncompleteTypeNode.html',1,'tvm::IncompleteTypeNode'],['../namespacetvm_1_1relay.html#a517ebee34b82bdb80f74ffcdcf361940',1,'tvm::relay::IncompleteTypeNode()']]],
diff --git a/docs/reference/api/doxygen/search/all_d.js b/docs/reference/api/doxygen/search/all_d.js
index 3fbe927d7..06ff11538 100644
--- a/docs/reference/api/doxygen/search/all_d.js
+++ b/docs/reference/api/doxygen/search/all_d.js
@@ -59,7 +59,6 @@ var searchData=
   ['listtags',['ListTags',['../classtvm_1_1TargetTag.html#aa8feb41ab36d4f0c56b77acbea4d9dc9',1,'tvm::TargetTag']]],
   ['listtargetkindoptions',['ListTargetKindOptions',['../classtvm_1_1TargetKindRegEntry.html#adec99bfad0afa88a8bc4fa5566b6de70',1,'tvm::TargetKindRegEntry']]],
   ['listtargetkinds',['ListTargetKinds',['../classtvm_1_1TargetKindRegEntry.html#a94f787f1d83ecf0e01d62340772482aa',1,'tvm::TargetKindRegEntry']]],
-  ['llvm',['llvm',['../namespacellvm.html',1,'']]],
   ['load',['Load',['../classtvm_1_1tir_1_1Load.html',1,'tvm::tir::Load'],['../classtvm_1_1meta__schedule_1_1CostModelNode.html#af41795941e68bb03438d2fbf60c313e3',1,'tvm::meta_schedule::CostModelNode::Load()'],['../classtvm_1_1meta__schedule_1_1PyCostModelNode.html#a35a9f6840871956578a9cb5fd64c7ffd',1,'tvm::meta_schedule::PyCostModelNode::Load()'],['../classtvm_1_1runtime_1_1NDArray.html#ad78792a1e1feb160b0be4474a4c13a4c',1,'tvm::runtime::NDArray::Load()'],['../classtvm_1_1runtime_1_1vm_1 [...]
   ['load_5fconsti',['load_consti',['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#a35bf73ad3be6239d68b902eb8a46df35',1,'tvm::runtime::vm::Instruction']]],
   ['loadconst',['LoadConst',['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#a24eb319b975b2929aa80cf9a7d9bf661',1,'tvm::runtime::vm::Instruction::LoadConst()'],['../namespacetvm_1_1runtime_1_1vm.html#a8d8d95ce8d629c7213f2f595917870eca68b393c7b4c9e1672b7a1a05161390f7',1,'tvm::runtime::vm::LoadConst()']]],
diff --git a/docs/reference/api/doxygen/search/all_e.js b/docs/reference/api/doxygen/search/all_e.js
index 47b4f845d..10bd0f4fb 100644
--- a/docs/reference/api/doxygen/search/all_e.js
+++ b/docs/reference/api/doxygen/search/all_e.js
@@ -161,7 +161,7 @@ var searchData=
   ['microtvmruntimegetoutput',['MicroTVMRuntimeGetOutput',['../microtvm__runtime_8h.html#a76129be7b6de972791a3f9a1b312acfa',1,'microtvm_runtime.h']]],
   ['microtvmruntimerun',['MicroTVMRuntimeRun',['../microtvm__runtime_8h.html#ac43a544f675dd716e8c279c3e41f6e45',1,'microtvm_runtime.h']]],
   ['microtvmruntimesetinput',['MicroTVMRuntimeSetInput',['../microtvm__runtime_8h.html#aa593edc600f4356f2b560702aa01b113',1,'microtvm_runtime.h']]],
-  ['min',['Min',['../classtvm_1_1tir_1_1Min.html',1,'tvm::tir::Min'],['../classtvm_1_1RangeNode.html#a43d2fb12bb61cf05936a1972d0158b49',1,'tvm::RangeNode::min()'],['../classtvm_1_1tir_1_1ForNode.html#a1d1aa2006328bd84e4911f6d43ceca5c',1,'tvm::tir::ForNode::min()'],['../classtvm_1_1arith_1_1IntSet.html#ae5517de2862e93a801224eed98a57001',1,'tvm::arith::IntSet::min()'],['../classtvm_1_1support_1_1LinearCongruentialEngine.html#aec5f11b588fa3a12294a46c945c34411',1,'tvm::support::LinearCongrue [...]
+  ['min',['Min',['../classtvm_1_1tir_1_1Min.html',1,'tvm::tir::Min'],['../classtvm_1_1tir_1_1Min.html#a3a4403aec40029a5206e22cd334e356b',1,'tvm::tir::Min::Min()'],['../classtvm_1_1RangeNode.html#a43d2fb12bb61cf05936a1972d0158b49',1,'tvm::RangeNode::min()'],['../classtvm_1_1tir_1_1ForNode.html#a1d1aa2006328bd84e4911f6d43ceca5c',1,'tvm::tir::ForNode::min()'],['../classtvm_1_1arith_1_1IntSet.html#ae5517de2862e93a801224eed98a57001',1,'tvm::arith::IntSet::min()'],['../classtvm_1_1support_1_1L [...]
   ['min_5frepeat_5fms',['min_repeat_ms',['../classtvm_1_1auto__scheduler_1_1ProgramRunnerNode.html#a39a865216db9ed6f57dfb22160cae1ff',1,'tvm::auto_scheduler::ProgramRunnerNode']]],
   ['min_5fvalue',['min_value',['../classtvm_1_1arith_1_1ConstIntBoundNode.html#a0761897bf16ab73b848bf360e9b195a3',1,'tvm::arith::ConstIntBoundNode::min_value()'],['../namespacetvm.html#a3b37fa55ea93d6868751a2441996b072',1,'tvm::min_value()']]],
   ['minimum',['minimum',['../namespacetvm_1_1topi.html#a7ac1dc0d99ce93090a4cdf90ab19d4b8',1,'tvm::topi::minimum(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)'],['../namespacetvm_1_1topi.html#a0e19dc06a2b1ecbb83b0942fdf836169',1,'tvm::topi::minimum(const tvm::te::Tensor &amp;A, const tvm::te::Tensor &amp;B, std::string name=&quot;T_&quot; &quot;minimum&quot;, std::string tag=kBroadcast)'],['../namespacetvm_1_1topi.html#a28d4ef4b3426bff237215ce356dd5681',1,'tvm::topi::minimum(con [...]
diff --git a/docs/reference/api/doxygen/search/functions_10.js b/docs/reference/api/doxygen/search/functions_10.js
index c8121a682..cae85e213 100644
--- a/docs/reference/api/doxygen/search/functions_10.js
+++ b/docs/reference/api/doxygen/search/functions_10.js
@@ -9,7 +9,7 @@ var searchData=
   ['packimportstollvm',['PackImportsToLLVM',['../namespacetvm_1_1codegen.html#ab2cd2a65bac4b26427a8ca0abe4e0bd6',1,'tvm::codegen']]],
   ['pad',['pad',['../namespacetvm_1_1topi.html#a3305d377f96cd20c23032eeada2756d5',1,'tvm::topi::pad(const tvm::te::Tensor &amp;t, const tvm::Array&lt; tvm::PrimExpr &gt; &amp;pad_before, tvm::Array&lt; tvm::PrimExpr &gt; pad_after=tvm::Array&lt; tvm::PrimExpr &gt;(), PrimExpr pad_value=PrimExpr(), std::string name=&quot;T_pad&quot;, std::string tag=kElementWise, std::string pad_mode=&quot;constant&quot;, const Array&lt; PrimExpr &gt; *dyn_output_shape=nullptr)'],['../namespacetvm_1_1topi [...]
   ['pagememorymanagercreate',['PageMemoryManagerCreate',['../page__allocator_8h.html#a720dbc7474ac13b93fafb974cfc20bc7',1,'page_allocator.h']]],
-  ['parallel',['Parallel',['../classtvm_1_1tir_1_1ScheduleNode.html#a553dc17c0b49b175cd16881c81b6c789',1,'tvm::tir::ScheduleNode::Parallel()'],['../classtvm_1_1auto__scheduler_1_1State.html#a2376f0180bc5b5dd4b456f2a75d4a366',1,'tvm::auto_scheduler::State::parallel()'],['../classtvm_1_1te_1_1Stage.html#a60a6be10a1a96cb594c1399efabafef3',1,'tvm::te::Stage::parallel()']]],
+  ['parallel',['parallel',['../classtvm_1_1auto__scheduler_1_1State.html#a2376f0180bc5b5dd4b456f2a75d4a366',1,'tvm::auto_scheduler::State::parallel()'],['../classtvm_1_1te_1_1Stage.html#a60a6be10a1a96cb594c1399efabafef3',1,'tvm::te::Stage::parallel()'],['../classtvm_1_1tir_1_1ScheduleNode.html#a553dc17c0b49b175cd16881c81b6c789',1,'tvm::tir::ScheduleNode::Parallel()']]],
   ['parallel_5ffor',['parallel_for',['../namespacetvm_1_1support.html#a8bf1225e8bb1db575578ca2d645fb23c',1,'tvm::support']]],
   ['parallel_5ffor_5fdynamic',['parallel_for_dynamic',['../namespacetvm_1_1support.html#afe4271363c794f1644ce7af5c2266530',1,'tvm::support']]],
   ['parallelizevectorizeunroll',['ParallelizeVectorizeUnroll',['../classtvm_1_1meta__schedule_1_1ScheduleRule.html#a0ef9b604081db7a8bf960f3fbfd3a804',1,'tvm::meta_schedule::ScheduleRule']]],
diff --git a/docs/reference/api/doxygen/search/functions_12.js b/docs/reference/api/doxygen/search/functions_12.js
index d7224b5fa..106f86905 100644
--- a/docs/reference/api/doxygen/search/functions_12.js
+++ b/docs/reference/api/doxygen/search/functions_12.js
@@ -51,7 +51,7 @@ var searchData=
   ['rendererrors',['RenderErrors',['../classtvm_1_1ErrorReporter.html#a54699ec5f538bd207b5aa4e3f55181c6',1,'tvm::ErrorReporter']]],
   ['renewdefs',['RenewDefs',['../namespacetvm_1_1tir.html#a2e639c81d1c6875ead7764ab8a7cd553',1,'tvm::tir']]],
   ['renormalizesplitpattern',['RenormalizeSplitPattern',['../namespacetvm_1_1tir_1_1transform.html#a5c670c9efcd740f2f168b62e624c8c57',1,'tvm::tir::transform']]],
-  ['reorder',['Reorder',['../classtvm_1_1tir_1_1ScheduleNode.html#a059229fe0e254961da406807a97f7a3d',1,'tvm::tir::ScheduleNode::Reorder()'],['../classtvm_1_1auto__scheduler_1_1State.html#a16e95966b46977eff629a5f4f1564533',1,'tvm::auto_scheduler::State::reorder()'],['../classtvm_1_1te_1_1Stage.html#ad96cd240a92df9cafae89cdf2a7e302e',1,'tvm::te::Stage::reorder()']]],
+  ['reorder',['reorder',['../classtvm_1_1auto__scheduler_1_1State.html#a16e95966b46977eff629a5f4f1564533',1,'tvm::auto_scheduler::State::reorder()'],['../classtvm_1_1te_1_1Stage.html#ad96cd240a92df9cafae89cdf2a7e302e',1,'tvm::te::Stage::reorder()'],['../classtvm_1_1tir_1_1ScheduleNode.html#a059229fe0e254961da406807a97f7a3d',1,'tvm::tir::ScheduleNode::Reorder()']]],
   ['reorderstep',['ReorderStep',['../classtvm_1_1auto__scheduler_1_1ReorderStep.html#a83b9dab5f38d5a4d42c6424ba437bc10',1,'tvm::auto_scheduler::ReorderStep::ReorderStep(int stage_id, const Array&lt; Integer &gt; &amp;after_ids)'],['../classtvm_1_1auto__scheduler_1_1ReorderStep.html#a9586534afef3e0f57ab31e8374e70792',1,'tvm::auto_scheduler::ReorderStep::ReorderStep(dmlc::JSONReader *reader)']]],
   ['reorg',['reorg',['../namespacetvm_1_1topi_1_1vision.html#a1014df582489005202c4218e51792314',1,'tvm::topi::vision']]],
   ['repeat',['repeat',['../namespacetvm_1_1topi.html#afe9f6d9103b2dfbc601bfd2304a4e687',1,'tvm::topi']]],
diff --git a/docs/reference/api/doxygen/search/functions_13.js b/docs/reference/api/doxygen/search/functions_13.js
index 3c6256ac3..a5f7f326d 100644
--- a/docs/reference/api/doxygen/search/functions_13.js
+++ b/docs/reference/api/doxygen/search/functions_13.js
@@ -126,7 +126,7 @@ var searchData=
   ['singlepoint',['SinglePoint',['../classtvm_1_1arith_1_1IntSet.html#a58aeb0d34656b1b43ac2532e4dfa12ed',1,'tvm::arith::IntSet']]],
   ['singleton',['Singleton',['../classtvm_1_1te_1_1Singleton.html#a94450b853dcd5e9865546d8c8fe351a1',1,'tvm::te::Singleton']]],
   ['sinh',['sinh',['../namespacetvm.html#ad828bc801c73df761c58d9f8877d52ee',1,'tvm::sinh()'],['../namespacetvm_1_1topi.html#af9694f5470ba2cabc19866be3b00fe8d',1,'tvm::topi::sinh()']]],
-  ['size',['size',['../classtvm_1_1runtime_1_1ADT.html#af51613add20f67643684b1c7fdd5569a',1,'tvm::runtime::ADT::size()'],['../classtvm_1_1runtime_1_1ArrayNode.html#a3e88cee6eb31d0e495f7debd94b7573d',1,'tvm::runtime::ArrayNode::size()'],['../classtvm_1_1runtime_1_1Array.html#aed6387e67d18b9d5ad18f510fd600a25',1,'tvm::runtime::Array::size()'],['../classtvm_1_1runtime_1_1MapNode.html#a5c0c770f7667f911aa8bec879e3ac214',1,'tvm::runtime::MapNode::size()'],['../classtvm_1_1runtime_1_1Map.html#a [...]
+  ['size',['Size',['../classtvm_1_1TensorTypeNode.html#a1f08dac86ae8aea81d058ef64cfd38b4',1,'tvm::TensorTypeNode::Size()'],['../classtvm_1_1meta__schedule_1_1DatabaseNode.html#aae5b9ab9f7e497654b90c23a2159a5cc',1,'tvm::meta_schedule::DatabaseNode::Size()'],['../classtvm_1_1meta__schedule_1_1PyDatabaseNode.html#a36817d04978253571fef7d01427ce9c0',1,'tvm::meta_schedule::PyDatabaseNode::Size()'],['../classtvm_1_1runtime_1_1micro__rpc_1_1FrameBuffer.html#ae395a0f1c6e79e825aa7a244c74a5d7b',1,' [...]
   ['sizevar',['SizeVar',['../classtvm_1_1tir_1_1SizeVar.html#ac470249315d9e395ad581d35dd5dcb05',1,'tvm::tir::SizeVar::SizeVar(ObjectPtr&lt; Object &gt; n)'],['../classtvm_1_1tir_1_1SizeVar.html#a0f8cb8a92feb96343939d223db90f7cd',1,'tvm::tir::SizeVar::SizeVar(String name_hint=&quot;s&quot;, DataType t=DataType::Int(32), Span span=Span())']]],
   ['skipassert',['SkipAssert',['../namespacetvm_1_1tir_1_1transform.html#a6fdd5910b00af823071dcdddd21cd2d3',1,'tvm::tir::transform']]],
   ['slice',['Slice',['../classtvm_1_1te_1_1Tensor_1_1Slice.html#ab314819e8bcca6421e9a4f33e48578c3',1,'tvm::te::Tensor::Slice']]],
@@ -146,7 +146,7 @@ var searchData=
   ['sparse_5fto_5fdense',['sparse_to_dense',['../namespacetvm_1_1topi.html#a877e6fdffb6b6c051c29602ec6fe995c',1,'tvm::topi']]],
   ['specialize',['Specialize',['../namespacetvm_1_1tir.html#a69b6f1b0014dc6e7dd390cff746e9782',1,'tvm::tir']]],
   ['specializedcondition',['SpecializedCondition',['../classtvm_1_1te_1_1SpecializedCondition.html#a48d119ee1c6033929a5592cfc2592e60',1,'tvm::te::SpecializedCondition']]],
-  ['split',['split',['../classtvm_1_1auto__scheduler_1_1State.html#a5815f21fc90ba7cc379c2410c05ab54c',1,'tvm::auto_scheduler::State::split()'],['../classtvm_1_1te_1_1Stage.html#a5a7cd562be59b68a187ad97085a3425d',1,'tvm::te::Stage::split()'],['../classtvm_1_1te_1_1Split.html#a328e0c093ce5b41ebaf33e0e80592764',1,'tvm::te::Split::Split()'],['../classtvm_1_1tir_1_1Layout.html#ad7657af7789fe040d3224c0149976bb4',1,'tvm::tir::Layout::Split()'],['../classtvm_1_1tir_1_1ScheduleNode.html#ac190a0ab [...]
+  ['split',['Split',['../classtvm_1_1te_1_1Split.html#a328e0c093ce5b41ebaf33e0e80592764',1,'tvm::te::Split::Split()'],['../classtvm_1_1tir_1_1Layout.html#ad7657af7789fe040d3224c0149976bb4',1,'tvm::tir::Layout::Split()'],['../classtvm_1_1tir_1_1ScheduleNode.html#ac190a0ab76d8754a35209479bcc6dfa2',1,'tvm::tir::ScheduleNode::Split()'],['../classtvm_1_1auto__scheduler_1_1State.html#a5815f21fc90ba7cc379c2410c05ab54c',1,'tvm::auto_scheduler::State::split()'],['../classtvm_1_1te_1_1Stage.html#a [...]
   ['split_5fby_5fnparts',['split_by_nparts',['../classtvm_1_1te_1_1Stage.html#a51432f38d9ec4792a2525023179ae604',1,'tvm::te::Stage']]],
   ['split_5fsections',['split_sections',['../namespacetvm_1_1topi.html#acc643e2ed166fa2ed82a95853e145619',1,'tvm::topi']]],
   ['splitargs',['SplitArgs',['../namespacetvm_1_1relay_1_1transform.html#a2425d757b896168a109498e8d34ba960',1,'tvm::relay::transform']]],
@@ -167,7 +167,7 @@ var searchData=
   ['startmessage',['StartMessage',['../classtvm_1_1runtime_1_1micro__rpc_1_1Session.html#acd512b977c6dd888f90c4fd6d2b9500f',1,'tvm::runtime::micro_rpc::Session']]],
   ['startpacket',['StartPacket',['../classtvm_1_1runtime_1_1micro__rpc_1_1Framer.html#ade10d3bd3a26e3b7af881ae134e9a998',1,'tvm::runtime::micro_rpc::Framer']]],
   ['startsession',['StartSession',['../classtvm_1_1runtime_1_1micro__rpc_1_1Session.html#a15d3f9ecb8b22bf2d330f6f0a16c5239',1,'tvm::runtime::micro_rpc::Session']]],
-  ['state',['State',['../classtvm_1_1auto__scheduler_1_1State.html#a9e8198b1f51b42cfbbee4b9f42160749',1,'tvm::auto_scheduler::State::State()'],['../classtvm_1_1tir_1_1ScheduleNode.html#abb3612c2598fa2d3ee0e6e3fc3de8a26',1,'tvm::tir::ScheduleNode::state()']]],
+  ['state',['state',['../classtvm_1_1tir_1_1ScheduleNode.html#abb3612c2598fa2d3ee0e6e3fc3de8a26',1,'tvm::tir::ScheduleNode::state()'],['../classtvm_1_1auto__scheduler_1_1State.html#a9e8198b1f51b42cfbbee4b9f42160749',1,'tvm::auto_scheduler::State::State()']]],
   ['stats',['Stats',['../classtvm_1_1runtime_1_1vm_1_1Executable.html#a5445bd71aa14ec97552fa099dc3bd787',1,'tvm::runtime::vm::Executable']]],
   ['stepapplytoschedule',['StepApplyToSchedule',['../namespacetvm_1_1auto__scheduler.html#ac58f7548a94b92f801b2b9a6f65bd785',1,'tvm::auto_scheduler']]],
   ['stepapplytostate',['StepApplyToState',['../namespacetvm_1_1auto__scheduler.html#a6909bc5a99d1cc8372201e9392717832',1,'tvm::auto_scheduler']]],
diff --git a/docs/reference/api/doxygen/search/functions_14.js b/docs/reference/api/doxygen/search/functions_14.js
index 738940b17..d4fcdfaf8 100644
--- a/docs/reference/api/doxygen/search/functions_14.js
+++ b/docs/reference/api/doxygen/search/functions_14.js
@@ -20,7 +20,7 @@ var searchData=
   ['tensorintrin',['TensorIntrin',['../classtvm_1_1te_1_1TensorIntrin.html#a4ff4237911227bf80b3076906dc3b7ea',1,'tvm::te::TensorIntrin::TensorIntrin()'],['../classtvm_1_1tir_1_1TensorIntrin.html#af5a94c7b098b56056e02eaf187e6871c',1,'tvm::tir::TensorIntrin::TensorIntrin()']]],
   ['tensorintrincall',['TensorIntrinCall',['../classtvm_1_1te_1_1TensorIntrinCall.html#a91c10074ce6babeba78fe72a0aab4b52',1,'tvm::te::TensorIntrinCall']]],
   ['tensorintrinnode',['TensorIntrinNode',['../classtvm_1_1te_1_1TensorIntrinNode.html#ad59e7f2b881fc798a8c64fd3959f929c',1,'tvm::te::TensorIntrinNode']]],
-  ['tensorize',['tensorize',['../classtvm_1_1te_1_1Stage.html#ab5fe485e1d730c36b096c060b8d2ef9d',1,'tvm::te::Stage::tensorize()'],['../classtvm_1_1tir_1_1ScheduleNode.html#ae3794a03b566e5b1721b44c564992975',1,'tvm::tir::ScheduleNode::Tensorize(const LoopRV &amp;loop_rv, const String &amp;intrin)=0'],['../classtvm_1_1tir_1_1ScheduleNode.html#aaca1621ab9c3db0ddd04ac57de79d37f',1,'tvm::tir::ScheduleNode::Tensorize(const BlockRV &amp;block_rv, const String &amp;intrin)=0']]],
+  ['tensorize',['Tensorize',['../classtvm_1_1tir_1_1ScheduleNode.html#ae3794a03b566e5b1721b44c564992975',1,'tvm::tir::ScheduleNode::Tensorize(const LoopRV &amp;loop_rv, const String &amp;intrin)=0'],['../classtvm_1_1tir_1_1ScheduleNode.html#aaca1621ab9c3db0ddd04ac57de79d37f',1,'tvm::tir::ScheduleNode::Tensorize(const BlockRV &amp;block_rv, const String &amp;intrin)=0'],['../classtvm_1_1te_1_1Stage.html#ab5fe485e1d730c36b096c060b8d2ef9d',1,'tvm::te::Stage::tensorize()']]],
   ['tensornode',['TensorNode',['../classtvm_1_1te_1_1TensorNode.html#a153569448cb1bf9d2924d35639c3b8b8',1,'tvm::te::TensorNode']]],
   ['tensortype',['TensorType',['../classtvm_1_1TensorType.html#ade4460e9b02b42757a83808dec478b87',1,'tvm::TensorType']]],
   ['terminalrenderer',['TerminalRenderer',['../namespacetvm.html#a69a0e3f559d3a3b98d42701117d93ed0',1,'tvm']]],
@@ -51,7 +51,7 @@ var searchData=
   ['totupletype',['ToTupleType',['../namespacetvm_1_1relay.html#ae6757a008816e31cce4109e8dfc2bc16',1,'tvm::relay']]],
   ['touchtask',['TouchTask',['../classtvm_1_1meta__schedule_1_1TaskSchedulerNode.html#af6fa276674945d3432c129bdf9cea599',1,'tvm::meta_schedule::TaskSchedulerNode::TouchTask()'],['../classtvm_1_1meta__schedule_1_1PyTaskSchedulerNode.html#a7de09f81c8aceb580b43107f266e6b40',1,'tvm::meta_schedule::PyTaskSchedulerNode::TouchTask()']]],
   ['tovar',['ToVar',['../classtvm_1_1tir_1_1AnyNode.html#ae01ebbba2378afb6509a22de97f8fb30',1,'tvm::tir::AnyNode']]],
-  ['trace',['Trace',['../classtvm_1_1tir_1_1Trace.html#a8e09abffd0b9b1afac7b832cf16c142d',1,'tvm::tir::Trace::Trace()'],['../classtvm_1_1tir_1_1Trace.html#af79bccf1bde25efea387bb1b82dacaa6',1,'tvm::tir::Trace::Trace(Array&lt; Instruction &gt; insts, Map&lt; Instruction, ObjectRef &gt; decisions)'],['../classtvm_1_1tir_1_1ScheduleNode.html#a953bca4123b5a758adfdcd65634a5f3b',1,'tvm::tir::ScheduleNode::trace()']]],
+  ['trace',['trace',['../classtvm_1_1tir_1_1ScheduleNode.html#a953bca4123b5a758adfdcd65634a5f3b',1,'tvm::tir::ScheduleNode::trace()'],['../classtvm_1_1tir_1_1Trace.html#a8e09abffd0b9b1afac7b832cf16c142d',1,'tvm::tir::Trace::Trace()'],['../classtvm_1_1tir_1_1Trace.html#af79bccf1bde25efea387bb1b82dacaa6',1,'tvm::tir::Trace::Trace(Array&lt; Instruction &gt; insts, Map&lt; Instruction, ObjectRef &gt; decisions)']]],
   ['traced',['Traced',['../classtvm_1_1tir_1_1Schedule.html#a295d432b86621101f67b20fadb367b91',1,'tvm::tir::Schedule']]],
   ['transform',['Transform',['../classtvm_1_1te_1_1Transform.html#a51422cc2290f6b87fe61edb0db691125',1,'tvm::te::Transform']]],
   ['transform_5flayout',['transform_layout',['../classtvm_1_1te_1_1Stage.html#acec77eca6c9a4f1738a7c119d7ac2c2c',1,'tvm::te::Stage']]],
diff --git a/docs/reference/api/doxygen/search/functions_15.js b/docs/reference/api/doxygen/search/functions_15.js
index ac9788707..ddc30ff83 100644
--- a/docs/reference/api/doxygen/search/functions_15.js
+++ b/docs/reference/api/doxygen/search/functions_15.js
@@ -12,10 +12,10 @@ var searchData=
   ['unionlowerbound',['UnionLowerBound',['../namespacetvm_1_1arith.html#ab22d7fd95abb5fa372843a40e19d80c5',1,'tvm::arith']]],
   ['unionregion',['UnionRegion',['../namespacetvm_1_1arith.html#ad27c4f216e41eb8e81296fb7ec4b9453',1,'tvm::arith']]],
   ['unionregionlowerbound',['UnionRegionLowerBound',['../namespacetvm_1_1arith.html#a4c3dedfa4cba4ad39c953eb51eb83e4d',1,'tvm::arith']]],
-  ['unique',['Unique',['../classtvm_1_1VirtualDeviceCache.html#a25ba1351484aa58a2cc7cef8f8e4423c',1,'tvm::VirtualDeviceCache::Unique()'],['../classtvm_1_1runtime_1_1Object.html#afd548730a6139d19fe24473ad66026d7',1,'tvm::runtime::Object::unique()'],['../classtvm_1_1runtime_1_1ObjectPtr.html#af95c6c6fcd89da0f62b93f1167b72314',1,'tvm::runtime::ObjectPtr::unique()'],['../classtvm_1_1runtime_1_1ObjectRef.html#a4e7cdb1574b93a59e784d70aa47b8da7',1,'tvm::runtime::ObjectRef::unique()']]],
+  ['unique',['unique',['../classtvm_1_1runtime_1_1Object.html#afd548730a6139d19fe24473ad66026d7',1,'tvm::runtime::Object::unique()'],['../classtvm_1_1runtime_1_1ObjectPtr.html#af95c6c6fcd89da0f62b93f1167b72314',1,'tvm::runtime::ObjectPtr::unique()'],['../classtvm_1_1runtime_1_1ObjectRef.html#a4e7cdb1574b93a59e784d70aa47b8da7',1,'tvm::runtime::ObjectRef::unique()'],['../classtvm_1_1VirtualDeviceCache.html#a25ba1351484aa58a2cc7cef8f8e4423c',1,'tvm::VirtualDeviceCache::Unique()']]],
   ['unmatchedcases',['UnmatchedCases',['../namespacetvm_1_1relay.html#aa3a8cace40f8056fd6412f39c3eaa605',1,'tvm::relay']]],
   ['unravel_5findex',['unravel_index',['../namespacetvm_1_1topi.html#a8811a02532bbe3047986bf1a8449ac0e',1,'tvm::topi']]],
-  ['unroll',['unroll',['../classtvm_1_1auto__scheduler_1_1State.html#aa68a9d2e226bae38a36e4be4af1d1ae4',1,'tvm::auto_scheduler::State::unroll()'],['../classtvm_1_1te_1_1Stage.html#af83ad8672660403504f472228b044b33',1,'tvm::te::Stage::unroll()'],['../classtvm_1_1tir_1_1ScheduleNode.html#a84ec742f6295f59390592a6d0d90a552',1,'tvm::tir::ScheduleNode::Unroll()']]],
+  ['unroll',['Unroll',['../classtvm_1_1tir_1_1ScheduleNode.html#a84ec742f6295f59390592a6d0d90a552',1,'tvm::tir::ScheduleNode::Unroll()'],['../classtvm_1_1auto__scheduler_1_1State.html#aa68a9d2e226bae38a36e4be4af1d1ae4',1,'tvm::auto_scheduler::State::unroll()'],['../classtvm_1_1te_1_1Stage.html#af83ad8672660403504f472228b044b33',1,'tvm::te::Stage::unroll()']]],
   ['unrollloop',['UnrollLoop',['../namespacetvm_1_1tir_1_1transform.html#ab2f279e91071fa96a1edb24fa004ea6a',1,'tvm::tir::transform']]],
   ['update',['Update',['../classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a5ae0699196c4bbc754bbdd4c3a6c7ca7',1,'tvm::arith::ConstIntBoundAnalyzer::Update()'],['../classtvm_1_1arith_1_1ModularSetAnalyzer.html#a04156fac580981f3005af3b8e676720d',1,'tvm::arith::ModularSetAnalyzer::Update()'],['../classtvm_1_1arith_1_1RewriteSimplifier.html#a5e6752c0702dc2d3e4235797d9d3ac7b',1,'tvm::arith::RewriteSimplifier::Update()'],['../classtvm_1_1arith_1_1CanonicalSimplifier.html#a790c032e12c7d93e9e940 [...]
   ['updatecostmodel',['UpdateCostModel',['../classtvm_1_1meta__schedule_1_1MeasureCallback.html#afdf5503c6e6f53767de132d91a7b53f9',1,'tvm::meta_schedule::MeasureCallback']]],
diff --git a/docs/reference/api/doxygen/search/functions_16.js b/docs/reference/api/doxygen/search/functions_16.js
index c8fd64c1c..bd6085e07 100644
--- a/docs/reference/api/doxygen/search/functions_16.js
+++ b/docs/reference/api/doxygen/search/functions_16.js
@@ -8,7 +8,7 @@ var searchData=
   ['vector',['Vector',['../classtvm_1_1arith_1_1IntSet.html#a29b6f1e60f4b328fcfabc514e0c10f17',1,'tvm::arith::IntSet']]],
   ['vectorcombine',['vectorcombine',['../namespacetvm_1_1tir_1_1builtin.html#a30dff65bc2c142b57fae7f60e378ff43',1,'tvm::tir::builtin']]],
   ['vectorhigh',['vectorhigh',['../namespacetvm_1_1tir_1_1builtin.html#a45bf65ca7ca01d2016e0b609117d7e25',1,'tvm::tir::builtin']]],
-  ['vectorize',['vectorize',['../classtvm_1_1auto__scheduler_1_1State.html#a97b8a21210d63bea241dbab085d89b53',1,'tvm::auto_scheduler::State::vectorize()'],['../classtvm_1_1te_1_1Stage.html#a44d33e3920106e75dc7c68272f880812',1,'tvm::te::Stage::vectorize()'],['../classtvm_1_1tir_1_1ScheduleNode.html#ab4a8cd91959ceab22855ec338978bcee',1,'tvm::tir::ScheduleNode::Vectorize()']]],
+  ['vectorize',['Vectorize',['../classtvm_1_1tir_1_1ScheduleNode.html#ab4a8cd91959ceab22855ec338978bcee',1,'tvm::tir::ScheduleNode::Vectorize()'],['../classtvm_1_1auto__scheduler_1_1State.html#a97b8a21210d63bea241dbab085d89b53',1,'tvm::auto_scheduler::State::vectorize()'],['../classtvm_1_1te_1_1Stage.html#a44d33e3920106e75dc7c68272f880812',1,'tvm::te::Stage::vectorize()']]],
   ['vectorizeloop',['VectorizeLoop',['../namespacetvm_1_1tir_1_1transform.html#af3cecb50a8b8fc8021f6a87bc27587da',1,'tvm::tir::transform']]],
   ['vectorjacobianproduct',['VectorJacobianProduct',['../namespacetvm_1_1te.html#a547183f5a311af53ab598faba423fd64',1,'tvm::te']]],
   ['vectorlow',['vectorlow',['../namespacetvm_1_1tir_1_1builtin.html#a7ed64a9fb0a7f575fc63e1e0395e96a6',1,'tvm::tir::builtin']]],
diff --git a/docs/reference/api/doxygen/search/functions_9.js b/docs/reference/api/doxygen/search/functions_9.js
index b590ededc..ae9b0d9dd 100644
--- a/docs/reference/api/doxygen/search/functions_9.js
+++ b/docs/reference/api/doxygen/search/functions_9.js
@@ -9,7 +9,7 @@ var searchData=
   ['implementsfunction',['ImplementsFunction',['../classtvm_1_1runtime_1_1ModuleNode.html#a722ffdb3de3e1150b382c895af7dcb34',1,'tvm::runtime::ModuleNode']]],
   ['import',['Import',['../classtvm_1_1IRModuleNode.html#a5e21563666240e1deb1f92807d910268',1,'tvm::IRModuleNode::Import()'],['../classtvm_1_1runtime_1_1Module.html#afb5a6c9b0e0a541245958456ebe39260',1,'tvm::runtime::Module::Import()'],['../classtvm_1_1runtime_1_1ModuleNode.html#a79b98521b484d1c672b7ce2ae2aed2b5',1,'tvm::runtime::ModuleNode::Import()']]],
   ['importfromstd',['ImportFromStd',['../classtvm_1_1IRModuleNode.html#ad4267e40c959ea60f138b26d3276db88',1,'tvm::IRModuleNode']]],
-  ['imports',['Imports',['../classtvm_1_1IRModuleNode.html#a9326e9d54337b4425f9b12d5dc370cb6',1,'tvm::IRModuleNode::Imports()'],['../classtvm_1_1runtime_1_1ModuleNode.html#a12d5336240ba02a581bbb8a628a8cdb9',1,'tvm::runtime::ModuleNode::imports()']]],
+  ['imports',['imports',['../classtvm_1_1runtime_1_1ModuleNode.html#a12d5336240ba02a581bbb8a628a8cdb9',1,'tvm::runtime::ModuleNode::imports()'],['../classtvm_1_1IRModuleNode.html#a9326e9d54337b4425f9b12d5dc370cb6',1,'tvm::IRModuleNode::Imports()']]],
   ['incompletetype',['IncompleteType',['../classtvm_1_1IncompleteType.html#ab43269e517f2e962ccb8f510c4f5fd3a',1,'tvm::IncompleteType']]],
   ['incref',['IncRef',['../classtvm_1_1runtime_1_1Object.html#ac9e5eed7719e322117bde996a171e33a',1,'tvm::runtime::Object']]],
   ['indexdiv',['indexdiv',['../namespacetvm.html#a8f30aa0685ca52f846843e76a1ad1dc7',1,'tvm::indexdiv(PrimExpr a, PrimExpr b, Span span=Span())'],['../namespacetvm.html#a8e795784bc91d7d0ad50df1d6a849b56',1,'tvm::indexdiv(const PrimExpr &amp;a, int b, Span span=Span())'],['../namespacetvm.html#a2fde20cf177fe6aaf6f89f9ca46c9c25',1,'tvm::indexdiv(int a, const PrimExpr &amp;b, Span span=Span())']]],
diff --git a/docs/reference/api/doxygen/search/functions_d.js b/docs/reference/api/doxygen/search/functions_d.js
index 5a7d0e99e..200b89d99 100644
--- a/docs/reference/api/doxygen/search/functions_d.js
+++ b/docs/reference/api/doxygen/search/functions_d.js
@@ -58,7 +58,7 @@ var searchData=
   ['microtvmruntimegetoutput',['MicroTVMRuntimeGetOutput',['../microtvm__runtime_8h.html#a76129be7b6de972791a3f9a1b312acfa',1,'microtvm_runtime.h']]],
   ['microtvmruntimerun',['MicroTVMRuntimeRun',['../microtvm__runtime_8h.html#ac43a544f675dd716e8c279c3e41f6e45',1,'microtvm_runtime.h']]],
   ['microtvmruntimesetinput',['MicroTVMRuntimeSetInput',['../microtvm__runtime_8h.html#aa593edc600f4356f2b560702aa01b113',1,'microtvm_runtime.h']]],
-  ['min',['min',['../classtvm_1_1arith_1_1IntSet.html#ae5517de2862e93a801224eed98a57001',1,'tvm::arith::IntSet::min()'],['../classtvm_1_1support_1_1LinearCongruentialEngine.html#aec5f11b588fa3a12294a46c945c34411',1,'tvm::support::LinearCongruentialEngine::min()'],['../classtvm_1_1tir_1_1Min.html#a3a4403aec40029a5206e22cd334e356b',1,'tvm::tir::Min::Min()'],['../namespacetvm.html#aac2abc149c1a47944c37b560181b15c0',1,'tvm::min(PrimExpr a, PrimExpr b, Span span=Span())'],['../namespacetvm.ht [...]
+  ['min',['Min',['../classtvm_1_1tir_1_1Min.html#a3a4403aec40029a5206e22cd334e356b',1,'tvm::tir::Min::Min()'],['../classtvm_1_1arith_1_1IntSet.html#ae5517de2862e93a801224eed98a57001',1,'tvm::arith::IntSet::min()'],['../classtvm_1_1support_1_1LinearCongruentialEngine.html#aec5f11b588fa3a12294a46c945c34411',1,'tvm::support::LinearCongruentialEngine::min()'],['../namespacetvm.html#aac2abc149c1a47944c37b560181b15c0',1,'tvm::min(PrimExpr a, PrimExpr b, Span span=Span())'],['../namespacetvm.ht [...]
   ['min_5fvalue',['min_value',['../namespacetvm.html#a3b37fa55ea93d6868751a2441996b072',1,'tvm']]],
   ['minimum',['minimum',['../namespacetvm_1_1topi.html#a7ac1dc0d99ce93090a4cdf90ab19d4b8',1,'tvm::topi::minimum(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)'],['../namespacetvm_1_1topi.html#a0e19dc06a2b1ecbb83b0942fdf836169',1,'tvm::topi::minimum(const tvm::te::Tensor &amp;A, const tvm::te::Tensor &amp;B, std::string name=&quot;T_&quot; &quot;minimum&quot;, std::string tag=kBroadcast)'],['../namespacetvm_1_1topi.html#a28d4ef4b3426bff237215ce356dd5681',1,'tvm::topi::minimum(con [...]
   ['minop',['MinOp',['../namespacetvm_1_1topi.html#aea9a989b0aaa2aef03fe8ee237d8257e',1,'tvm::topi']]],
diff --git a/docs/reference/api/doxygen/search/functions_f.js b/docs/reference/api/doxygen/search/functions_f.js
index cbc2a6766..14f2973fc 100644
--- a/docs/reference/api/doxygen/search/functions_f.js
+++ b/docs/reference/api/doxygen/search/functions_f.js
@@ -65,6 +65,5 @@ var searchData=
   ['output',['output',['../classtvm_1_1te_1_1Operation.html#a00b67945c799a2022d3164ab63dd3b82',1,'tvm::te::Operation']]],
   ['output_5fdtype',['output_dtype',['../classtvm_1_1te_1_1OperationNode.html#a6bcb7f0c177c642d82a5a200d13369f0',1,'tvm::te::OperationNode::output_dtype()'],['../classtvm_1_1te_1_1PlaceholderOpNode.html#a84d9963cba34ebe035091c15f10d3bff',1,'tvm::te::PlaceholderOpNode::output_dtype()'],['../classtvm_1_1te_1_1ComputeOpNode.html#a308edf04ade47c1365c9f8460858fdd6',1,'tvm::te::ComputeOpNode::output_dtype()'],['../classtvm_1_1te_1_1TensorComputeOpNode.html#a36de23d9964e78fb0adc8c6e4c7efa7f',1, [...]
   ['output_5fshape',['output_shape',['../classtvm_1_1te_1_1OperationNode.html#a7c4fc476de1543ea65c83e02631bfd09',1,'tvm::te::OperationNode::output_shape()'],['../classtvm_1_1te_1_1PlaceholderOpNode.html#a22624cba74f79b3fa5a6ac2a4b986c79',1,'tvm::te::PlaceholderOpNode::output_shape()'],['../classtvm_1_1te_1_1BaseComputeOpNode.html#acdd22cc7c737d4dc8b6bf86d2f11a0db',1,'tvm::te::BaseComputeOpNode::output_shape()'],['../classtvm_1_1te_1_1ScanOpNode.html#af7070bd5acff34504792421f2abab32c',1,' [...]
-  ['outputs',['outputs',['../classtvm_1_1runtime_1_1metadata_1_1MetadataNode.html#a9c58f4dbbbe913f79a76623ea3d8d690',1,'tvm::runtime::metadata::MetadataNode']]],
-  ['stringref',['StringRef',['../classtvm_1_1runtime_1_1String.html#ae65abd5c71692ba11be665d586bcf389',1,'tvm::runtime::String']]]
+  ['outputs',['outputs',['../classtvm_1_1runtime_1_1metadata_1_1MetadataNode.html#a9c58f4dbbbe913f79a76623ea3d8d690',1,'tvm::runtime::metadata::MetadataNode']]]
 ];
diff --git a/docs/reference/api/doxygen/search/namespaces_1.js b/docs/reference/api/doxygen/search/namespaces_1.js
index 757d23d31..2b79d32cd 100644
--- a/docs/reference/api/doxygen/search/namespaces_1.js
+++ b/docs/reference/api/doxygen/search/namespaces_1.js
@@ -1,4 +1,36 @@
 var searchData=
 [
-  ['llvm',['llvm',['../namespacellvm.html',1,'']]]
+  ['algo',['algo',['../namespacetvm_1_1tir_1_1usmp_1_1algo.html',1,'tvm::tir::usmp']]],
+  ['arith',['arith',['../namespacetvm_1_1arith.html',1,'tvm']]],
+  ['attr',['attr',['../namespacetvm_1_1attr.html',1,'tvm::attr'],['../namespacetvm_1_1relay_1_1attr.html',1,'tvm::relay::attr'],['../namespacetvm_1_1tir_1_1attr.html',1,'tvm::tir::attr']]],
+  ['auto_5fscheduler',['auto_scheduler',['../namespacetvm_1_1auto__scheduler.html',1,'tvm']]],
+  ['builtin',['builtin',['../namespacetvm_1_1tir_1_1builtin.html',1,'tvm::tir']]],
+  ['codegen',['codegen',['../namespacetvm_1_1codegen.html',1,'tvm']]],
+  ['contrib',['contrib',['../namespacetvm_1_1runtime_1_1contrib.html',1,'tvm::runtime::contrib'],['../namespacetvm_1_1topi_1_1contrib.html',1,'tvm::topi::contrib']]],
+  ['cuda',['cuda',['../namespacetvm_1_1topi_1_1cuda.html',1,'tvm::topi']]],
+  ['detail',['detail',['../namespacetvm_1_1detail.html',1,'tvm']]],
+  ['generic',['generic',['../namespacetvm_1_1topi_1_1generic.html',1,'tvm::topi']]],
+  ['instrument',['instrument',['../namespacetvm_1_1instrument.html',1,'tvm']]],
+  ['meta_5fschedule',['meta_schedule',['../namespacetvm_1_1meta__schedule.html',1,'tvm']]],
+  ['metadata',['metadata',['../namespacetvm_1_1runtime_1_1metadata.html',1,'tvm::runtime']]],
+  ['micro_5frpc',['micro_rpc',['../namespacetvm_1_1runtime_1_1micro__rpc.html',1,'tvm::runtime']]],
+  ['nn',['nn',['../namespacetvm_1_1topi_1_1nn.html',1,'tvm::topi']]],
+  ['parser',['parser',['../namespacetvm_1_1parser.html',1,'tvm']]],
+  ['profiling',['profiling',['../namespacetvm_1_1runtime_1_1profiling.html',1,'tvm::runtime']]],
+  ['qnn',['qnn',['../namespacetvm_1_1relay_1_1qnn.html',1,'tvm::relay']]],
+  ['relay',['relay',['../namespacetvm_1_1relay.html',1,'tvm']]],
+  ['rocm',['rocm',['../namespacetvm_1_1topi_1_1rocm.html',1,'tvm::topi']]],
+  ['runtime',['runtime',['../namespacetvm_1_1runtime.html',1,'tvm']]],
+  ['support',['support',['../namespacetvm_1_1support.html',1,'tvm']]],
+  ['symbol',['symbol',['../namespacetvm_1_1runtime_1_1symbol.html',1,'tvm::runtime']]],
+  ['te',['te',['../namespacetvm_1_1te.html',1,'tvm']]],
+  ['threading',['threading',['../namespacetvm_1_1runtime_1_1threading.html',1,'tvm::runtime']]],
+  ['tir',['tir',['../namespacetvm_1_1tir.html',1,'tvm']]],
+  ['topi',['topi',['../namespacetvm_1_1topi.html',1,'tvm']]],
+  ['transform',['transform',['../namespacetvm_1_1relay_1_1qnn_1_1transform.html',1,'tvm::relay::qnn::transform'],['../namespacetvm_1_1relay_1_1transform.html',1,'tvm::relay::transform'],['../namespacetvm_1_1tir_1_1transform.html',1,'tvm::tir::transform'],['../namespacetvm_1_1tir_1_1usmp_1_1transform.html',1,'tvm::tir::usmp::transform'],['../namespacetvm_1_1transform.html',1,'tvm::transform']]],
+  ['tvm',['tvm',['../namespacetvm.html',1,'']]],
+  ['usmp',['usmp',['../namespacetvm_1_1tir_1_1usmp.html',1,'tvm::tir']]],
+  ['vision',['vision',['../namespacetvm_1_1topi_1_1vision.html',1,'tvm::topi']]],
+  ['vm',['vm',['../namespacetvm_1_1runtime_1_1vm.html',1,'tvm::runtime']]],
+  ['x86',['x86',['../namespacetvm_1_1topi_1_1x86.html',1,'tvm::topi']]]
 ];
diff --git a/docs/reference/api/doxygen/search/namespaces_2.html b/docs/reference/api/doxygen/search/namespaces_2.html
deleted file mode 100644
index 1a1cbe16e..000000000
--- a/docs/reference/api/doxygen/search/namespaces_2.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="namespaces_2.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/search/namespaces_2.js b/docs/reference/api/doxygen/search/namespaces_2.js
deleted file mode 100644
index 2b79d32cd..000000000
--- a/docs/reference/api/doxygen/search/namespaces_2.js
+++ /dev/null
@@ -1,36 +0,0 @@
-var searchData=
-[
-  ['algo',['algo',['../namespacetvm_1_1tir_1_1usmp_1_1algo.html',1,'tvm::tir::usmp']]],
-  ['arith',['arith',['../namespacetvm_1_1arith.html',1,'tvm']]],
-  ['attr',['attr',['../namespacetvm_1_1attr.html',1,'tvm::attr'],['../namespacetvm_1_1relay_1_1attr.html',1,'tvm::relay::attr'],['../namespacetvm_1_1tir_1_1attr.html',1,'tvm::tir::attr']]],
-  ['auto_5fscheduler',['auto_scheduler',['../namespacetvm_1_1auto__scheduler.html',1,'tvm']]],
-  ['builtin',['builtin',['../namespacetvm_1_1tir_1_1builtin.html',1,'tvm::tir']]],
-  ['codegen',['codegen',['../namespacetvm_1_1codegen.html',1,'tvm']]],
-  ['contrib',['contrib',['../namespacetvm_1_1runtime_1_1contrib.html',1,'tvm::runtime::contrib'],['../namespacetvm_1_1topi_1_1contrib.html',1,'tvm::topi::contrib']]],
-  ['cuda',['cuda',['../namespacetvm_1_1topi_1_1cuda.html',1,'tvm::topi']]],
-  ['detail',['detail',['../namespacetvm_1_1detail.html',1,'tvm']]],
-  ['generic',['generic',['../namespacetvm_1_1topi_1_1generic.html',1,'tvm::topi']]],
-  ['instrument',['instrument',['../namespacetvm_1_1instrument.html',1,'tvm']]],
-  ['meta_5fschedule',['meta_schedule',['../namespacetvm_1_1meta__schedule.html',1,'tvm']]],
-  ['metadata',['metadata',['../namespacetvm_1_1runtime_1_1metadata.html',1,'tvm::runtime']]],
-  ['micro_5frpc',['micro_rpc',['../namespacetvm_1_1runtime_1_1micro__rpc.html',1,'tvm::runtime']]],
-  ['nn',['nn',['../namespacetvm_1_1topi_1_1nn.html',1,'tvm::topi']]],
-  ['parser',['parser',['../namespacetvm_1_1parser.html',1,'tvm']]],
-  ['profiling',['profiling',['../namespacetvm_1_1runtime_1_1profiling.html',1,'tvm::runtime']]],
-  ['qnn',['qnn',['../namespacetvm_1_1relay_1_1qnn.html',1,'tvm::relay']]],
-  ['relay',['relay',['../namespacetvm_1_1relay.html',1,'tvm']]],
-  ['rocm',['rocm',['../namespacetvm_1_1topi_1_1rocm.html',1,'tvm::topi']]],
-  ['runtime',['runtime',['../namespacetvm_1_1runtime.html',1,'tvm']]],
-  ['support',['support',['../namespacetvm_1_1support.html',1,'tvm']]],
-  ['symbol',['symbol',['../namespacetvm_1_1runtime_1_1symbol.html',1,'tvm::runtime']]],
-  ['te',['te',['../namespacetvm_1_1te.html',1,'tvm']]],
-  ['threading',['threading',['../namespacetvm_1_1runtime_1_1threading.html',1,'tvm::runtime']]],
-  ['tir',['tir',['../namespacetvm_1_1tir.html',1,'tvm']]],
-  ['topi',['topi',['../namespacetvm_1_1topi.html',1,'tvm']]],
-  ['transform',['transform',['../namespacetvm_1_1relay_1_1qnn_1_1transform.html',1,'tvm::relay::qnn::transform'],['../namespacetvm_1_1relay_1_1transform.html',1,'tvm::relay::transform'],['../namespacetvm_1_1tir_1_1transform.html',1,'tvm::tir::transform'],['../namespacetvm_1_1tir_1_1usmp_1_1transform.html',1,'tvm::tir::usmp::transform'],['../namespacetvm_1_1transform.html',1,'tvm::transform']]],
-  ['tvm',['tvm',['../namespacetvm.html',1,'']]],
-  ['usmp',['usmp',['../namespacetvm_1_1tir_1_1usmp.html',1,'tvm::tir']]],
-  ['vision',['vision',['../namespacetvm_1_1topi_1_1vision.html',1,'tvm::topi']]],
-  ['vm',['vm',['../namespacetvm_1_1runtime_1_1vm.html',1,'tvm::runtime']]],
-  ['x86',['x86',['../namespacetvm_1_1topi_1_1x86.html',1,'tvm::topi']]]
-];
diff --git a/docs/reference/api/doxygen/search/searchdata.js b/docs/reference/api/doxygen/search/searchdata.js
index 5fed5266d..f06b6d5c4 100644
--- a/docs/reference/api/doxygen/search/searchdata.js
+++ b/docs/reference/api/doxygen/search/searchdata.js
@@ -2,7 +2,7 @@ var indexSectionsWithContent =
 {
   0: ":_abcdefghijklmnopqrstuvwyz~",
   1: "abcdefghilmnopqrstuvwy",
-  2: "dlt",
+  2: "dt",
   3: "abcdefgilmnoprstuvw",
   4: "_abcdefghijklmnopqrstuvwy~",
   5: "_abcdefghiklmnoprstuvwz",
diff --git a/docs/reference/api/doxygen/search__policy_8h_source.html b/docs/reference/api/doxygen/search__policy_8h_source.html
index dddb93ab3..8d124eb3d 100644
--- a/docs/reference/api/doxygen/search__policy_8h_source.html
+++ b/docs/reference/api/doxygen/search__policy_8h_source.html
@@ -84,7 +84,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1SearchCallback_html"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1SearchCallback.html">tvm::auto_scheduler::SearchCallback</a></div><div class="ttdoc">Managed reference to SearchCallbackNode. </div><div class="ttdef"><b>Definition:</b> search_policy.h:81</div></div>
 <div class="ttc" id="measure_8h_html"><div class="ttname"><a href="measure_8h.html">measure.h</a></div><div class="ttdoc">Distributed measurement infrastructure to measure the runtime costs of tensor programs. These functions are responsible for building the tvm module, uploading it to remote devices, recording the running time costs, and checking the correctness of the output. </div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1SearchCallbackNode_html_aa5980b4b3e1ec125e60762499f2d77b4"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1SearchCallbackNode.html#aa5980b4b3e1ec125e60762499f2d77b4">tvm::auto_scheduler::SearchCallbackNode::_type_key</a></div><div class="ttdeci">static constexpr const char * _type_key</div><div class="ttdef"><b>Definition:</b> search_policy.h:73</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1SearchPolicyNode_html"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1SearchPolicyNode.html">tvm::auto_scheduler::SearchPolicyNode</a></div><div class="ttdoc">The base class of search policies. </div><div class="ttdef"><b>Definition:</b> search_policy.h:129</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1SearchPolicy_html"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1SearchPolicy.html">tvm::auto_scheduler::SearchPolicy</a></div><div class="ttdoc">Managed reference to SearchPolicyNode. </div><div class="ttdef"><b>Definition:</b> search_policy.h:198</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
diff --git a/docs/reference/api/doxygen/search__task_8h_source.html b/docs/reference/api/doxygen/search__task_8h_source.html
index 5e5fc08a8..63ef24f69 100644
--- a/docs/reference/api/doxygen/search__task_8h_source.html
+++ b/docs/reference/api/doxygen/search__task_8h_source.html
@@ -86,7 +86,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1SearchTaskNode_html_a910e7713ef04a1e5e125ed195968202e"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1SearchTaskNode.html#a910e7713ef04a1e5e125ed195968202e">tvm::auto_scheduler::SearchTaskNode::task_input_names</a></div><div class="ttdeci">Array&lt; String &gt; task_input_names</div><div class="ttdoc">Names of some user defined input data used in program measuring. </div><div class="ttdef"><b>Definition:</b> search_task.h:1 [...]
 <div class="ttc" id="namespacetvm_1_1auto__scheduler_html_a3e9480be0119338696abbe9c80193b9e"><div class="ttname"><a href="namespacetvm_1_1auto__scheduler.html#a3e9480be0119338696abbe9c80193b9e">tvm::auto_scheduler::LayoutRewriteOption</a></div><div class="ttdeci">LayoutRewriteOption</div><div class="ttdoc">Options for applying layout rewrite. This is an optimization to rewrite the layout of input tensors a...</div><div class="ttdef"><b>Definition:</b> compute_dag.h:201</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1HardwareParamsNode_html_a8d96a297de313e00c00d2d26b3e1cc95"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1HardwareParamsNode.html#a8d96a297de313e00c00d2d26b3e1cc95">tvm::auto_scheduler::HardwareParamsNode::warp_size</a></div><div class="ttdeci">int warp_size</div><div class="ttdoc">The thread numbers of a warp. </div><div class="ttdef"><b>Definition:</b> search_task.h:57</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1SearchTaskNode_html_a48705d24c39a0e0d567d8bf3b0c158a3"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1SearchTaskNode.html#a48705d24c39a0e0d567d8bf3b0c158a3">tvm::auto_scheduler::SearchTaskNode::desc</a></div><div class="ttdeci">String desc</div><div class="ttdoc">The description string of this task. </div><div class="ttdef"><b>Definition:</b> search_task.h:117</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1HardwareParamsNode_html_ae5bc9c8d5e48ac5c1a40460782fbd9d7"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1HardwareParamsNode.html#ae5bc9c8d5e48ac5c1a40460782fbd9d7">tvm::auto_scheduler::HardwareParamsNode::_type_key</a></div><div class="ttdeci">static constexpr const char * _type_key</div><div class="ttdef"><b>Definition:</b> search_task.h:78</div></div>
diff --git a/docs/reference/api/doxygen/source__map_8h_source.html b/docs/reference/api/doxygen/source__map_8h_source.html
index 4d112c94f..a550ec6a2 100644
--- a/docs/reference/api/doxygen/source__map_8h_source.html
+++ b/docs/reference/api/doxygen/source__map_8h_source.html
@@ -81,7 +81,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1SourceName_html"><div class="ttname"><a href="classtvm_1_1SourceName.html">tvm::SourceName</a></div><div class="ttdoc">The source name of a file span. </div><div class="ttdef"><b>Definition:</b> span.h:62</div></div>
 <div class="ttc" id="classtvm_1_1parser_1_1SourceNode_html_a7d479c039f29590525694d2e1338755e"><div class="ttname"><a href="classtvm_1_1parser_1_1SourceNode.html#a7d479c039f29590525694d2e1338755e">tvm::parser::SourceNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> source_map.h:57</div></div>
 <div class="ttc" id="classtvm_1_1parser_1_1SourceMap_html_a7c8e86338eb19b26514fea83754b99a2"><div class="ttname"><a href="classtvm_1_1parser_1_1SourceMap.html#a7c8e86338eb19b26514fea83754b99a2">tvm::parser::SourceMap::operator-&gt;</a></div><div class="ttdeci">SourceMapNode * operator-&gt;()</div><div class="ttdef"><b>Definition:</b> source_map.h:108</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1parser_1_1SourceNode_html_a8d4c50a18eb3e99b14d73d7db2a52af3"><div class="ttname"><a href="classtvm_1_1parser_1_1SourceNode.html#a8d4c50a18eb3e99b14d73d7db2a52af3">tvm::parser::SourceNode::source_name</a></div><div class="ttdeci">SourceName source_name</div><div class="ttdoc">The source name. </div><div class="ttdef"><b>Definition:</b> source_map.h:48</div></div>
 <div class="ttc" id="classtvm_1_1parser_1_1SourceMapNode_html_ae22bc1181b066f17f8938868ef22610a"><div class="ttname"><a href="classtvm_1_1parser_1_1SourceMapNode.html#ae22bc1181b066f17f8938868ef22610a">tvm::parser::SourceMapNode::source_map</a></div><div class="ttdeci">Map&lt; SourceName, Source &gt; source_map</div><div class="ttdoc">The source mapping. </div><div class="ttdef"><b>Definition:</b> source_map.h:84</div></div>
 <div class="ttc" id="classtvm_1_1parser_1_1SourceMapNode_html_a3f08bf3a0af49335c3bc9e88ad8ff737"><div class="ttname"><a href="classtvm_1_1parser_1_1SourceMapNode.html#a3f08bf3a0af49335c3bc9e88ad8ff737">tvm::parser::SourceMapNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> source_map.h:87</div></div>
diff --git a/docs/reference/api/doxygen/stmt_8h_source.html b/docs/reference/api/doxygen/stmt_8h_source.html
index c729fae6e..c53303c0a 100644
--- a/docs/reference/api/doxygen/stmt_8h_source.html
+++ b/docs/reference/api/doxygen/stmt_8h_source.html
@@ -228,7 +228,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_1_1tir_1_1attr_html_a350918383cf7d7c9a95114ab7fda7781"><div class="ttname"><a href="namespacetvm_1_1tir_1_1attr.html#a350918383cf7d7c9a95114ab7fda7781">tvm::tir::attr::meta_schedule_random_compute_producer</a></div><div class="ttdeci">constexpr const char * meta_schedule_random_compute_producer</div><div class="ttdoc">Mark the block whose producer needs to be applied by rule Random-Compute-Location. </div><div class="ttdef"><b>Definition:</b> stmt.h:1502 [...]
 <div class="ttc" id="classtvm_1_1tir_1_1StmtNode_html_ab7e026e32383e67e620719b025e00056"><div class="ttname"><a href="classtvm_1_1tir_1_1StmtNode.html#ab7e026e32383e67e620719b025e00056">tvm::tir::StmtNode::_type_has_method_shash_reduce</a></div><div class="ttdeci">static constexpr const bool _type_has_method_shash_reduce</div><div class="ttdef"><b>Definition:</b> stmt.h:51</div></div>
 <div class="ttc" id="namespacetvm_1_1tir_html_a9f59694e9c3912cc5e80654ddbc1e40aa037de60b0cc37e063125a29b487104b7"><div class="ttname"><a href="namespacetvm_1_1tir.html#a9f59694e9c3912cc5e80654ddbc1e40aa037de60b0cc37e063125a29b487104b7">tvm::tir::ForKind::kThreadBinding</a></div><div class="ttdoc">The loop variable is bound to a thread in an environment. In the final stage of lowering, the loop is simply removed and the loop variable is mapped to the corresponding context thread. </div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="namespacetvm_1_1tir_1_1attr_html_af86552e1cc4180ec1c8e14b582e49c16"><div class="ttname"><a href="namespacetvm_1_1tir_1_1attr.html#af86552e1cc4180ec1c8e14b582e49c16">tvm::tir::attr::async_scope</a></div><div class="ttdeci">constexpr const char * async_scope</div><div class="ttdoc">Mark that the attached statement runs asynchronously. </div><div class="ttdef"><b>Definition:</b> stmt.h:1447</div></div>
 <div class="ttc" id="namespacetvm_1_1tir_1_1attr_html_a9231fc0afe37a8d46a90a1c5fdf522bb"><div class="ttname"><a href="namespacetvm_1_1tir_1_1attr.html#a9231fc0afe37a8d46a90a1c5fdf522bb">tvm::tir::attr::double_buffer_scope</a></div><div class="ttdeci">constexpr const char * double_buffer_scope</div><div class="ttdoc">Marks production of double buffer data. </div><div class="ttdef"><b>Definition:</b> stmt.h:1395</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1BlockRealizeNode_html_ac3b02808faa6243c3ce8075491bc19af"><div class="ttname"><a href="classtvm_1_1tir_1_1BlockRealizeNode.html#ac3b02808faa6243c3ce8075491bc19af">tvm::tir::BlockRealizeNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> stmt.h:1287</div></div>
diff --git a/docs/reference/api/doxygen/string_8h.html b/docs/reference/api/doxygen/string_8h.html
index c5004fc9c..094ce60cd 100644
--- a/docs/reference/api/doxygen/string_8h.html
+++ b/docs/reference/api/doxygen/string_8h.html
@@ -118,8 +118,6 @@ Classes</h2></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
 Namespaces</h2></td></tr>
-<tr class="memitem:namespacellvm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html">llvm</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:namespacetvm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm.html">tvm</a></td></tr>
 <tr class="memdesc:namespacetvm"><td class="mdescLeft">&#160;</td><td class="mdescRight">runtime implementation for LibTorch/TorchScript. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
diff --git a/docs/reference/api/doxygen/string_8h_source.html b/docs/reference/api/doxygen/string_8h_source.html
index 82afce794..adda7d586 100644
--- a/docs/reference/api/doxygen/string_8h_source.html
+++ b/docs/reference/api/doxygen/string_8h_source.html
@@ -66,50 +66,57 @@ $(function() {
 <div class="title">string.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="string_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * or more cont [...]
-<div class="ttc" id="classtvm_1_1runtime_1_1StringObj_html_a866c6a8805c30f6cc4faac2298985d23"><div class="ttname"><a href="classtvm_1_1runtime_1_1StringObj.html#a866c6a8805c30f6cc4faac2298985d23">tvm::runtime::StringObj::size</a></div><div class="ttdeci">uint64_t size</div><div class="ttdoc">The length of the string object. </div><div class="ttdef"><b>Definition:</b> string.h:90</div></div>
+<a href="string_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * or more cont [...]
+<div class="ttc" id="classtvm_1_1runtime_1_1StringObj_html_a866c6a8805c30f6cc4faac2298985d23"><div class="ttname"><a href="classtvm_1_1runtime_1_1StringObj.html#a866c6a8805c30f6cc4faac2298985d23">tvm::runtime::StringObj::size</a></div><div class="ttdeci">uint64_t size</div><div class="ttdoc">The length of the string object. </div><div class="ttdef"><b>Definition:</b> string.h:85</div></div>
 <div class="ttc" id="structtvm_1_1runtime_1_1ObjectEqual_html"><div class="ttname"><a href="structtvm_1_1runtime_1_1ObjectEqual.html">tvm::runtime::ObjectEqual</a></div><div class="ttdoc">String-aware ObjectRef hash functor. </div><div class="ttdef"><b>Definition:</b> base.h:50</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a03f9f2382fbbf611af6591ce1afb0dca"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a03f9f2382fbbf611af6591ce1afb0dca">tvm::runtime::String::compare</a></div><div class="ttdeci">int compare(const char *other) const</div><div class="ttdoc">Compares this to other. </div><div class="ttdef"><b>Definition:</b> string.h:206</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_acf549b3c43142639879e0fc31ea5cd77"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#acf549b3c43142639879e0fc31ea5cd77">tvm::runtime::String::String</a></div><div class="ttdeci">String(std::nullptr_t)</div><div class="ttdoc">Construct a new null object. </div><div class="ttdef"><b>Definition:</b> string.h:156</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_aaeda6a88310d41a22ce884fb1570b0d2"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#aaeda6a88310d41a22ce884fb1570b0d2">tvm::runtime::String::at</a></div><div class="ttdeci">char at(size_t pos) const</div><div class="ttdoc">Read an element. </div><div class="ttdef"><b>Definition:</b> string.h:247</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a5f82ed0ef356225883e118eb76392cd5"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a5f82ed0ef356225883e118eb76392cd5">tvm::runtime::String::data</a></div><div class="ttdeci">const char * data() const</div><div class="ttdoc">Return the data pointer. </div><div class="ttdef"><b>Definition:</b> string.h:260</div></div>
-<div class="ttc" id="namespacellvm_html"><div class="ttname"><a href="namespacellvm.html">llvm</a></div><div class="ttdef"><b>Definition:</b> string.h:72</div></div>
-<div class="ttc" id="namespacetvm_1_1runtime_html_ad4d1999febc0f97ae2e2c9cc12edd280"><div class="ttname"><a href="namespacetvm_1_1runtime.html#ad4d1999febc0f97ae2e2c9cc12edd280">tvm::runtime::operator!=</a></div><div class="ttdeci">bool operator!=(const char *lhs, const String &amp;rhs)</div><div class="ttdef"><b>Definition:</b> string.h:472</div></div>
-<div class="ttc" id="namespacetvm_1_1runtime_html_ab77f7b17aece9015b0ef91908f75b5f4"><div class="ttname"><a href="namespacetvm_1_1runtime.html#ab77f7b17aece9015b0ef91908f75b5f4">tvm::runtime::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const char *lhs, const String &amp;rhs)</div><div class="ttdef"><b>Definition:</b> string.h:417</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1StringObj_1_1FromStd_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html">tvm::runtime::StringObj::FromStd</a></div><div class="ttdoc">An object representing string moved from std::string. </div><div class="ttdef"><b>Definition:</b> string.h:344</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a03f9f2382fbbf611af6591ce1afb0dca"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a03f9f2382fbbf611af6591ce1afb0dca">tvm::runtime::String::compare</a></div><div class="ttdeci">int compare(const char *other) const</div><div class="ttdoc">Compares this to other. </div><div class="ttdef"><b>Definition:</b> string.h:201</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_acf549b3c43142639879e0fc31ea5cd77"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#acf549b3c43142639879e0fc31ea5cd77">tvm::runtime::String::String</a></div><div class="ttdeci">String(std::nullptr_t)</div><div class="ttdoc">Construct a new null object. </div><div class="ttdef"><b>Definition:</b> string.h:151</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_aaeda6a88310d41a22ce884fb1570b0d2"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#aaeda6a88310d41a22ce884fb1570b0d2">tvm::runtime::String::at</a></div><div class="ttdeci">char at(size_t pos) const</div><div class="ttdoc">Read an element. </div><div class="ttdef"><b>Definition:</b> string.h:242</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a5f82ed0ef356225883e118eb76392cd5"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a5f82ed0ef356225883e118eb76392cd5">tvm::runtime::String::data</a></div><div class="ttdeci">const char * data() const</div><div class="ttdoc">Return the data pointer. </div><div class="ttdef"><b>Definition:</b> string.h:255</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1StringObj_1_1FromStd_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html">tvm::runtime::StringObj::FromStd</a></div><div class="ttdoc">An object representing string moved from std::string. </div><div class="ttdef"><b>Definition:</b> string.h:331</div></div>
 <div class="ttc" id="namespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">runtime implementation for LibTorch/TorchScript. </div><div class="ttdef"><b>Definition:</b> analyzer.h:36</div></div>
-<div class="ttc" id="namespacetvm_1_1runtime_html_ad83a0ea66d3af9fd1b232e49a960f6f4"><div class="ttname"><a href="namespacetvm_1_1runtime.html#ad83a0ea66d3af9fd1b232e49a960f6f4">tvm::runtime::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(const char *lhs, const String &amp;rhs)</div><div class="ttdef"><b>Definition:</b> string.h:450</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_ac5d930b522e9fef9c07e51819d96d2f3"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#ac5d930b522e9fef9c07e51819d96d2f3">tvm::runtime::String::String</a></div><div class="ttdeci">String()</div><div class="ttdoc">Construct an empty string. </div><div class="ttdef"><b>Definition:</b> string.h:134</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1StringObj_html_ae47e92e40537956f9ff676b9eec7ac01"><div class="ttname"><a href="classtvm_1_1runtime_1_1StringObj.html#ae47e92e40537956f9ff676b9eec7ac01">tvm::runtime::StringObj::TVM_DECLARE_FINAL_OBJECT_INFO</a></div><div class="ttdeci">TVM_DECLARE_FINAL_OBJECT_INFO(StringObj, Object)</div></div>
+<div class="ttc" id="structtvm_1_1runtime_1_1TypeIndex_html_aed93c7318efc8052201d4c404b21a40da8357e60842dac9c20ddbced5b863b03a"><div class="ttname"><a href="structtvm_1_1runtime_1_1TypeIndex.html#aed93c7318efc8052201d4c404b21a40da8357e60842dac9c20ddbced5b863b03a">tvm::runtime::TypeIndex::kRuntimeString</a></div><div class="ttdoc">runtime::String. </div><div class="ttdef"><b>Definition:</b> object.h:66</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_ac5d930b522e9fef9c07e51819d96d2f3"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#ac5d930b522e9fef9c07e51819d96d2f3">tvm::runtime::String::String</a></div><div class="ttdeci">String()</div><div class="ttdoc">Construct an empty string. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="namespacetvm_1_1runtime_html_af7996be0c57184e8ff9e655d0d055edc"><div class="ttname"><a href="namespacetvm_1_1runtime.html#af7996be0c57184e8ff9e655d0d055edc">tvm::runtime::operator&gt;</a></div><div class="ttdeci">bool operator&gt;(const String &amp;lhs, const std::string &amp;rhs)</div><div class="ttdef"><b>Definition:</b> string.h:407</div></div>
 <div class="ttc" id="runtime_2memory_8h_html"><div class="ttname"><a href="runtime_2memory_8h.html">memory.h</a></div><div class="ttdoc">Runtime memory management. </div></div>
 <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdef"><b>Definition:</b> loop_state.h:456</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a0ea0aa1d24073721ee7bf9bd5d23c53a"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a0ea0aa1d24073721ee7bf9bd5d23c53a">tvm::runtime::String::HashBytes</a></div><div class="ttdeci">static size_t HashBytes(const char *data, size_t size)</div><div class="ttdoc">Hash the binary bytes. </div><div class="ttdef"><b>Definition:</b> string.h:290</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a0ea0aa1d24073721ee7bf9bd5d23c53a"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a0ea0aa1d24073721ee7bf9bd5d23c53a">tvm::runtime::String::HashBytes</a></div><div class="ttdeci">static size_t HashBytes(const char *data, size_t size)</div><div class="ttdoc">Hash the binary bytes. </div><div class="ttdef"><b>Definition:</b> string.h:277</div></div>
 <div class="ttc" id="runtime_2container_2base_8h_html"><div class="ttname"><a href="runtime_2container_2base_8h.html">base.h</a></div><div class="ttdoc">Base utilities for common POD(plain old data) container types. </div></div>
-<div class="ttc" id="namespacetvm_1_1runtime_html_a2c20920d4a09a6c022768b353ec8df2a"><div class="ttname"><a href="namespacetvm_1_1runtime.html#a2c20920d4a09a6c022768b353ec8df2a">tvm::runtime::operator&lt;&lt;</a></div><div class="ttdeci">std::ostream &amp; operator&lt;&lt;(std::ostream &amp;out, const String &amp;input)</div><div class="ttdef"><b>Definition:</b> string.h:474</div></div>
+<div class="ttc" id="structtvm_1_1runtime_1_1ObjectHash_html_ac97f4e15c15ac91185c7ead75d04dd3f"><div class="ttname"><a href="structtvm_1_1runtime_1_1ObjectHash.html#ac97f4e15c15ac91185c7ead75d04dd3f">tvm::runtime::ObjectHash::operator()</a></div><div class="ttdeci">size_t operator()(const ObjectRef &amp;a) const</div><div class="ttdoc">Calculate the hash code of an ObjectRef. </div><div class="ttdef"><b>Definition:</b> string.h:482</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1StringObj_html_a9d0bb5c54d59456980767be2398dbc16"><div class="ttname"><a href="classtvm_1_1runtime_1_1StringObj.html#a9d0bb5c54d59456980767be2398dbc16">tvm::runtime::StringObj::_type_index</a></div><div class="ttdeci">static constexpr const uint32_t _type_index</div><div class="ttdef"><b>Definition:</b> string.h:87</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Object_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></div><div class="ttdoc">base class of all object containers. </div><div class="ttdef"><b>Definition:</b> object.h:167</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a812045bfefb0f80f850d1b39f0e40489"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a812045bfefb0f80f850d1b39f0e40489">tvm::runtime::String::length</a></div><div class="ttdeci">size_t length() const</div><div class="ttdoc">Return the length of the string. </div><div class="ttdef"><b>Definition:</b> string.h:232</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_ac785c91cb744c18f3ef21fab098d02b2"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#ac785c91cb744c18f3ef21fab098d02b2">tvm::runtime::String::c_str</a></div><div class="ttdeci">const char * c_str() const</div><div class="ttdoc">Returns a pointer to the char array in the string. </div><div class="ttdef"><b>Definition:</b> string.h:215</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1StringObj_html_a4ab9dd883ceed3efccf663acfbcd152f"><div class="ttname"><a href="classtvm_1_1runtime_1_1StringObj.html#a4ab9dd883ceed3efccf663acfbcd152f">tvm::runtime::StringObj::data</a></div><div class="ttdeci">const char * data</div><div class="ttdoc">The pointer to string data. </div><div class="ttdef"><b>Definition:</b> string.h:87</div></div>
-<div class="ttc" id="namespacetvm_1_1runtime_html_aca259da80169ea60877e17c98a0b472a"><div class="ttname"><a href="namespacetvm_1_1runtime.html#aca259da80169ea60877e17c98a0b472a">tvm::runtime::operator+</a></div><div class="ttdeci">String operator+(const String &amp;lhs, const char *rhs)</div><div class="ttdef"><b>Definition:</b> string.h:402</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1StringObj_1_1FromStd_html_ae16447bf3dfb1874dc8e04633ba820b4"><div class="ttname"><a href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html#ae16447bf3dfb1874dc8e04633ba820b4">tvm::runtime::StringObj::FromStd::FromStd</a></div><div class="ttdeci">FromStd(std::string other)</div><div class="ttdoc">Construct a new FromStd object. </div><div class="ttdef"><b>Definition:</b> string.h:354</div></div>
+<div class="ttc" id="structtvm_1_1runtime_1_1ObjectEqual_html_a3f1385e14a5a9f96035b0b567e5994a0"><div class="ttname"><a href="structtvm_1_1runtime_1_1ObjectEqual.html#a3f1385e14a5a9f96035b0b567e5994a0">tvm::runtime::ObjectEqual::operator()</a></div><div class="ttdeci">bool operator()(const ObjectRef &amp;a, const ObjectRef &amp;b) const</div><div class="ttdoc">Check if the two ObjectRef are equal. </div><div class="ttdef"><b>Definition:</b> string.h:489</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a812045bfefb0f80f850d1b39f0e40489"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a812045bfefb0f80f850d1b39f0e40489">tvm::runtime::String::length</a></div><div class="ttdeci">size_t length() const</div><div class="ttdoc">Return the length of the string. </div><div class="ttdef"><b>Definition:</b> string.h:227</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1StringObj_html_a4b4433ded5abdaae4ac417cee103f8d2"><div class="ttname"><a href="classtvm_1_1runtime_1_1StringObj.html#a4b4433ded5abdaae4ac417cee103f8d2">tvm::runtime::StringObj::_type_key</a></div><div class="ttdeci">static constexpr const char * _type_key</div><div class="ttdef"><b>Definition:</b> string.h:88</div></div>
+<div class="ttc" id="namespacetvm_1_1runtime_html_a944029d40e689e4d2acab53ce36a5c99"><div class="ttname"><a href="namespacetvm_1_1runtime.html#a944029d40e689e4d2acab53ce36a5c99">tvm::runtime::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(const String &amp;lhs, const std::string &amp;rhs)</div><div class="ttdef"><b>Definition:</b> string.h:429</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_ac785c91cb744c18f3ef21fab098d02b2"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#ac785c91cb744c18f3ef21fab098d02b2">tvm::runtime::String::c_str</a></div><div class="ttdeci">const char * c_str() const</div><div class="ttdoc">Returns a pointer to the char array in the string. </div><div class="ttdef"><b>Definition:</b> string.h:210</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1StringObj_html_a4ab9dd883ceed3efccf663acfbcd152f"><div class="ttname"><a href="classtvm_1_1runtime_1_1StringObj.html#a4ab9dd883ceed3efccf663acfbcd152f">tvm::runtime::StringObj::data</a></div><div class="ttdeci">const char * data</div><div class="ttdoc">The pointer to string data. </div><div class="ttdef"><b>Definition:</b> string.h:82</div></div>
+<div class="ttc" id="namespacetvm_1_1runtime_html_a7d584f14566754b91a0e7f415b83fbda"><div class="ttname"><a href="namespacetvm_1_1runtime.html#a7d584f14566754b91a0e7f415b83fbda">tvm::runtime::operator!=</a></div><div class="ttdeci">bool operator!=(const String &amp;lhs, const std::string &amp;rhs)</div><div class="ttdef"><b>Definition:</b> string.h:451</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1StringObj_1_1FromStd_html_ae16447bf3dfb1874dc8e04633ba820b4"><div class="ttname"><a href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html#ae16447bf3dfb1874dc8e04633ba820b4">tvm::runtime::StringObj::FromStd::FromStd</a></div><div class="ttdeci">FromStd(std::string other)</div><div class="ttdoc">Construct a new FromStd object. </div><div class="ttdef"><b>Definition:</b> string.h:341</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1StringObj_html_a7fb804f7dc96dd9f705c84095f37f1ca"><div class="ttname"><a href="classtvm_1_1runtime_1_1StringObj.html#a7fb804f7dc96dd9f705c84095f37f1ca">tvm::runtime::StringObj::String</a></div><div class="ttdeci">friend class String</div><div class="ttdef"><b>Definition:</b> string.h:93</div></div>
 <div class="ttc" id="structtvm_1_1runtime_1_1ObjectPtrHash_html"><div class="ttname"><a href="structtvm_1_1runtime_1_1ObjectPtrHash.html">tvm::runtime::ObjectPtrHash</a></div><div class="ttdoc">ObjectRef hash functor. </div><div class="ttdef"><b>Definition:</b> object.h:624</div></div>
-<div class="ttc" id="namespacetvm_1_1runtime_html_a2e76c697beb4a77556a869f7cc45f09a"><div class="ttname"><a href="namespacetvm_1_1runtime.html#a2e76c697beb4a77556a869f7cc45f09a">tvm::runtime::operator&lt;=</a></div><div class="ttdeci">bool operator&lt;=(const char *lhs, const String &amp;rhs)</div><div class="ttdef"><b>Definition:</b> string.h:439</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_add6d4829ad500fae8881b7af46a554de"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#add6d4829ad500fae8881b7af46a554de">tvm::runtime::String::size</a></div><div class="ttdeci">size_t size() const</div><div class="ttdoc">Return the length of the string. </div><div class="ttdef"><b>Definition:</b> string.h:222</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="namespacetvm_1_1runtime_html_a3dbaf8d9ec6bd68590a23da05d8a2831"><div class="ttname"><a href="namespacetvm_1_1runtime.html#a3dbaf8d9ec6bd68590a23da05d8a2831">tvm::runtime::operator+</a></div><div class="ttdeci">String operator+(const String &amp;lhs, const String &amp;rhs)</div><div class="ttdef"><b>Definition:</b> string.h:365</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_add6d4829ad500fae8881b7af46a554de"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#add6d4829ad500fae8881b7af46a554de">tvm::runtime::String::size</a></div><div class="ttdeci">size_t size() const</div><div class="ttdoc">Return the length of the string. </div><div class="ttdef"><b>Definition:</b> string.h:217</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html_ae31a5b9f40781d60a2901994ead700e8"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html#ae31a5b9f40781d60a2901994ead700e8">tvm::runtime::ObjectRef::same_as</a></div><div class="ttdeci">bool same_as(const ObjectRef &amp;other) const</div><div class="ttdoc">Comparator. </div><div class="ttdef"><b>Definition:</b> object.h:522</div></div>
+<div class="ttc" id="namespacetvm_1_1runtime_html_a92428efae022d4982b2644f8960d4386"><div class="ttname"><a href="namespacetvm_1_1runtime.html#a92428efae022d4982b2644f8960d4386">tvm::runtime::operator&lt;=</a></div><div class="ttdeci">bool operator&lt;=(const String &amp;lhs, const std::string &amp;rhs)</div><div class="ttdef"><b>Definition:</b> string.h:418</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a3b3c8614af05adc454f47132e04552ed"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a3b3c8614af05adc454f47132e04552ed">tvm::runtime::String::operator=</a></div><div class="ttdeci">String &amp; operator=(std::string other)</div><div class="ttdoc">Change the value the reference object points to. </div><div class="ttdef"><b>Definition:</b> string.h:357</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1Object_html_a69c32fbd96181f5c21d2c878ab285e4f"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html#a69c32fbd96181f5c21d2c878ab285e4f">tvm::runtime::Object::operator=</a></div><div class="ttdeci">Object &amp; operator=(const Object &amp;other)</div><div class="ttdef"><b>Definition:</b> object.h:251</div></div>
+<div class="ttc" id="namespacetvm_1_1runtime_html_a2865dffa2fddf5eff9d7ed397563ebd6"><div class="ttname"><a href="namespacetvm_1_1runtime.html#a2865dffa2fddf5eff9d7ed397563ebd6">tvm::runtime::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const String &amp;lhs, const std::string &amp;rhs)</div><div class="ttdef"><b>Definition:</b> string.h:396</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
 <div class="ttc" id="object_8h_html"><div class="ttname"><a href="object_8h.html">object.h</a></div><div class="ttdoc">A managed object in the TVM runtime. </div></div>
-<div class="ttc" id="object_8h_html_a3aea9b3f65aeb9150c0fa7800e5573c6"><div class="ttname"><a href="object_8h.html#a3aea9b3f65aeb9150c0fa7800e5573c6">TVM_DECLARE_FINAL_OBJECT_INFO</a></div><div class="ttdeci">#define TVM_DECLARE_FINAL_OBJECT_INFO(TypeName, ParentType)</div><div class="ttdoc">helper macro to declare type information in a final class. </div><div class="ttdef"><b>Definition:</b> object.h:671</div></div>
-<div class="ttc" id="namespacetvm_1_1runtime_html_ac77c2b6d2b8176af69f6e6cccbe736c2"><div class="ttname"><a href="namespacetvm_1_1runtime.html#ac77c2b6d2b8176af69f6e6cccbe736c2">tvm::runtime::operator==</a></div><div class="ttdeci">bool operator==(const char *lhs, const String &amp;rhs)</div><div class="ttdef"><b>Definition:</b> string.h:461</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1StringObj_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1StringObj.html">tvm::runtime::StringObj</a></div><div class="ttdoc">An object representing string. It&amp;#39;s POD type. </div><div class="ttdef"><b>Definition:</b> string.h:84</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a68df7bab89fca339e3918438dd80300d"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a68df7bab89fca339e3918438dd80300d">tvm::runtime::String::String</a></div><div class="ttdeci">String(const char *other)</div><div class="ttdoc">Construct a new String object. </div><div class="ttdef"><b>Definition:</b> string.h:150</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1StringObj_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1StringObj.html">tvm::runtime::StringObj</a></div><div class="ttdoc">An object representing string. It&amp;#39;s POD type. </div><div class="ttdef"><b>Definition:</b> string.h:79</div></div>
+<div class="ttc" id="namespacetvm_html_a0da40d3e210aa3b38a17982a7b7866b8"><div class="ttname"><a href="namespacetvm.html#a0da40d3e210aa3b38a17982a7b7866b8">tvm::ret</a></div><div class="ttdeci">PrimExpr ret(PrimExpr value, Span span=Span())</div><div class="ttdoc">Return the value. </div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a68df7bab89fca339e3918438dd80300d"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a68df7bab89fca339e3918438dd80300d">tvm::runtime::String::String</a></div><div class="ttdeci">String(const char *other)</div><div class="ttdoc">Construct a new String object. </div><div class="ttdef"><b>Definition:</b> string.h:145</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TVMArgValue_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMArgValue.html">tvm::runtime::TVMArgValue</a></div><div class="ttdoc">A single argument value to PackedFunc. Containing both type_code and TVMValue. </div><div class="ttdef"><b>Definition:</b> packed_func.h:646</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a897a877128c8b8a7e57dec0847cf33c7"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a897a877128c8b8a7e57dec0847cf33c7">tvm::runtime::String::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Retun if the string is empty. </div><div class="ttdef"><b>Definition:</b> string.h:239</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a897a877128c8b8a7e57dec0847cf33c7"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a897a877128c8b8a7e57dec0847cf33c7">tvm::runtime::String::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Retun if the string is empty. </div><div class="ttdef"><b>Definition:</b> string.h:234</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html_a2d76fa1fb628ff276a284e61123589c5"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html#a2d76fa1fb628ff276a284e61123589c5">tvm::runtime::ObjectRef::as</a></div><div class="ttdeci">const ObjectType * as() const</div><div class="ttdoc">Try to downcast the internal Object to a raw pointer of a corresponding type. </div><div class="ttdef"><b>Definition:</b> object.h:865</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_ad3af61a0b16c6d8a4e6b1c2f6e8f4a44"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#ad3af61a0b16c6d8a4e6b1c2f6e8f4a44">tvm::runtime::String::compare</a></div><div class="ttdeci">int compare(const String &amp;other) const</div><div class="ttdoc">Compares this String object to other. </div><div class="ttdef"><b>Definition:</b> string.h:182</div></div>
-<div class="ttc" id="namespacetvm_1_1tir_1_1builtin_html_ae7816fdebd5d56f2145cdf371b756eb4"><div class="ttname"><a href="namespacetvm_1_1tir_1_1builtin.html#ae7816fdebd5d56f2145cdf371b756eb4">tvm::tir::builtin::ret</a></div><div class="ttdeci">const Op &amp; ret()</div><div class="ttdoc">Return value. </div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_ad3af61a0b16c6d8a4e6b1c2f6e8f4a44"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#ad3af61a0b16c6d8a4e6b1c2f6e8f4a44">tvm::runtime::String::compare</a></div><div class="ttdeci">int compare(const String &amp;other) const</div><div class="ttdoc">Compares this String object to other. </div><div class="ttdef"><b>Definition:</b> string.h:177</div></div>
+<div class="ttc" id="namespacetvm_1_1runtime_html_aba04626a0c1e717679d673bc90c6a23f"><div class="ttname"><a href="namespacetvm_1_1runtime.html#aba04626a0c1e717679d673bc90c6a23f">tvm::runtime::operator==</a></div><div class="ttdeci">bool operator==(const String &amp;lhs, const std::string &amp;rhs)</div><div class="ttdef"><b>Definition:</b> string.h:440</div></div>
 <div class="ttc" id="object_8h_html_a782d0de62fbf75736e29c1e79c22c7f1"><div class="ttname"><a href="object_8h.html#a782d0de62fbf75736e29c1e79c22c7f1">TVM_DEFINE_NOTNULLABLE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_NOTNULLABLE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:728</div></div>
 <div class="ttc" id="namespacetvm_1_1runtime_html_a4a8b9d4d20b7993992145f73efa2abf2"><div class="ttname"><a href="namespacetvm_1_1runtime.html#a4a8b9d4d20b7993992145f73efa2abf2">tvm::runtime::Concat</a></div><div class="ttdeci">Array&lt; T &gt; Concat(Array&lt; T &gt; lhs, const Array&lt; T &gt; &amp;rhs)</div><div class="ttdoc">Concat two Arrays. </div><div class="ttdef"><b>Definition:</b> array.h:719</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_abe6782ebaf76b9e3e1ef6ae21f5447c7"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#abe6782ebaf76b9e3e1ef6ae21f5447c7">tvm::runtime::String::compare</a></div><div class="ttdeci">int compare(const std::string &amp;other) const</div><div class="ttdoc">Compares this String object to other. </div><div class="ttdef"><b>Definition:</b> string.h:194</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_abe6782ebaf76b9e3e1ef6ae21f5447c7"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#abe6782ebaf76b9e3e1ef6ae21f5447c7">tvm::runtime::String::compare</a></div><div class="ttdeci">int compare(const std::string &amp;other) const</div><div class="ttdoc">Compares this String object to other. </div><div class="ttdef"><b>Definition:</b> string.h:189</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
diff --git a/docs/reference/api/doxygen/structtvm_1_1PoolInfoNode__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1PoolInfoNode__coll__graph.svg
index 83a767882..535b45f38 100644
--- a/docs/reference/api/doxygen/structtvm_1_1PoolInfoNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1PoolInfoNode__coll__graph.svg
@@ -214,7 +214,7 @@
 <text text-anchor="start" x="676.5" y="-694.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="676.5" y="-683.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="676.5" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="676.5" y="-661.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="676.5" y="-661.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="676.5" y="-650.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="676.5" y="-639.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1AdaptivePool1DAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1AdaptivePool1DAttrs__coll__graph.svg
index b1ca4edb8..bccbf23bd 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1AdaptivePool1DAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1AdaptivePool1DAttrs__coll__graph.svg
@@ -215,7 +215,7 @@
 <text text-anchor="start" x="334.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="334.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="334.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="334.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="334.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="334.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="334.5" y="-123.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1AdaptivePool2DAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1AdaptivePool2DAttrs__coll__graph.svg
index 21f62b3ed..4138502e3 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1AdaptivePool2DAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1AdaptivePool2DAttrs__coll__graph.svg
@@ -215,7 +215,7 @@
 <text text-anchor="start" x="334.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="334.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="334.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="334.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="334.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="334.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="334.5" y="-123.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1AdaptivePool3DAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1AdaptivePool3DAttrs__coll__graph.svg
index 5afad3120..1e488a777 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1AdaptivePool3DAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1AdaptivePool3DAttrs__coll__graph.svg
@@ -215,7 +215,7 @@
 <text text-anchor="start" x="334.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="334.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="334.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="334.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="334.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="334.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="334.5" y="-123.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1AvgPool1DAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1AvgPool1DAttrs__coll__graph.svg
index ba9644265..19892bcb5 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1AvgPool1DAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1AvgPool1DAttrs__coll__graph.svg
@@ -219,7 +219,7 @@
 <text text-anchor="start" x="334.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="334.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="334.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="334.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="334.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="334.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="334.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1AvgPool2DAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1AvgPool2DAttrs__coll__graph.svg
index 899f953fb..e64378e80 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1AvgPool2DAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1AvgPool2DAttrs__coll__graph.svg
@@ -218,7 +218,7 @@
 <text text-anchor="start" x="334.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="334.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="334.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="334.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="334.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="334.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="334.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1AvgPool3DAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1AvgPool3DAttrs__coll__graph.svg
index 56123426d..96143fcd3 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1AvgPool3DAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1AvgPool3DAttrs__coll__graph.svg
@@ -219,7 +219,7 @@
 <text text-anchor="start" x="334.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="334.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="334.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="334.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="334.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="334.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="334.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1BatchMatmulAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1BatchMatmulAttrs__coll__graph.svg
index 47200c543..9fe2566c8 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1BatchMatmulAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1BatchMatmulAttrs__coll__graph.svg
@@ -216,7 +216,7 @@
 <text text-anchor="start" x="344.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="344.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="344.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="344.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="344.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="344.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="344.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv1DAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv1DAttrs__coll__graph.svg
index 12a9f9a9f..539a4d850 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv1DAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv1DAttrs__coll__graph.svg
@@ -236,7 +236,7 @@
 <text text-anchor="start" x="450.5" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="450.5" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="450.5" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="450.5" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="450.5" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="450.5" y="-397.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="450.5" y="-386.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv2DAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv2DAttrs__coll__graph.svg
index d9bce5811..aaf740ccd 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv2DAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv2DAttrs__coll__graph.svg
@@ -238,7 +238,7 @@
 <text text-anchor="start" x="466.5" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="466.5" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="466.5" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="466.5" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="466.5" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="466.5" y="-397.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="466.5" y="-386.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv2DWinogradAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv2DWinogradAttrs__coll__graph.svg
index e7795dfd8..2ee94211f 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv2DWinogradAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv2DWinogradAttrs__coll__graph.svg
@@ -241,7 +241,7 @@
 <text text-anchor="start" x="472.5" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="472.5" y="-452.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="472.5" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="472.5" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="472.5" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="472.5" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="472.5" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv3DAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv3DAttrs__coll__graph.svg
index c20b1928e..71c2ac6ce 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv3DAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv3DAttrs__coll__graph.svg
@@ -238,7 +238,7 @@
 <text text-anchor="start" x="466.5" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="466.5" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="466.5" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="466.5" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="466.5" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="466.5" y="-397.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="466.5" y="-386.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv3DTransposeAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv3DTransposeAttrs__coll__graph.svg
index caddf4952..56ab75314 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv3DTransposeAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1Conv3DTransposeAttrs__coll__graph.svg
@@ -239,7 +239,7 @@
 <text text-anchor="start" x="475.5" y="-452.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="475.5" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="475.5" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="475.5" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="475.5" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="475.5" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="475.5" y="-397.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1CorrelationAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1CorrelationAttrs__coll__graph.svg
index 46cd5283b..96ce21fde 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1CorrelationAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1CorrelationAttrs__coll__graph.svg
@@ -218,7 +218,7 @@
 <text text-anchor="start" x="339.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="339.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="339.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="339.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="339.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="339.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="339.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1DenseAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1DenseAttrs__coll__graph.svg
index 0f215fb6c..21a6f12fa 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1DenseAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1DenseAttrs__coll__graph.svg
@@ -234,7 +234,7 @@
 <text text-anchor="start" x="506.5" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="506.5" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="506.5" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="506.5" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="506.5" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="506.5" y="-397.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="506.5" y="-386.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1DensePackAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1DensePackAttrs__coll__graph.svg
index d4cf671fa..1cc5d221b 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1DensePackAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1DensePackAttrs__coll__graph.svg
@@ -227,7 +227,7 @@
 <text text-anchor="start" x="357.5" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="357.5" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="357.5" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="357.5" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="357.5" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="357.5" y="-397.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="357.5" y="-386.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1EinsumAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1EinsumAttrs__coll__graph.svg
index 73e68753a..7efff739e 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1EinsumAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1EinsumAttrs__coll__graph.svg
@@ -148,7 +148,7 @@
 <text text-anchor="start" x="272.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="272.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="272.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="272.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="272.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="272.5" y="-123.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="272.5" y="-112.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1GlobalPool2DAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1GlobalPool2DAttrs__coll__graph.svg
index 600e94211..162b7fb4a 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1GlobalPool2DAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1GlobalPool2DAttrs__coll__graph.svg
@@ -149,7 +149,7 @@
 <text text-anchor="start" x="271.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="271.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="271.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="271.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="271.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="271.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="271.5" y="-123.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1GridSampleAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1GridSampleAttrs__coll__graph.svg
index 5615ed7dc..874a66888 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1GridSampleAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1GridSampleAttrs__coll__graph.svg
@@ -149,7 +149,7 @@
 <text text-anchor="start" x="271.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="271.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="271.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="271.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="271.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="271.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="271.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1MatmulAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1MatmulAttrs__coll__graph.svg
index 73cb2d2d9..9e8a1750e 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1MatmulAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1MatmulAttrs__coll__graph.svg
@@ -235,7 +235,7 @@
 <text text-anchor="start" x="510.5" y="-452.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="510.5" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="510.5" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="510.5" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="510.5" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="510.5" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="510.5" y="-397.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1MaxPool1DAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1MaxPool1DAttrs__coll__graph.svg
index 3dd30d506..6a16c19dd 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1MaxPool1DAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1MaxPool1DAttrs__coll__graph.svg
@@ -218,7 +218,7 @@
 <text text-anchor="start" x="335.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="335.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="335.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="335.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="335.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="335.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="335.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1MaxPool2DAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1MaxPool2DAttrs__coll__graph.svg
index 1bb6f627f..f5f39fa25 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1MaxPool2DAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1MaxPool2DAttrs__coll__graph.svg
@@ -217,7 +217,7 @@
 <text text-anchor="start" x="335.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="335.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="335.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="335.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="335.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="335.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="335.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1MaxPool3DAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1MaxPool3DAttrs__coll__graph.svg
index f2cceab21..9956600a0 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1MaxPool3DAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1MaxPool3DAttrs__coll__graph.svg
@@ -218,7 +218,7 @@
 <text text-anchor="start" x="335.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="335.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="335.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="335.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="335.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="335.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="335.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1PadAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1PadAttrs__coll__graph.svg
index 7a81f984d..9d1773136 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1PadAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1PadAttrs__coll__graph.svg
@@ -214,7 +214,7 @@
 <text text-anchor="start" x="348.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="348.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="348.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="348.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="348.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="348.5" y="-123.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="348.5" y="-112.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1ScatterNDAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1ScatterNDAttrs__coll__graph.svg
index c889b4494..e201198bf 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1ScatterNDAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1ScatterNDAttrs__coll__graph.svg
@@ -148,7 +148,7 @@
 <text text-anchor="start" x="273.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="273.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="273.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="273.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="273.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="273.5" y="-123.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="273.5" y="-112.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1StridedSliceAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1StridedSliceAttrs__coll__graph.svg
index 01236adec..f0b43f19a 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1StridedSliceAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1StridedSliceAttrs__coll__graph.svg
@@ -219,7 +219,7 @@
 <text text-anchor="start" x="355.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="355.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="355.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="355.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="355.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="355.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="355.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1TakeAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1TakeAttrs__coll__graph.svg
index 7f30b00e8..e4d6e3592 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1TakeAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1TakeAttrs__coll__graph.svg
@@ -277,7 +277,7 @@
 <text text-anchor="start" x="403.5" y="-1005.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="403.5" y="-994.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="403.5" y="-983.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="403.5" y="-972.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="403.5" y="-972.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="403.5" y="-961.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="403.5" y="-950.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1relay_1_1UpSamplingAttrs__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1relay_1_1UpSamplingAttrs__coll__graph.svg
index c407def79..78f117188 100644
--- a/docs/reference/api/doxygen/structtvm_1_1relay_1_1UpSamplingAttrs__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1relay_1_1UpSamplingAttrs__coll__graph.svg
@@ -151,7 +151,7 @@
 <text text-anchor="start" x="271.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="271.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="271.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="271.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="271.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="271.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="271.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1runtime_1_1profiling_1_1CallFrame__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1runtime_1_1profiling_1_1CallFrame__coll__graph.svg
index 25825fbba..cda7215ca 100644
--- a/docs/reference/api/doxygen/structtvm_1_1runtime_1_1profiling_1_1CallFrame__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1runtime_1_1profiling_1_1CallFrame__coll__graph.svg
@@ -97,7 +97,7 @@
 <text text-anchor="start" x="169.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="169.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="169.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="169.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="169.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="169.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="169.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode__coll__graph.svg
index 2f53ae382..fd4767a86 100644
--- a/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode__coll__graph.svg
@@ -214,7 +214,7 @@
 <text text-anchor="start" x="506.5" y="-639.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="506.5" y="-628.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <text text-anchor="start" x="506.5" y="-617.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="506.5" y="-606.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
+<text text-anchor="start" x="506.5" y="-606.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
 <text text-anchor="start" x="506.5" y="-595.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
 <text text-anchor="start" x="506.5" y="-584.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
diff --git a/docs/reference/api/doxygen/tag_8h_source.html b/docs/reference/api/doxygen/tag_8h_source.html
index a6880d8b5..8e686cca7 100644
--- a/docs/reference/api/doxygen/tag_8h_source.html
+++ b/docs/reference/api/doxygen/tag_8h_source.html
@@ -77,7 +77,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1AttrRegistryMapContainerMap_html"><div class="ttname"><a href="classtvm_1_1AttrRegistryMapContainerMap.html">tvm::AttrRegistryMapContainerMap</a></div><div class="ttdoc">Generic attribute map. </div><div class="ttdef"><b>Definition:</b> attr_registry_map.h:38</div></div>
 <div class="ttc" id="classtvm_1_1AttrVisitor_html"><div class="ttname"><a href="classtvm_1_1AttrVisitor.html">tvm::AttrVisitor</a></div><div class="ttdoc">Visitor class to get the attributes of an AST/IR node. The content is going to be called for each fie...</div><div class="ttdef"><b>Definition:</b> reflection.h:52</div></div>
 <div class="ttc" id="classtvm_1_1TargetTagNode_html_a512632a5c1441a191697b6d42860e757"><div class="ttname"><a href="classtvm_1_1TargetTagNode.html#a512632a5c1441a191697b6d42860e757">tvm::TargetTagNode::TargetTagRegEntry</a></div><div class="ttdeci">friend class TargetTagRegEntry</div><div class="ttdef"><b>Definition:</b> tag.h:63</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1TargetTagRegEntry_html"><div class="ttname"><a href="classtvm_1_1TargetTagRegEntry.html">tvm::TargetTagRegEntry</a></div><div class="ttdef"><b>Definition:</b> tag.h:100</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="classtvm_1_1Target_html"><div class="ttname"><a href="classtvm_1_1Target.html">tvm::Target</a></div><div class="ttdoc">Managed reference class to TargetNode. </div><div class="ttdef"><b>Definition:</b> target.h:141</div></div>
diff --git a/docs/reference/api/doxygen/target_8h_source.html b/docs/reference/api/doxygen/target_8h_source.html
index d515ccd67..c9ad9b3c4 100644
--- a/docs/reference/api/doxygen/target_8h_source.html
+++ b/docs/reference/api/doxygen/target_8h_source.html
@@ -92,7 +92,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1Map_html_abce8c6206f11edfd3c493b843d52685f"><div class="ttname"><a href="classtvm_1_1runtime_1_1Map.html#abce8c6206f11edfd3c493b843d52685f">tvm::runtime::Map::find</a></div><div class="ttdeci">iterator find(const K &amp;key) const</div><div class="ttdef"><b>Definition:</b> map.h:1380</div></div>
 <div class="ttc" id="classtvm_1_1TargetNode_html_a41181a3757227725abc614e976b264ad"><div class="ttname"><a href="classtvm_1_1TargetNode.html#a41181a3757227725abc614e976b264ad">tvm::TargetNode::ToDebugString</a></div><div class="ttdeci">String ToDebugString() const</div><div class="ttdoc">Returns a human readable representation of Target which includes all fields, especially the host...</div></div>
 <div class="ttc" id="classtvm_1_1TargetNode_html_a65394b35be247cafb4376da9d6c81440"><div class="ttname"><a href="classtvm_1_1TargetNode.html#a65394b35be247cafb4376da9d6c81440">tvm::TargetNode::_type_has_method_sequal_reduce</a></div><div class="ttdeci">static constexpr const bool _type_has_method_sequal_reduce</div><div class="ttdef"><b>Definition:</b> target.h:126</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1TargetNode_html_a0214077090c7210fc72645324fbf25cf"><div class="ttname"><a href="classtvm_1_1TargetNode.html#a0214077090c7210fc72645324fbf25cf">tvm::TargetNode::GetAttr</a></div><div class="ttdeci">Optional&lt; TObjectRef &gt; GetAttr(const std::string &amp;attr_key, TObjectRef default_value) const</div><div class="ttdoc">Get an entry from attrs of the target. </div><div class="ttdef"><b>Definition:</b> target.h:114</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="classtvm_1_1TargetNode_html_abd05b2c258974b13af1192c911ccb12b"><div class="ttname"><a href="classtvm_1_1TargetNode.html#abd05b2c258974b13af1192c911ccb12b">tvm::TargetNode::GetKeys</a></div><div class="ttdeci">std::vector&lt; std::string &gt; GetKeys() const</div><div class="ttdoc">Get the keys for this target as a vector of string. </div></div>
diff --git a/docs/reference/api/doxygen/target__kind_8h_source.html b/docs/reference/api/doxygen/target__kind_8h_source.html
index 2d8b558bf..8845f3c0c 100644
--- a/docs/reference/api/doxygen/target__kind_8h_source.html
+++ b/docs/reference/api/doxygen/target__kind_8h_source.html
@@ -89,7 +89,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1TargetKindRegEntry_html"><div class="ttname"><a href="classtvm_1_1TargetKindRegEntry.html">tvm::TargetKindRegEntry</a></div><div class="ttdoc">Helper structure to register TargetKind. </div><div class="ttdef"><b>Definition:</b> target_kind.h:175</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="classtvm_1_1transform_1_1Pass_html"><div class="ttname"><a href="classtvm_1_1transform_1_1Pass.html">tvm::transform::Pass</a></div><div class="ttdef"><b>Definition:</b> transform.h:363</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc</a></div><div class="ttdoc">Please refer to TypedPackedFunc&lt;R(Args..)&gt;. </div><div class="ttdef"><b>Definition:</b> packed_func.h:60</div></div>
 <div class="ttc" id="structtvm_1_1detail_1_1ValueTypeInfoMaker_html"><div class="ttname"><a href="structtvm_1_1detail_1_1ValueTypeInfoMaker.html">tvm::detail::ValueTypeInfoMaker</a></div><div class="ttdef"><b>Definition:</b> target_kind.h:66</div></div>
 <div class="ttc" id="namespacetvm_1_1relay_html_a661d95f170bca230773914caeef3fe52"><div class="ttname"><a href="namespacetvm_1_1relay.html#a661d95f170bca230773914caeef3fe52">tvm::relay::Type</a></div><div class="ttdeci">tvm::Type Type</div><div class="ttdef"><b>Definition:</b> type.h:47</div></div>
diff --git a/docs/reference/api/doxygen/tensor_8h_source.html b/docs/reference/api/doxygen/tensor_8h_source.html
index 0046f23ac..52f0f085f 100644
--- a/docs/reference/api/doxygen/tensor_8h_source.html
+++ b/docs/reference/api/doxygen/tensor_8h_source.html
@@ -92,7 +92,7 @@ $(function() {
 <div class="ttc" id="structtvm_1_1runtime_1_1ObjectPtrHash_html"><div class="ttname"><a href="structtvm_1_1runtime_1_1ObjectPtrHash.html">tvm::runtime::ObjectPtrHash</a></div><div class="ttdoc">ObjectRef hash functor. </div><div class="ttdef"><b>Definition:</b> object.h:624</div></div>
 <div class="ttc" id="classtvm_1_1te_1_1TensorNode_html_a2601a8951d0cf798f435e8f922a051dd"><div class="ttname"><a href="classtvm_1_1te_1_1TensorNode.html#a2601a8951d0cf798f435e8f922a051dd">tvm::te::TensorNode::GetDataType</a></div><div class="ttdeci">DataType GetDataType() const final</div><div class="ttdoc">Get the data type of the result. </div><div class="ttdef"><b>Definition:</b> tensor.h:90</div></div>
 <div class="ttc" id="classtvm_1_1te_1_1Operation_html_a7bc69f793cb5cbc99bf20fed8617d487"><div class="ttname"><a href="classtvm_1_1te_1_1Operation.html#a7bc69f793cb5cbc99bf20fed8617d487">tvm::te::Operation::Operation</a></div><div class="ttdeci">Operation()</div><div class="ttdoc">default constructor </div><div class="ttdef"><b>Definition:</b> tensor.h:50</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1te_1_1TensorNode_html_a153569448cb1bf9d2924d35639c3b8b8"><div class="ttname"><a href="classtvm_1_1te_1_1TensorNode.html#a153569448cb1bf9d2924d35639c3b8b8">tvm::te::TensorNode::TensorNode</a></div><div class="ttdeci">TensorNode()</div><div class="ttdoc">constructor </div><div class="ttdef"><b>Definition:</b> tensor.h:79</div></div>
 <div class="ttc" id="classtvm_1_1te_1_1Tensor_1_1Slice_html_a1a00e3ec5f80973c337b0e7ab9c0974d"><div class="ttname"><a href="classtvm_1_1te_1_1Tensor_1_1Slice.html#a1a00e3ec5f80973c337b0e7ab9c0974d">tvm::te::Tensor::Slice::operator[]</a></div><div class="ttdeci">Slice operator[](PrimExpr i)</div><div class="ttdoc">get i-th slice from the current slice. </div><div class="ttdef"><b>Definition:</b> tensor.h:187</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor. </div><div class="ttdef"><b>Definition:</b> transform.h:1758</div></div>
diff --git a/docs/reference/api/doxygen/tir_2expr_8h_source.html b/docs/reference/api/doxygen/tir_2expr_8h_source.html
index 989574900..de0f495c1 100644
--- a/docs/reference/api/doxygen/tir_2expr_8h_source.html
+++ b/docs/reference/api/doxygen/tir_2expr_8h_source.html
@@ -194,7 +194,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1tir_1_1ReduceNode_html_a3e27c310483199b33784b1b98e3787af"><div class="ttname"><a href="classtvm_1_1tir_1_1ReduceNode.html#a3e27c310483199b33784b1b98e3787af">tvm::tir::ReduceNode::value_index</a></div><div class="ttdeci">int value_index</div><div class="ttdoc">the index of this reduce node </div><div class="ttdef"><b>Definition:</b> expr.h:1082</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1CastNode_html"><div class="ttname"><a href="classtvm_1_1tir_1_1CastNode.html">tvm::tir::CastNode</a></div><div class="ttdoc">Cast value from one data type to another. </div><div class="ttdef"><b>Definition:</b> expr.h:88</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1CommReducerNode_html_aa2a1b2580c68193d8e122d1a525a3092"><div class="ttname"><a href="classtvm_1_1tir_1_1CommReducerNode.html#aa2a1b2580c68193d8e122d1a525a3092">tvm::tir::CommReducerNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> expr.h:1040</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1RelayExpr_html"><div class="ttname"><a href="classtvm_1_1RelayExpr.html">tvm::RelayExpr</a></div><div class="ttdoc">Managed reference to RelayExprNode. </div><div class="ttdef"><b>Definition:</b> expr.h:217</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1ShuffleNode_html_af92dbc6a0550db6a5eadaff1ca620bee"><div class="ttname"><a href="classtvm_1_1tir_1_1ShuffleNode.html#af92dbc6a0550db6a5eadaff1ca620bee">tvm::tir::ShuffleNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const ShuffleNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> expr.h:972</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1StringImmNode_html_a99c1ae09343d2a751523871480eba905"><div class="ttname"><a href="classtvm_1_1tir_1_1StringImmNode.html#a99c1ae09343d2a751523871480eba905">tvm::tir::StringImmNode::TVM_DECLARE_FINAL_OBJECT_INFO</a></div><div class="ttdeci">TVM_DECLARE_FINAL_OBJECT_INFO(StringImmNode, PrimExprNode)</div></div>
diff --git a/docs/reference/api/doxygen/tir_2function_8h_source.html b/docs/reference/api/doxygen/tir_2function_8h_source.html
index c3eac1003..cb4b3e1ba 100644
--- a/docs/reference/api/doxygen/tir_2function_8h_source.html
+++ b/docs/reference/api/doxygen/tir_2function_8h_source.html
@@ -99,7 +99,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1tir_1_1PrimFunc_html"><div class="ttname"><a href="classtvm_1_1tir_1_1PrimFunc.html">tvm::tir::PrimFunc</a></div><div class="ttdoc">Managed reference to PrimFuncNode. </div><div class="ttdef"><b>Definition:</b> function.h:156</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1PrimFuncNode_html_a547273727ddd02acbf44ff46b3a420c2"><div class="ttname"><a href="classtvm_1_1tir_1_1PrimFuncNode.html#a547273727ddd02acbf44ff46b3a420c2">tvm::tir::PrimFuncNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> function.h:131</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1Stmt_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Stmt.html">tvm::tir::Stmt</a></div><div class="ttdoc">Container of all statements. </div><div class="ttdef"><b>Definition:</b> stmt.h:57</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="namespacetvm_1_1tir_html_a69b6f1b0014dc6e7dd390cff746e9782"><div class="ttname"><a href="namespacetvm_1_1tir.html#a69b6f1b0014dc6e7dd390cff746e9782">tvm::tir::Specialize</a></div><div class="ttdeci">PrimFunc Specialize(PrimFunc func, const Map&lt; Var, ObjectRef &gt; &amp;param_map)</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1PrimFuncNode_html_a612a3bbaa9418eb629180e80084a9d69"><div class="ttname"><a href="classtvm_1_1tir_1_1PrimFuncNode.html#a612a3bbaa9418eb629180e80084a9d69">tvm::tir::PrimFuncNode::TVM_DECLARE_FINAL_OBJECT_INFO</a></div><div class="ttdeci">TVM_DECLARE_FINAL_OBJECT_INFO(PrimFuncNode, BaseFuncNode)</div></div>
diff --git a/docs/reference/api/doxygen/tir_2op__attr__types_8h_source.html b/docs/reference/api/doxygen/tir_2op__attr__types_8h_source.html
index 9c66de639..e176c22ac 100644
--- a/docs/reference/api/doxygen/tir_2op__attr__types_8h_source.html
+++ b/docs/reference/api/doxygen/tir_2op__attr__types_8h_source.html
@@ -75,7 +75,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_1_1tir_html_a8f4a86b205145696c0555fd02bd37f46a8d8bb1cb393c8e093395350919eed4a7"><div class="ttname"><a href="namespacetvm_1_1tir.html#a8f4a86b205145696c0555fd02bd37f46a8d8bb1cb393c8e093395350919eed4a7">tvm::tir::CallEffectKind::kReadState</a></div><div class="ttdoc">Function&amp;#39;s that may read from states(e.g. RAM) </div></div>
 <div class="ttc" id="namespacetvm_1_1tir_html_a8f4a86b205145696c0555fd02bd37f46a7ee78dd23fcf08988dfc48b55fce359a"><div class="ttname"><a href="namespacetvm_1_1tir.html#a8f4a86b205145696c0555fd02bd37f46a7ee78dd23fcf08988dfc48b55fce359a">tvm::tir::CallEffectKind::kPure</a></div><div class="ttdoc">Pure function that do not interacts with any external state. </div></div>
 <div class="ttc" id="namespacetvm_1_1tir_html_a8f4a86b205145696c0555fd02bd37f46"><div class="ttname"><a href="namespacetvm_1_1tir.html#a8f4a86b205145696c0555fd02bd37f46">tvm::tir::CallEffectKind</a></div><div class="ttdeci">CallEffectKind</div><div class="ttdoc">The effect type of the call. </div><div class="ttdef"><b>Definition:</b> op_attr_types.h:60</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc</a></div><div class="ttdoc">Please refer to TypedPackedFunc&lt;R(Args..)&gt;. </div><div class="ttdef"><b>Definition:</b> packed_func.h:60</div></div>
 <div class="ttc" id="namespacetvm_1_1tir_html_a8f4a86b205145696c0555fd02bd37f46af5cd553beea158407e669139955fffe0"><div class="ttname"><a href="namespacetvm_1_1tir.html#a8f4a86b205145696c0555fd02bd37f46af5cd553beea158407e669139955fffe0">tvm::tir::CallEffectKind::kUpdateState</a></div><div class="ttdoc">Function that may read/write from states(e.g. RAM). </div></div>
 <div class="ttc" id="namespacetvm_1_1tir_html_a8f4a86b205145696c0555fd02bd37f46a9d51682d02407dcdbbd4622cd54e4373"><div class="ttname"><a href="namespacetvm_1_1tir.html#a8f4a86b205145696c0555fd02bd37f46a9d51682d02407dcdbbd4622cd54e4373">tvm::tir::CallEffectKind::kEmbedInfo</a></div><div class="ttdoc">Embed opaque information in the Expr, cannot be codegen. </div></div>
diff --git a/docs/reference/api/doxygen/tir_2schedule_2schedule_8h_source.html b/docs/reference/api/doxygen/tir_2schedule_2schedule_8h_source.html
index 6220aaeb5..6ae195787 100644
--- a/docs/reference/api/doxygen/tir_2schedule_2schedule_8h_source.html
+++ b/docs/reference/api/doxygen/tir_2schedule_2schedule_8h_source.html
@@ -90,7 +90,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1IndexMap_html"><div class="ttname"><a href="classtvm_1_1tir_1_1IndexMap.html">tvm::tir::IndexMap</a></div><div class="ttdef"><b>Definition:</b> index_map.h:154</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1Stmt_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Stmt.html">tvm::tir::Stmt</a></div><div class="ttdoc">Container of all statements. </div><div class="ttdef"><b>Definition:</b> stmt.h:57</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="namespacetvm_1_1tir_html_a9ae244600a5e56c4adc9faf6d88f931eae250345d92c29e0a7d8d215ac3b67997"><div class="ttname"><a href="namespacetvm_1_1tir.html#a9ae244600a5e56c4adc9faf6d88f931eae250345d92c29e0a7d8d215ac3b67997">tvm::tir::ScheduleErrorRenderLevel::kFast</a></div><div class="ttdoc">Render the error in fast mode. </div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html_aadbc0886ffa80162ff31eefd0431ba09"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html#aadbc0886ffa80162ff31eefd0431ba09">tvm::runtime::ObjectRef::get</a></div><div class="ttdeci">const Object * get() const</div><div class="ttdef"><b>Definition:</b> object.h:546</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1ScheduleNode_html"><div class="ttname"><a href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></div><div class="ttdoc">The user-facing schedule class. </div><div class="ttdef"><b>Definition:</b> schedule.h:102</div></div>
diff --git a/docs/reference/api/doxygen/tir_2usmp_2utils_8h_source.html b/docs/reference/api/doxygen/tir_2usmp_2utils_8h_source.html
index 491f24889..650bbff1b 100644
--- a/docs/reference/api/doxygen/tir_2usmp_2utils_8h_source.html
+++ b/docs/reference/api/doxygen/tir_2usmp_2utils_8h_source.html
@@ -106,7 +106,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="namespacetvm_1_1tir_1_1usmp_html_a40a26630428319adf281826355d3e56f"><div class="ttname"><a href="namespacetvm_1_1tir_1_1usmp.html#a40a26630428319adf281826355d3e56f">tvm::tir::usmp::CalculateModuleWorkspaceSize</a></div><div class="ttdeci">Integer CalculateModuleWorkspaceSize(const IRModule &amp;mod)</div><div class="ttdoc">Calculate workspace required to execute a IRModule with main expressed in TIR. </div></div>
 <div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode_html_ae40b59b07953bbabbe5ae034ace2cecc"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#ae40b59b07953bbabbe5ae034ace2cecc">tvm::tir::usmp::BufferInfoNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> utils.h:96</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="device__api_8h_html"><div class="ttname"><a href="device__api_8h.html">device_api.h</a></div><div class="ttdoc">Abstract device memory management API. </div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1AllocateNode_html"><div class="ttname"><a href="classtvm_1_1tir_1_1AllocateNode.html">tvm::tir::AllocateNode</a></div><div class="ttdoc">Allocate a buffer that can be used in body. </div><div class="ttdef"><b>Definition:</b> stmt.h:513</div></div>
 <div class="ttc" id="namespacetvm_html_a42ee9d0672e323515afbef908e8fe458"><div class="ttname"><a href="namespacetvm.html#a42ee9d0672e323515afbef908e8fe458">tvm::kUSMPUseWorkspaceIO</a></div><div class="ttdeci">constexpr const char * kUSMPUseWorkspaceIO</div><div class="ttdoc">PassContext option to enable placing I/O tensors in the workspace. </div><div class="ttdef"><b>Definition:</b> utils.h:47</div></div>
diff --git a/docs/reference/api/doxygen/topi_2transform_8h_source.html b/docs/reference/api/doxygen/topi_2transform_8h_source.html
index e60673e33..7e0aba1b2 100644
--- a/docs/reference/api/doxygen/topi_2transform_8h_source.html
+++ b/docs/reference/api/doxygen/topi_2transform_8h_source.html
@@ -128,7 +128,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1IntImm_html"><div class="ttname"><a href="classtvm_1_1IntImm.html">tvm::IntImm</a></div><div class="ttdoc">Managed reference class to IntImmNode. </div><div class="ttdef"><b>Definition:</b> expr.h:304</div></div>
 <div class="ttc" id="namespacetvm_html_a0df5ca82d2c566f628ebb2f1e84a3fcb"><div class="ttname"><a href="namespacetvm.html#a0df5ca82d2c566f628ebb2f1e84a3fcb">tvm::max</a></div><div class="ttdeci">PrimExpr max(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">take maximum of two values </div></div>
 <div class="ttc" id="classtvm_1_1IntImmNode_html_a81f4c116ffb5931fdd64639eacad415d"><div class="ttname"><a href="classtvm_1_1IntImmNode.html#a81f4c116ffb5931fdd64639eacad415d">tvm::IntImmNode::value</a></div><div class="ttdeci">int64_t value</div><div class="ttdoc">the Internal value. </div><div class="ttdef"><b>Definition:</b> expr.h:278</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="namespacetvm_1_1tir_html_aed3f57cf8d1c3546f075701898c5b70f"><div class="ttname"><a href="namespacetvm_1_1tir.html#aed3f57cf8d1c3546f075701898c5b70f">tvm::tir::make_zero</a></div><div class="ttdeci">PrimExpr make_zero(DataType t, Span span=Span())</div><div class="ttdoc">Make a const zero expr. </div><div class="ttdef"><b>Definition:</b> op.h:1138</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor. </div><div class="ttdef"><b>Definition:</b> transform.h:1758</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_a453f9f5a35a9852a086ce0228ee22164"><div class="ttname"><a href="namespacetvm_1_1topi.html#a453f9f5a35a9852a086ce0228ee22164">tvm::topi::meshgrid</a></div><div class="ttdeci">Array&lt; Tensor &gt; meshgrid(const Array&lt; Tensor &gt; &amp;inputs, const std::string &amp;indexing, std::string name=&quot;T_meshgrid&quot;, std::string tag=kInjective)</div><div class="ttdoc">Produce grids by expanding input over dimensions defined by other inputs. [...]
diff --git a/docs/reference/api/doxygen/transform__step_8h_source.html b/docs/reference/api/doxygen/transform__step_8h_source.html
index b649b0479..078c7c38d 100644
--- a/docs/reference/api/doxygen/transform__step_8h_source.html
+++ b/docs/reference/api/doxygen/transform__step_8h_source.html
@@ -127,7 +127,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_1_1auto__scheduler_html_ad81bc395fc88957fbd33bf041adbe0ecaedadd74840df80bf250991162ebb06fc"><div class="ttname"><a href="namespacetvm_1_1auto__scheduler.html#ad81bc395fc88957fbd33bf041adbe0ecaedadd74840df80bf250991162ebb06fc">tvm::auto_scheduler::IteratorAnnotation::kThreadZ</a></div><div class="ttdoc">This iterator has been bind to threadIdx.y. </div></div>
 <div class="ttc" id="namespacetvm_1_1auto__scheduler_html_af721042ba0b561f387dbcc5d2fe3b5b0"><div class="ttname"><a href="namespacetvm_1_1auto__scheduler.html#af721042ba0b561f387dbcc5d2fe3b5b0">tvm::auto_scheduler::UpdateStageToAxesMap</a></div><div class="ttdeci">void UpdateStageToAxesMap(const te::Stage &amp;stage, StageToAxesMap *stage_to_axes)</div><div class="ttdoc">Update the current stage IterVar information to StageToAxesMap. </div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1StepNode_html"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1StepNode.html">tvm::auto_scheduler::StepNode</a></div><div class="ttdoc">The base class of transformation steps. Each step has its corresponding tvm.te schedule primitives...</div><div class="ttdef"><b>Definition:</b> transform_step.h:164</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1CacheWriteStep_html"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1CacheWriteStep.html">tvm::auto_scheduler::CacheWriteStep</a></div><div class="ttdoc">Managed reference to CacheWriteStepNode. </div><div class="ttdef"><b>Definition:</b> transform_step.h:1107</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1PragmaStepNode_html_aaa89c2151eeaff9de0ac7a9e9daeae69"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1PragmaStepNode.html#aaa89c2151eeaff9de0ac7a9e9daeae69">tvm::auto_scheduler::PragmaStepNode::pragma_type</a></div><div class="ttdeci">String pragma_type</div><div class="ttdoc">The pragma string. </div><div class="ttdef"><b>Definition:</b> transform_step.h:381</div></div>
 <div class="ttc" id="classtvm_1_1auto__scheduler_1_1FuseStepNode_html_a19c1a7b47f59a4f004a2dd9f354835eb"><div class="ttname"><a href="classtvm_1_1auto__scheduler_1_1FuseStepNode.html#a19c1a7b47f59a4f004a2dd9f354835eb">tvm::auto_scheduler::FuseStepNode::fused_ids</a></div><div class="ttdeci">Array&lt; Integer &gt; fused_ids</div><div class="ttdoc">The ids of iterators to fuse. </div><div class="ttdef"><b>Definition:</b> transform_step.h:317</div></div>
diff --git a/docs/reference/api/doxygen/var_8h_source.html b/docs/reference/api/doxygen/var_8h_source.html
index aeef7d63f..7b627e51d 100644
--- a/docs/reference/api/doxygen/var_8h_source.html
+++ b/docs/reference/api/doxygen/var_8h_source.html
@@ -109,7 +109,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_1_1tir_html_add7d0a6b1dd91f0c3c5dd2f4cf64358eac78682fe1cb0a6de8511f2fc5144c0b4"><div class="ttname"><a href="namespacetvm_1_1tir.html#add7d0a6b1dd91f0c3c5dd2f4cf64358eac78682fe1cb0a6de8511f2fc5144c0b4">tvm::tir::kCommReduce</a></div><div class="ttdoc">Communicative reduction. Cannot be directly parallelized. </div><div class="ttdef"><b>Definition:</b> var.h:202</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1IterVarNode_html_a09036ef2df09e7caf21e66dcb62675a6"><div class="ttname"><a href="classtvm_1_1tir_1_1IterVarNode.html#a09036ef2df09e7caf21e66dcb62675a6">tvm::tir::IterVarNode::var</a></div><div class="ttdeci">Var var</div><div class="ttdoc">The looping variable. </div><div class="ttdef"><b>Definition:</b> var.h:255</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1IterVarNode_html_af733200a8afd687584ffb8a52fb6a533"><div class="ttname"><a href="classtvm_1_1tir_1_1IterVarNode.html#af733200a8afd687584ffb8a52fb6a533">tvm::tir::IterVarNode::iter_type</a></div><div class="ttdeci">IterVarType iter_type</div><div class="ttdoc">The type of the IterVar. </div><div class="ttdef"><b>Definition:</b> var.h:257</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="namespacetvm_1_1tir_html_add7d0a6b1dd91f0c3c5dd2f4cf64358ea1d03c8fa5be7edb0032b8155736239bd"><div class="ttname"><a href="namespacetvm_1_1tir.html#add7d0a6b1dd91f0c3c5dd2f4cf64358ea1d03c8fa5be7edb0032b8155736239bd">tvm::tir::kVectorized</a></div><div class="ttdoc">The loop is vectorized. </div><div class="ttdef"><b>Definition:</b> var.h:230</div></div>
 <div class="ttc" id="namespacetvm_1_1tir_html_add7d0a6b1dd91f0c3c5dd2f4cf64358ea37ab325f4c3ab1d2a905cbfe546bc403"><div class="ttname"><a href="namespacetvm_1_1tir.html#add7d0a6b1dd91f0c3c5dd2f4cf64358ea37ab325f4c3ab1d2a905cbfe546bc403">tvm::tir::kUnrolled</a></div><div class="ttdoc">The execution is unrolled. </div><div class="ttdef"><b>Definition:</b> var.h:226</div></div>
diff --git a/docs/reference/api/doxygen/virtual__device_8h_source.html b/docs/reference/api/doxygen/virtual__device_8h_source.html
index dd53b0fa5..cd95984d0 100644
--- a/docs/reference/api/doxygen/virtual__device_8h_source.html
+++ b/docs/reference/api/doxygen/virtual__device_8h_source.html
@@ -81,7 +81,7 @@ $(function() {
 <div class="ttc" id="ir_2transform_8h_html"><div class="ttname"><a href="ir_2transform_8h.html">transform.h</a></div></div>
 <div class="ttc" id="classtvm_1_1VirtualDeviceNode_html_aa064c0bfcde20d10249291199908bf15"><div class="ttname"><a href="classtvm_1_1VirtualDeviceNode.html#aa064c0bfcde20d10249291199908bf15">tvm::VirtualDeviceNode::memory_scope</a></div><div class="ttdeci">MemoryScope memory_scope</div><div class="ttdoc">The scope of memory w.r.t. the virtual device which holds data. </div><div class="ttdef"><b>Definition:</b> virtual_device.h:206</div></div>
 <div class="ttc" id="ir_2attrs_8h_html_a578da113eb199bad72e26c03ad24832f"><div class="ttname"><a href="ir_2attrs_8h.html#a578da113eb199bad72e26c03ad24832f">TVM_ATTR_FIELD</a></div><div class="ttdeci">#define TVM_ATTR_FIELD(FieldName)</div><div class="ttdoc">Declare an attribute field. </div><div class="ttdef"><b>Definition:</b> attrs.h:76</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
 <div class="ttc" id="namespacetvm_html_a7c2095aed90b2129ba631b90103313a2"><div class="ttname"><a href="namespacetvm.html#a7c2095aed90b2129ba631b90103313a2">tvm::Device</a></div><div class="ttdeci">DLDevice Device</div><div class="ttdef"><b>Definition:</b> ndarray.h:43</div></div>
 <div class="ttc" id="classtvm_1_1VirtualDeviceNode_html"><div class="ttname"><a href="classtvm_1_1VirtualDeviceNode.html">tvm::VirtualDeviceNode</a></div><div class="ttdoc">Describes at compile time the constraints on where data is to be stored at runtime down to the (virtu...</div><div class="ttdef"><b>Definition:</b> virtual_device.h:166</div></div>
 <div class="ttc" id="classtvm_1_1Target_html"><div class="ttname"><a href="classtvm_1_1Target.html">tvm::Target</a></div><div class="ttdoc">Managed reference class to TargetNode. </div><div class="ttdef"><b>Definition:</b> target.h:141</div></div>
@@ -95,7 +95,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1VirtualDeviceNode_html_a5e3f67045652bc27b937acf1ddc677a7"><div class="ttname"><a href="classtvm_1_1VirtualDeviceNode.html#a5e3f67045652bc27b937acf1ddc677a7">tvm::VirtualDeviceNode::device_type</a></div><div class="ttdeci">DLDeviceType device_type() const</div><div class="ttdef"><b>Definition:</b> virtual_device.h:182</div></div>
 <div class="ttc" id="classtvm_1_1VirtualDevice_html_afd61f3e9bdba41793aff8644836c2002"><div class="ttname"><a href="classtvm_1_1VirtualDevice.html#afd61f3e9bdba41793aff8644836c2002">tvm::VirtualDevice::ForTarget</a></div><div class="ttdeci">static VirtualDevice ForTarget(Target target)</div><div class="ttdoc">Returns the VirtualDevice for target. </div><div class="ttdef"><b>Definition:</b> virtual_device.h:306</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Optional_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Optional.html">tvm::runtime::Optional</a></div><div class="ttdoc">Optional container that to represent to a Nullable variant of T. </div><div class="ttdef"><b>Definition:</b> optional.h:51</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a897a877128c8b8a7e57dec0847cf33c7"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a897a877128c8b8a7e57dec0847cf33c7">tvm::runtime::String::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Retun if the string is empty. </div><div class="ttdef"><b>Definition:</b> string.h:239</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html_a897a877128c8b8a7e57dec0847cf33c7"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html#a897a877128c8b8a7e57dec0847cf33c7">tvm::runtime::String::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Retun if the string is empty. </div><div class="ttdef"><b>Definition:</b> string.h:234</div></div>
 <div class="ttc" id="classtvm_1_1VirtualDevice_html_a859ffef73cabbfa3e886ff05e412d6ba"><div class="ttname"><a href="classtvm_1_1VirtualDevice.html#a859ffef73cabbfa3e886ff05e412d6ba">tvm::VirtualDevice::ForDeviceAndTarget</a></div><div class="ttdeci">static VirtualDevice ForDeviceAndTarget(const Device &amp;device, Target target)</div><div class="ttdoc">Returns the VirtualDevice for device and target. </div><div class="ttdef"><b>Definition:</b> virtual_device.h:301</div></div>
 <div class="ttc" id="object_8h_html_a782d0de62fbf75736e29c1e79c22c7f1"><div class="ttname"><a href="object_8h.html#a782d0de62fbf75736e29c1e79c22c7f1">TVM_DEFINE_NOTNULLABLE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_NOTNULLABLE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:728</div></div>
 <div class="ttc" id="classtvm_1_1VirtualDeviceNode_html_acbae67e35fb5348e30101ae23073ad52"><div class="ttname"><a href="classtvm_1_1VirtualDeviceNode.html#acbae67e35fb5348e30101ae23073ad52">tvm::VirtualDeviceNode::IsFullyUnconstrained</a></div><div class="ttdeci">bool IsFullyUnconstrained() const</div><div class="ttdoc">Returns true if virtual device is &amp;#39;fully unconstrained&amp;#39;, ie no target/device type, device id or memory scope is specified. </div><div class="ttdef"><b>Def [...]
diff --git a/docs/reference/api/python/auto_scheduler.html b/docs/reference/api/python/auto_scheduler.html
index b66864f24..1a7c9004c 100644
--- a/docs/reference/api/python/auto_scheduler.html
+++ b/docs/reference/api/python/auto_scheduler.html
@@ -1737,7 +1737,7 @@ Can be the a function or the function name.</p></li>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="tvm.auto_scheduler.auto_schedule">
-<span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">auto_schedule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">search_policy</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em clas [...]
+<span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">auto_schedule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">search_policy</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em clas [...]
 <dd><p>THIS API IS DEPRECATED.</p>
 <p>Run auto scheduling search for a task.</p>
 <dl class="field-list simple">
@@ -1774,7 +1774,7 @@ the initial naive schedule (state).</p>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="tvm.auto_scheduler.SketchPolicy">
-<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">SketchPolicy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">program_cost_model</span></span><span class="o"><span class="pre">=</span></span><span class="defau [...]
+<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">SketchPolicy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">program_cost_model</span></span><span class="o"><span class="pre">=</span></span><span class="defau [...]
 <dd><p>The search policy that searches in a hierarchical search space defined by sketches.
 The policy randomly samples programs from the space defined by sketches and use evolutionary
 search to fine-tune them.</p>
diff --git a/docs/reference/api/typedoc/classes/bytestreamreader.html b/docs/reference/api/typedoc/classes/bytestreamreader.html
index 27bfca11f..155c8e4aa 100644
--- a/docs/reference/api/typedoc/classes/bytestreamreader.html
+++ b/docs/reference/api/typedoc/classes/bytestreamreader.html
@@ -119,7 +119,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L43">rpc_server.ts:43</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L43">rpc_server.ts:43</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -141,7 +141,7 @@
 					<div class="tsd-signature tsd-kind-icon">bytes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint8Array</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L43">rpc_server.ts:43</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L43">rpc_server.ts:43</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -151,7 +151,7 @@
 					<div class="tsd-signature tsd-kind-icon">offset<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L42">rpc_server.ts:42</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L42">rpc_server.ts:42</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -168,7 +168,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L63">rpc_server.ts:63</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L63">rpc_server.ts:63</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Uint8Array</span></h4>
@@ -185,7 +185,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L49">rpc_server.ts:49</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L49">rpc_server.ts:49</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
@@ -202,7 +202,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L57">rpc_server.ts:57</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L57">rpc_server.ts:57</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
diff --git a/docs/reference/api/typedoc/classes/cachedcallstack.html b/docs/reference/api/typedoc/classes/cachedcallstack.html
index 03ac6aa8f..a4f5c1099 100644
--- a/docs/reference/api/typedoc/classes/cachedcallstack.html
+++ b/docs/reference/api/typedoc/classes/cachedcallstack.html
@@ -144,7 +144,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L223">memory.ts:223</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L223">memory.ts:223</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -172,7 +172,7 @@
 					<div class="tsd-signature tsd-kind-icon">temp<wbr>Args<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/disposable.html" class="tsd-signature-type">Disposable</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = []</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L208">memory.ts:208</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L208">memory.ts:208</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -194,7 +194,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L312">memory.ts:312</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L312">memory.ts:312</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -226,7 +226,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L284">memory.ts:284</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L284">memory.ts:284</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -262,7 +262,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L388">memory.ts:388</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L388">memory.ts:388</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -300,7 +300,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L376">memory.ts:376</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L376">memory.ts:376</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -340,7 +340,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L267">memory.ts:267</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L267">memory.ts:267</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -373,7 +373,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L243">memory.ts:243</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L243">memory.ts:243</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -390,7 +390,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L321">memory.ts:321</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L321">memory.ts:321</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -422,7 +422,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L252">memory.ts:252</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L252">memory.ts:252</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -444,7 +444,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L359">memory.ts:359</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L359">memory.ts:359</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -470,7 +470,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L342">memory.ts:342</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L342">memory.ts:342</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -496,7 +496,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L350">memory.ts:350</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L350">memory.ts:350</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -522,7 +522,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L326">memory.ts:326</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L326">memory.ts:326</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -548,7 +548,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L363">memory.ts:363</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L363">memory.ts:363</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -574,7 +574,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L346">memory.ts:346</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L346">memory.ts:346</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -600,7 +600,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L334">memory.ts:334</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L334">memory.ts:334</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
diff --git a/docs/reference/api/typedoc/classes/dldatatype.html b/docs/reference/api/typedoc/classes/dldatatype.html
index dc20b0f65..5a76cb4e7 100644
--- a/docs/reference/api/typedoc/classes/dldatatype.html
+++ b/docs/reference/api/typedoc/classes/dldatatype.html
@@ -119,7 +119,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L262">runtime.ts:262</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L262">runtime.ts:262</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -147,7 +147,7 @@
 					<div class="tsd-signature tsd-kind-icon">bits<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L260">runtime.ts:260</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L260">runtime.ts:260</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -162,7 +162,7 @@
 					<div class="tsd-signature tsd-kind-icon">code<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L258">runtime.ts:258</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L258">runtime.ts:258</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -177,7 +177,7 @@
 					<div class="tsd-signature tsd-kind-icon">lanes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L262">runtime.ts:262</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L262">runtime.ts:262</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -199,7 +199,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L279">runtime.ts:279</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L279">runtime.ts:279</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
@@ -216,7 +216,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L270">runtime.ts:270</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L270">runtime.ts:270</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
diff --git a/docs/reference/api/typedoc/classes/dldevice.html b/docs/reference/api/typedoc/classes/dldevice.html
index 593b77695..fab0d035d 100644
--- a/docs/reference/api/typedoc/classes/dldevice.html
+++ b/docs/reference/api/typedoc/classes/dldevice.html
@@ -118,7 +118,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L202">runtime.ts:202</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L202">runtime.ts:202</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -146,7 +146,7 @@
 					<div class="tsd-signature tsd-kind-icon">device<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L200">runtime.ts:200</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L200">runtime.ts:200</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -161,7 +161,7 @@
 					<div class="tsd-signature tsd-kind-icon">device<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L198">runtime.ts:198</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L198">runtime.ts:198</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -183,7 +183,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L223">runtime.ts:223</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L223">runtime.ts:223</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -205,7 +205,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L230">runtime.ts:230</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L230">runtime.ts:230</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
diff --git a/docs/reference/api/typedoc/classes/environment.html b/docs/reference/api/typedoc/classes/environment.html
index fc981c5a0..7182313c0 100644
--- a/docs/reference/api/typedoc/classes/environment.html
+++ b/docs/reference/api/typedoc/classes/environment.html
@@ -125,7 +125,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/environment.ts#L86">environment.ts:86</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/environment.ts#L86">environment.ts:86</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -169,7 +169,7 @@
 					<aside class="tsd-sources">
 						<p>Implementation of <a href="../interfaces/libraryprovider.html">LibraryProvider</a>.<a href="../interfaces/libraryprovider.html#imports">imports</a></p>
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/environment.ts#L70">environment.ts:70</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/environment.ts#L70">environment.ts:70</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -179,7 +179,7 @@
 					<div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/environment.ts#L69">environment.ts:69</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/environment.ts#L69">environment.ts:69</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -210,7 +210,7 @@
 					<div class="tsd-signature tsd-kind-icon">packedCFunc<wbr>Table<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ctypes.FTVMWasmPackedCFunc</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = [undefined,]</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/environment.ts#L78">environment.ts:78</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/environment.ts#L78">environment.ts:78</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -228,7 +228,7 @@
 					<div class="tsd-signature tsd-kind-icon">packedCFunc<wbr>Table<wbr>Free<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = []</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/environment.ts#L84">environment.ts:84</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/environment.ts#L84">environment.ts:84</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -250,7 +250,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/environment.ts#L105">environment.ts:105</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/environment.ts#L105">environment.ts:105</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/ffilibrary.html b/docs/reference/api/typedoc/classes/ffilibrary.html
index 804220896..0608c8b37 100644
--- a/docs/reference/api/typedoc/classes/ffilibrary.html
+++ b/docs/reference/api/typedoc/classes/ffilibrary.html
@@ -131,7 +131,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L49">runtime.ts:49</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L49">runtime.ts:49</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -156,7 +156,7 @@
 					<div class="tsd-signature tsd-kind-icon">exports<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L46">runtime.ts:46</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L46">runtime.ts:46</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -166,7 +166,7 @@
 					<div class="tsd-signature tsd-kind-icon">memory<span class="tsd-signature-symbol">:</span> <a href="memory.html" class="tsd-signature-type">Memory</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L45">runtime.ts:45</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L45">runtime.ts:45</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -176,7 +176,7 @@
 					<div class="tsd-signature tsd-kind-icon">wasm32<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L44">runtime.ts:44</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L44">runtime.ts:44</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -186,7 +186,7 @@
 					<div class="tsd-signature tsd-kind-icon">webGPUContext<span class="tsd-signature-symbol">:</span> <a href="webgpucontext.html" class="tsd-signature-type">WebGPUContext</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L47">runtime.ts:47</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L47">runtime.ts:47</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -203,7 +203,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L76">runtime.ts:76</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L76">runtime.ts:76</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -226,7 +226,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L66">runtime.ts:66</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L66">runtime.ts:66</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -243,7 +243,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L84">runtime.ts:84</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L84">runtime.ts:84</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <a href="cachedcallstack.html" class="tsd-signature-type">CachedCallStack</a></h4>
@@ -260,7 +260,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L95">runtime.ts:95</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L95">runtime.ts:95</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -283,7 +283,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L72">runtime.ts:72</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L72">runtime.ts:72</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
diff --git a/docs/reference/api/typedoc/classes/graphexecutor.html b/docs/reference/api/typedoc/classes/graphexecutor.html
index 23c992650..13704d03c 100644
--- a/docs/reference/api/typedoc/classes/graphexecutor.html
+++ b/docs/reference/api/typedoc/classes/graphexecutor.html
@@ -130,7 +130,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L583">runtime.ts:583</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L583">runtime.ts:583</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -162,7 +162,7 @@
 					<div class="tsd-signature tsd-kind-icon">module<span class="tsd-signature-symbol">:</span> <a href="module.html" class="tsd-signature-type">Module</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L579">runtime.ts:579</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L579">runtime.ts:579</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -179,7 +179,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L654">runtime.ts:654</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L654">runtime.ts:654</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -224,7 +224,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L597">runtime.ts:597</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L597">runtime.ts:597</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -241,7 +241,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L631">runtime.ts:631</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L631">runtime.ts:631</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -279,7 +279,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L644">runtime.ts:644</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L644">runtime.ts:644</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -310,7 +310,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L621">runtime.ts:621</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L621">runtime.ts:621</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -332,7 +332,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L609">runtime.ts:609</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L609">runtime.ts:609</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/instance.html b/docs/reference/api/typedoc/classes/instance.html
index ee6455fe8..cda1945c9 100644
--- a/docs/reference/api/typedoc/classes/instance.html
+++ b/docs/reference/api/typedoc/classes/instance.html
@@ -139,7 +139,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L692">runtime.ts:692</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L692">runtime.ts:692</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -202,7 +202,7 @@
 					<div class="tsd-signature tsd-kind-icon">exports<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L684">runtime.ts:684</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L684">runtime.ts:684</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -212,7 +212,7 @@
 					<div class="tsd-signature tsd-kind-icon">memory<span class="tsd-signature-symbol">:</span> <a href="memory.html" class="tsd-signature-type">Memory</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L683">runtime.ts:683</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L683">runtime.ts:683</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -229,7 +229,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L932">runtime.ts:932</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L932">runtime.ts:932</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -260,7 +260,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L994">runtime.ts:994</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L994">runtime.ts:994</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -303,7 +303,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L924">runtime.ts:924</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L924">runtime.ts:924</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -341,7 +341,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L732">runtime.ts:732</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L732">runtime.ts:732</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -358,7 +358,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L952">runtime.ts:952</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L952">runtime.ts:952</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -402,7 +402,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L816">runtime.ts:816</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L816">runtime.ts:816</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -434,7 +434,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L1033">runtime.ts:1033</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L1033">runtime.ts:1033</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -465,7 +465,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L846">runtime.ts:846</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L846">runtime.ts:846</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -497,7 +497,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L750">runtime.ts:750</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L750">runtime.ts:750</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -520,7 +520,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L1013">runtime.ts:1013</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L1013">runtime.ts:1013</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -568,7 +568,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L789">runtime.ts:789</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L789">runtime.ts:789</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -608,7 +608,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L914">runtime.ts:914</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L914">runtime.ts:914</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -646,7 +646,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L1134">runtime.ts:1134</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L1134">runtime.ts:1134</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -698,7 +698,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L740">runtime.ts:740</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L740">runtime.ts:740</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -722,7 +722,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L868">runtime.ts:868</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L868">runtime.ts:868</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -754,7 +754,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L857">runtime.ts:857</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L857">runtime.ts:857</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -786,7 +786,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L940">runtime.ts:940</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L940">runtime.ts:940</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/memory.html b/docs/reference/api/typedoc/classes/memory.html
index af87770cb..236e8571f 100644
--- a/docs/reference/api/typedoc/classes/memory.html
+++ b/docs/reference/api/typedoc/classes/memory.html
@@ -130,7 +130,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L40">memory.ts:40</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L40">memory.ts:40</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -152,7 +152,7 @@
 					<div class="tsd-signature tsd-kind-icon">memory<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Memory</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L32">memory.ts:32</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L32">memory.ts:32</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -162,7 +162,7 @@
 					<div class="tsd-signature tsd-kind-icon">wasm32<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = true</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L33">memory.ts:33</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L33">memory.ts:33</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -179,7 +179,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L154">memory.ts:154</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L154">memory.ts:154</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -210,7 +210,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L90">memory.ts:90</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L90">memory.ts:90</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -233,7 +233,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L97">memory.ts:97</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L97">memory.ts:97</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -256,7 +256,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L74">memory.ts:74</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L74">memory.ts:74</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -279,7 +279,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L81">memory.ts:81</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L81">memory.ts:81</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -302,7 +302,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L104">memory.ts:104</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L104">memory.ts:104</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -325,7 +325,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L132">memory.ts:132</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L132">memory.ts:132</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -362,7 +362,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L145">memory.ts:145</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L145">memory.ts:145</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -393,7 +393,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L60">memory.ts:60</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L60">memory.ts:60</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -416,7 +416,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L67">memory.ts:67</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L67">memory.ts:67</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -439,7 +439,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L53">memory.ts:53</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L53">memory.ts:53</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -462,7 +462,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L114">memory.ts:114</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L114">memory.ts:114</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -485,7 +485,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L124">memory.ts:124</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L124">memory.ts:124</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
@@ -502,7 +502,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/memory.ts#L175">memory.ts:175</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/memory.ts#L175">memory.ts:175</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/module.html b/docs/reference/api/typedoc/classes/module.html
index 9eb7d3d86..f6d71666a 100644
--- a/docs/reference/api/typedoc/classes/module.html
+++ b/docs/reference/api/typedoc/classes/module.html
@@ -124,7 +124,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L504">runtime.ts:504</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L504">runtime.ts:504</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -170,7 +170,7 @@
 					<div class="tsd-signature tsd-kind-icon">handle<span class="tsd-signature-symbol">:</span> <a href="../index.html#pointer" class="tsd-signature-type">Pointer</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L502">runtime.ts:502</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L502">runtime.ts:502</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -187,7 +187,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L516">runtime.ts:516</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L516">runtime.ts:516</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -204,7 +204,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L530">runtime.ts:530</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L530">runtime.ts:530</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -236,7 +236,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L561">runtime.ts:561</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L561">runtime.ts:561</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/ndarray.html b/docs/reference/api/typedoc/classes/ndarray.html
index 2b3522c71..84d9396ab 100644
--- a/docs/reference/api/typedoc/classes/ndarray.html
+++ b/docs/reference/api/typedoc/classes/ndarray.html
@@ -130,7 +130,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L304">runtime.ts:304</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L304">runtime.ts:304</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -158,7 +158,7 @@
 					<div class="tsd-signature tsd-kind-icon">device<span class="tsd-signature-symbol">:</span> <a href="dldevice.html" class="tsd-signature-type">DLDevice</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L297">runtime.ts:297</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L297">runtime.ts:297</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -173,7 +173,7 @@
 					<div class="tsd-signature tsd-kind-icon">dtype<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L293">runtime.ts:293</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L293">runtime.ts:293</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -188,7 +188,7 @@
 					<div class="tsd-signature tsd-kind-icon">handle<span class="tsd-signature-symbol">:</span> <a href="../index.html#pointer" class="tsd-signature-type">Pointer</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L289">runtime.ts:289</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L289">runtime.ts:289</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -203,7 +203,7 @@
 					<div class="tsd-signature tsd-kind-icon">ndim<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L291">runtime.ts:291</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L291">runtime.ts:291</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -218,7 +218,7 @@
 					<div class="tsd-signature tsd-kind-icon">shape<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L295">runtime.ts:295</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L295">runtime.ts:295</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -240,7 +240,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L370">runtime.ts:370</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L370">runtime.ts:370</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -273,7 +273,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L414">runtime.ts:414</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L414">runtime.ts:414</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -305,7 +305,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L355">runtime.ts:355</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L355">runtime.ts:355</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -322,7 +322,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L474">runtime.ts:474</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L474">runtime.ts:474</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -346,7 +346,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L443">runtime.ts:443</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L443">runtime.ts:443</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/packedfunccell.html b/docs/reference/api/typedoc/classes/packedfunccell.html
index 3513a657a..4c5ff6f8d 100644
--- a/docs/reference/api/typedoc/classes/packedfunccell.html
+++ b/docs/reference/api/typedoc/classes/packedfunccell.html
@@ -122,7 +122,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L158">runtime.ts:158</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L158">runtime.ts:158</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -147,7 +147,7 @@
 					<div class="tsd-signature tsd-kind-icon">handle<span class="tsd-signature-symbol">:</span> <a href="../index.html#pointer" class="tsd-signature-type">Pointer</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L157">runtime.ts:157</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L157">runtime.ts:157</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -164,7 +164,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L165">runtime.ts:165</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L165">runtime.ts:165</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
diff --git a/docs/reference/api/typedoc/classes/rpcserver.html b/docs/reference/api/typedoc/classes/rpcserver.html
index c44eff184..95e07677e 100644
--- a/docs/reference/api/typedoc/classes/rpcserver.html
+++ b/docs/reference/api/typedoc/classes/rpcserver.html
@@ -115,7 +115,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L92">rpc_server.ts:92</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L92">rpc_server.ts:92</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -176,7 +176,7 @@
 					<div class="tsd-signature tsd-kind-icon">get<wbr>Imports<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signat [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L82">rpc_server.ts:82</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L82">rpc_server.ts:82</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -201,7 +201,7 @@
 					<div class="tsd-signature tsd-kind-icon">key<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L78">rpc_server.ts:78</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L78">rpc_server.ts:78</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -211,7 +211,7 @@
 					<div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L81">rpc_server.ts:81</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L81">rpc_server.ts:81</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -242,7 +242,7 @@
 					<div class="tsd-signature tsd-kind-icon">socket<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">WebSocket</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L79">rpc_server.ts:79</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L79">rpc_server.ts:79</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -252,7 +252,7 @@
 					<div class="tsd-signature tsd-kind-icon">state<span class="tsd-signature-symbol">:</span> <a href="../enums/rpcserverstate.html" class="tsd-signature-type">RPCServerState</a><span class="tsd-signature-symbol"> = RPCServerState.InitHeader</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L80">rpc_server.ts:80</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L80">rpc_server.ts:80</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -262,7 +262,7 @@
 					<div class="tsd-signature tsd-kind-icon">url<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L77">rpc_server.ts:77</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L77">rpc_server.ts:77</a></li>
 						</ul>
 					</aside>
 				</section>
diff --git a/docs/reference/api/typedoc/classes/scalar.html b/docs/reference/api/typedoc/classes/scalar.html
index ff6fc6bd4..ec471e955 100644
--- a/docs/reference/api/typedoc/classes/scalar.html
+++ b/docs/reference/api/typedoc/classes/scalar.html
@@ -112,7 +112,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L145">runtime.ts:145</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L145">runtime.ts:145</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -137,7 +137,7 @@
 					<div class="tsd-signature tsd-kind-icon">dtype<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L145">runtime.ts:145</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L145">runtime.ts:145</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -152,7 +152,7 @@
 					<div class="tsd-signature tsd-kind-icon">value<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L143">runtime.ts:143</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L143">runtime.ts:143</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/webgpucontext.html b/docs/reference/api/typedoc/classes/webgpucontext.html
index ab0ac8400..e6c47c1fe 100644
--- a/docs/reference/api/typedoc/classes/webgpucontext.html
+++ b/docs/reference/api/typedoc/classes/webgpucontext.html
@@ -120,7 +120,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/webgpu.ts#L57">webgpu.ts:57</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/webgpu.ts#L57">webgpu.ts:57</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -145,7 +145,7 @@
 					<div class="tsd-signature tsd-kind-icon">device<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">GPUDevice</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/webgpu.ts#L50">webgpu.ts:50</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/webgpu.ts#L50">webgpu.ts:50</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -155,7 +155,7 @@
 					<div class="tsd-signature tsd-kind-icon">memory<span class="tsd-signature-symbol">:</span> <a href="memory.html" class="tsd-signature-type">Memory</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/webgpu.ts#L51">webgpu.ts:51</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/webgpu.ts#L51">webgpu.ts:51</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -172,7 +172,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/webgpu.ts#L84">webgpu.ts:84</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/webgpu.ts#L84">webgpu.ts:84</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -209,7 +209,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/webgpu.ts#L170">webgpu.ts:170</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/webgpu.ts#L170">webgpu.ts:170</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -238,7 +238,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/webgpu.ts#L67">webgpu.ts:67</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/webgpu.ts#L67">webgpu.ts:67</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/enums/argtypecode.html b/docs/reference/api/typedoc/enums/argtypecode.html
index f897ccedb..6319b908c 100644
--- a/docs/reference/api/typedoc/enums/argtypecode.html
+++ b/docs/reference/api/typedoc/enums/argtypecode.html
@@ -106,7 +106,7 @@
 					<div class="tsd-signature tsd-kind-icon">DLDevice<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 6</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L220">ctypes.ts:220</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L220">ctypes.ts:220</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -116,7 +116,7 @@
 					<div class="tsd-signature tsd-kind-icon">Float<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 2</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L216">ctypes.ts:216</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L216">ctypes.ts:216</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -126,7 +126,7 @@
 					<div class="tsd-signature tsd-kind-icon">Int<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 0</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L214">ctypes.ts:214</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L214">ctypes.ts:214</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -136,7 +136,7 @@
 					<div class="tsd-signature tsd-kind-icon">Null<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 4</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L218">ctypes.ts:218</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L218">ctypes.ts:218</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -146,7 +146,7 @@
 					<div class="tsd-signature tsd-kind-icon">TVMBytes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 12</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L226">ctypes.ts:226</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L226">ctypes.ts:226</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -156,7 +156,7 @@
 					<div class="tsd-signature tsd-kind-icon">TVMDLTensor<wbr>Handle<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 7</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L221">ctypes.ts:221</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L221">ctypes.ts:221</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -166,7 +166,7 @@
 					<div class="tsd-signature tsd-kind-icon">TVMData<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 5</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L219">ctypes.ts:219</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L219">ctypes.ts:219</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -176,7 +176,7 @@
 					<div class="tsd-signature tsd-kind-icon">TVMModule<wbr>Handle<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 9</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L223">ctypes.ts:223</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L223">ctypes.ts:223</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -186,7 +186,7 @@
 					<div class="tsd-signature tsd-kind-icon">TVMNDArray<wbr>Handle<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 13</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L227">ctypes.ts:227</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L227">ctypes.ts:227</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -196,7 +196,7 @@
 					<div class="tsd-signature tsd-kind-icon">TVMObject<wbr>Handle<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 8</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L222">ctypes.ts:222</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L222">ctypes.ts:222</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -206,7 +206,7 @@
 					<div class="tsd-signature tsd-kind-icon">TVMObjectRValue<wbr>Ref<wbr>Arg<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 14</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L228">ctypes.ts:228</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L228">ctypes.ts:228</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -216,7 +216,7 @@
 					<div class="tsd-signature tsd-kind-icon">TVMOpaque<wbr>Handle<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 3</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L217">ctypes.ts:217</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L217">ctypes.ts:217</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -226,7 +226,7 @@
 					<div class="tsd-signature tsd-kind-icon">TVMPacked<wbr>Func<wbr>Handle<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 10</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L224">ctypes.ts:224</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L224">ctypes.ts:224</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -236,7 +236,7 @@
 					<div class="tsd-signature tsd-kind-icon">TVMStr<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 11</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L225">ctypes.ts:225</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L225">ctypes.ts:225</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -246,7 +246,7 @@
 					<div class="tsd-signature tsd-kind-icon">UInt<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 1</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L215">ctypes.ts:215</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L215">ctypes.ts:215</a></li>
 						</ul>
 					</aside>
 				</section>
diff --git a/docs/reference/api/typedoc/enums/aynccallbackcode.html b/docs/reference/api/typedoc/enums/aynccallbackcode.html
index d8094da1e..de1b4410a 100644
--- a/docs/reference/api/typedoc/enums/aynccallbackcode.html
+++ b/docs/reference/api/typedoc/enums/aynccallbackcode.html
@@ -93,7 +93,7 @@
 					<div class="tsd-signature tsd-kind-icon">k<wbr>Exception<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 5</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L676">runtime.ts:676</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L676">runtime.ts:676</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -103,7 +103,7 @@
 					<div class="tsd-signature tsd-kind-icon">k<wbr>Return<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 4</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L675">runtime.ts:675</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L675">runtime.ts:675</a></li>
 						</ul>
 					</aside>
 				</section>
diff --git a/docs/reference/api/typedoc/enums/dldatatypecode.html b/docs/reference/api/typedoc/enums/dldatatypecode.html
index a2f95d0fc..e3c3ab21e 100644
--- a/docs/reference/api/typedoc/enums/dldatatypecode.html
+++ b/docs/reference/api/typedoc/enums/dldatatypecode.html
@@ -95,7 +95,7 @@
 					<div class="tsd-signature tsd-kind-icon">Float<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 2</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L242">runtime.ts:242</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L242">runtime.ts:242</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -105,7 +105,7 @@
 					<div class="tsd-signature tsd-kind-icon">Int<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 0</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L240">runtime.ts:240</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L240">runtime.ts:240</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -115,7 +115,7 @@
 					<div class="tsd-signature tsd-kind-icon">Opaque<wbr>Handle<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 3</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L243">runtime.ts:243</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L243">runtime.ts:243</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -125,7 +125,7 @@
 					<div class="tsd-signature tsd-kind-icon">UInt<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 1</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L241">runtime.ts:241</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L241">runtime.ts:241</a></li>
 						</ul>
 					</aside>
 				</section>
diff --git a/docs/reference/api/typedoc/enums/rpcserverstate.html b/docs/reference/api/typedoc/enums/rpcserverstate.html
index 7ee410429..a92c7ff68 100644
--- a/docs/reference/api/typedoc/enums/rpcserverstate.html
+++ b/docs/reference/api/typedoc/enums/rpcserverstate.html
@@ -90,7 +90,7 @@
 					<div class="tsd-signature tsd-kind-icon">Init<wbr>Header<span class="tsd-signature-symbol">:</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L27">rpc_server.ts:27</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L27">rpc_server.ts:27</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -100,7 +100,7 @@
 					<div class="tsd-signature tsd-kind-icon">Init<wbr>Header<wbr>Key<span class="tsd-signature-symbol">:</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L28">rpc_server.ts:28</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L28">rpc_server.ts:28</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -110,7 +110,7 @@
 					<div class="tsd-signature tsd-kind-icon">Init<wbr>Server<span class="tsd-signature-symbol">:</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L29">rpc_server.ts:29</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L29">rpc_server.ts:29</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -120,7 +120,7 @@
 					<div class="tsd-signature tsd-kind-icon">Receive<wbr>Packet<wbr>Body<span class="tsd-signature-symbol">:</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L32">rpc_server.ts:32</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L32">rpc_server.ts:32</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -130,7 +130,7 @@
 					<div class="tsd-signature tsd-kind-icon">Receive<wbr>Packet<wbr>Header<span class="tsd-signature-symbol">:</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L31">rpc_server.ts:31</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L31">rpc_server.ts:31</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -140,7 +140,7 @@
 					<div class="tsd-signature tsd-kind-icon">Wait<wbr>For<wbr>Callback<span class="tsd-signature-symbol">:</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L30">rpc_server.ts:30</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L30">rpc_server.ts:30</a></li>
 						</ul>
 					</aside>
 				</section>
diff --git a/docs/reference/api/typedoc/enums/sizeof.html b/docs/reference/api/typedoc/enums/sizeof.html
index 7fd7eec24..af08bcb50 100644
--- a/docs/reference/api/typedoc/enums/sizeof.html
+++ b/docs/reference/api/typedoc/enums/sizeof.html
@@ -100,7 +100,7 @@
 					<div class="tsd-signature tsd-kind-icon">DLData<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = I32</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L206">ctypes.ts:206</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L206">ctypes.ts:206</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -110,7 +110,7 @@
 					<div class="tsd-signature tsd-kind-icon">DLDevice<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = I32 + I32</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L207">ctypes.ts:207</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L207">ctypes.ts:207</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -120,7 +120,7 @@
 					<div class="tsd-signature tsd-kind-icon">F32<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 4</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L203">ctypes.ts:203</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L203">ctypes.ts:203</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -130,7 +130,7 @@
 					<div class="tsd-signature tsd-kind-icon">F64<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 8</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L204">ctypes.ts:204</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L204">ctypes.ts:204</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -140,7 +140,7 @@
 					<div class="tsd-signature tsd-kind-icon">I32<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 4</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L201">ctypes.ts:201</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L201">ctypes.ts:201</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -150,7 +150,7 @@
 					<div class="tsd-signature tsd-kind-icon">I64<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 8</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L202">ctypes.ts:202</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L202">ctypes.ts:202</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -160,7 +160,7 @@
 					<div class="tsd-signature tsd-kind-icon">TVMValue<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 8</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L205">ctypes.ts:205</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L205">ctypes.ts:205</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -170,7 +170,7 @@
 					<div class="tsd-signature tsd-kind-icon">U16<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 2</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L200">ctypes.ts:200</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L200">ctypes.ts:200</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -180,7 +180,7 @@
 					<div class="tsd-signature tsd-kind-icon">U8<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 1</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L199">ctypes.ts:199</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L199">ctypes.ts:199</a></li>
 						</ul>
 					</aside>
 				</section>
diff --git a/docs/reference/api/typedoc/index.html b/docs/reference/api/typedoc/index.html
index 215d219ac..754db8860 100644
--- a/docs/reference/api/typedoc/index.html
+++ b/docs/reference/api/typedoc/index.html
@@ -174,7 +174,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMArray<wbr>Alloc<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>shape<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, ndim<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, dtypeCode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, dtypeBits<span class="tsd [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L112">ctypes.ts:112</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L112">ctypes.ts:112</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -238,7 +238,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMArray<wbr>Copy<wbr>From<wbr>Bytes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>handle<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, data<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, nbytes<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">num [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L128">ctypes.ts:128</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L128">ctypes.ts:128</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -282,7 +282,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMArray<wbr>Copy<wbr>From<wbr>To<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>from<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, to<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, stream<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-sig [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L144">ctypes.ts:144</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L144">ctypes.ts:144</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -326,7 +326,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMArray<wbr>Copy<wbr>ToBytes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>handle<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, data<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, nbytes<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</sp [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L136">ctypes.ts:136</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L136">ctypes.ts:136</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -370,7 +370,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMArray<wbr>Free<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>handle<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L121">ctypes.ts:121</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L121">ctypes.ts:121</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -406,7 +406,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMBackend<wbr>PackedCFunc<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>argValues<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, argCodes<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, nargs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number< [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L160">ctypes.ts:160</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L160">ctypes.ts:160</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -458,7 +458,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMCFunc<wbr>Set<wbr>Return<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>ret<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, value<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, typeCode<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signa [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L77">ctypes.ts:77</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L77">ctypes.ts:77</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -506,7 +506,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMCb<wbr>Arg<wbr>ToReturn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, code<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span c [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L83">ctypes.ts:83</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L83">ctypes.ts:83</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -545,7 +545,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMFunc<wbr>Call<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>func<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, argValues<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, typeCode<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-t [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L67">ctypes.ts:67</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L67">ctypes.ts:67</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -601,7 +601,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMFunc<wbr>Free<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>func<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L57">ctypes.ts:57</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L57">ctypes.ts:57</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -637,7 +637,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMFunc<wbr>Get<wbr>Global<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>name<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, out<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span cla [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L100">ctypes.ts:100</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L100">ctypes.ts:100</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -676,7 +676,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMFunc<wbr>List<wbr>Global<wbr>Names<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>outSize<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, outArray<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&g [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L88">ctypes.ts:88</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L88">ctypes.ts:88</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -715,7 +715,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMFunc<wbr>Register<wbr>Global<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>name<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, f<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, override<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</spa [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L94">ctypes.ts:94</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L94">ctypes.ts:94</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -758,7 +758,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMGet<wbr>Last<wbr>Error<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L34">ctypes.ts:34</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L34">ctypes.ts:34</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -788,7 +788,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMMod<wbr>Free<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>mod<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L52">ctypes.ts:52</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L52">ctypes.ts:52</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -824,7 +824,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMMod<wbr>Get<wbr>Function<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>mod<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, funcName<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, queryImports<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">numbe [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L42">ctypes.ts:42</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L42">ctypes.ts:42</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -872,7 +872,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMMod<wbr>Import<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>mod<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, dep<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-si [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L48">ctypes.ts:48</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L48">ctypes.ts:48</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -912,7 +912,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMSynchronize<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>deviceType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, deviceId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, stream<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signatur [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L150">ctypes.ts:150</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L150">ctypes.ts:150</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -954,7 +954,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMWasm<wbr>Alloc<wbr>Space<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>size<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L167">ctypes.ts:167</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L167">ctypes.ts:167</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -990,7 +990,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMWasm<wbr>Free<wbr>Space<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>ptr<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L170">ctypes.ts:170</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L170">ctypes.ts:170</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -1026,7 +1026,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMWasm<wbr>Func<wbr>Create<wbr>FromCFunc<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>resource<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, out<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&g [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L187">ctypes.ts:187</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L187">ctypes.ts:187</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -1066,7 +1066,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMWasm<wbr>PackedCFunc<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>args<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, typeCodes<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, nargs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L179">ctypes.ts:179</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L179">ctypes.ts:179</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -1118,7 +1118,7 @@
 					<div class="tsd-signature tsd-kind-icon">FTVMWasm<wbr>PackedCFunc<wbr>Finalizer<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>resourceHandle<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L193">ctypes.ts:193</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L193">ctypes.ts:193</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -1154,7 +1154,7 @@
 					<div class="tsd-signature tsd-kind-icon">GPUPointer<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/webgpu.ts#L25">webgpu.ts:25</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/webgpu.ts#L25">webgpu.ts:25</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -1169,7 +1169,7 @@
 					<div class="tsd-signature tsd-kind-icon">Packed<wbr>Func<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> &amp; </span><a href="interfaces/disp [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L36">runtime.ts:36</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L36">runtime.ts:36</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -1184,7 +1184,7 @@
 					<div class="tsd-signature tsd-kind-icon">Pointer<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L25">ctypes.ts:25</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L25">ctypes.ts:25</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -1199,7 +1199,7 @@
 					<div class="tsd-signature tsd-kind-icon">Ptr<wbr>Offset<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/ctypes.ts#L28">ctypes.ts:28</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/ctypes.ts#L28">ctypes.ts:28</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -1217,7 +1217,7 @@
 					<div class="tsd-signature tsd-kind-icon">RPC_<wbr>MAGIC<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">1045105</span><span class="tsd-signature-symbol"> = 1045105</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/rpc_server.ts#L36">rpc_server.ts:36</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/rpc_server.ts#L36">rpc_server.ts:36</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -1239,7 +1239,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/support.ts#L25">support.ts:25</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/support.ts#L25">support.ts:25</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -1271,7 +1271,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/support.ts#L39">support.ts:39</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/support.ts#L39">support.ts:39</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -1300,7 +1300,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/support.ts#L52">support.ts:52</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/support.ts#L52">support.ts:52</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -1337,7 +1337,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/compact.ts#L38">compact.ts:38</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/compact.ts#L38">compact.ts:38</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -1368,7 +1368,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/webgpu.ts#L30">webgpu.ts:30</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/webgpu.ts#L30">webgpu.ts:30</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -1390,7 +1390,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/environment.ts#L32">environment.ts:32</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/environment.ts#L32">environment.ts:32</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -1421,7 +1421,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/compact.ts#L24">compact.ts:24</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/compact.ts#L24">compact.ts:24</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -1443,7 +1443,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L1356">runtime.ts:1356</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L1356">runtime.ts:1356</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -1508,7 +1508,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/support.ts#L62">support.ts:62</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/support.ts#L62">support.ts:62</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -1530,7 +1530,7 @@
 					<div class="tsd-signature tsd-kind-icon">DLData<wbr>Type<wbr>Code<wbr>ToStr<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L246">runtime.ts:246</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L246">runtime.ts:246</a></li>
 						</ul>
 					</aside>
 					<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal">
@@ -1539,7 +1539,7 @@
 						<div class="tsd-signature tsd-kind-icon">0<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;int&quot;</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L247">runtime.ts:247</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L247">runtime.ts:247</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1549,7 +1549,7 @@
 						<div class="tsd-signature tsd-kind-icon">1<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;uint&quot;</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L248">runtime.ts:248</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L248">runtime.ts:248</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1559,7 +1559,7 @@
 						<div class="tsd-signature tsd-kind-icon">2<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;float&quot;</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L249">runtime.ts:249</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L249">runtime.ts:249</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1569,7 +1569,7 @@
 						<div class="tsd-signature tsd-kind-icon">3<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;handle&quot;</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L250">runtime.ts:250</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L250">runtime.ts:250</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1580,7 +1580,7 @@
 					<div class="tsd-signature tsd-kind-icon">Device<wbr>Enum<wbr>ToStr<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L175">runtime.ts:175</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L175">runtime.ts:175</a></li>
 						</ul>
 					</aside>
 					<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal">
@@ -1589,7 +1589,7 @@
 						<div class="tsd-signature tsd-kind-icon">1<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;cpu&quot;</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L176">runtime.ts:176</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L176">runtime.ts:176</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1599,7 +1599,7 @@
 						<div class="tsd-signature tsd-kind-icon">15<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;webgpu&quot;</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L180">runtime.ts:180</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L180">runtime.ts:180</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1609,7 +1609,7 @@
 						<div class="tsd-signature tsd-kind-icon">2<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;cuda&quot;</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L177">runtime.ts:177</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L177">runtime.ts:177</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1619,7 +1619,7 @@
 						<div class="tsd-signature tsd-kind-icon">4<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;opencl&quot;</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L178">runtime.ts:178</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L178">runtime.ts:178</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1629,7 +1629,7 @@
 						<div class="tsd-signature tsd-kind-icon">8<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;metal&quot;</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L179">runtime.ts:179</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L179">runtime.ts:179</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1640,7 +1640,7 @@
 					<div class="tsd-signature tsd-kind-icon">Device<wbr>Str<wbr>ToEnum<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L183">runtime.ts:183</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L183">runtime.ts:183</a></li>
 						</ul>
 					</aside>
 					<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal">
@@ -1649,7 +1649,7 @@
 						<div class="tsd-signature tsd-kind-icon">cl<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 4</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L186">runtime.ts:186</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L186">runtime.ts:186</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1659,7 +1659,7 @@
 						<div class="tsd-signature tsd-kind-icon">cpu<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 1</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L184">runtime.ts:184</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L184">runtime.ts:184</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1669,7 +1669,7 @@
 						<div class="tsd-signature tsd-kind-icon">cuda<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 2</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L185">runtime.ts:185</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L185">runtime.ts:185</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1679,7 +1679,7 @@
 						<div class="tsd-signature tsd-kind-icon">metal<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 8</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L189">runtime.ts:189</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L189">runtime.ts:189</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1689,7 +1689,7 @@
 						<div class="tsd-signature tsd-kind-icon">opencl<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 4</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L187">runtime.ts:187</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L187">runtime.ts:187</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1699,7 +1699,7 @@
 						<div class="tsd-signature tsd-kind-icon">vulkan<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 7</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L188">runtime.ts:188</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L188">runtime.ts:188</a></li>
 							</ul>
 						</aside>
 					</section>
@@ -1709,7 +1709,7 @@
 						<div class="tsd-signature tsd-kind-icon">webgpu<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 15</span></div>
 						<aside class="tsd-sources">
 							<ul>
-								<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/runtime.ts#L190">runtime.ts:190</a></li>
+								<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/runtime.ts#L190">runtime.ts:190</a></li>
 							</ul>
 						</aside>
 					</section>
diff --git a/docs/reference/api/typedoc/interfaces/disposable.html b/docs/reference/api/typedoc/interfaces/disposable.html
index 46d6fb289..b6c001466 100644
--- a/docs/reference/api/typedoc/interfaces/disposable.html
+++ b/docs/reference/api/typedoc/interfaces/disposable.html
@@ -113,7 +113,7 @@
 					<div class="tsd-signature tsd-kind-icon">dispose<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/types.ts#L52">types.ts:52</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/types.ts#L52">types.ts:52</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/interfaces/functioninfo.html b/docs/reference/api/typedoc/interfaces/functioninfo.html
index 02e69f030..778ce2c11 100644
--- a/docs/reference/api/typedoc/interfaces/functioninfo.html
+++ b/docs/reference/api/typedoc/interfaces/functioninfo.html
@@ -95,7 +95,7 @@
 					<div class="tsd-signature tsd-kind-icon">arg_<wbr>types<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/webgpu.ts#L41">webgpu.ts:41</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/webgpu.ts#L41">webgpu.ts:41</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -105,7 +105,7 @@
 					<div class="tsd-signature tsd-kind-icon">launch_<wbr>param_<wbr>tags<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/f53f70cb9/web/src/webgpu.ts#L42">webgpu.ts:42</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/910624a86/web/src/webgpu.ts#L42">webgpu.ts:42</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -115,7 +115,7 @@
... 807 lines suppressed ...