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/04/26 04:44:21 UTC

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

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 bbcea584c deploying docs (apache/tvm@ce29f02f4cacec8ed346d5f70508cce928b623de)
bbcea584c is described below

commit bbcea584c3868c426aa922ffb4eb3a4e8d871e2c
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Tue Apr 26 04:44:15 2022 +0000

    deploying docs (apache/tvm@ce29f02f4cacec8ed346d5f70508cce928b623de)
---
 .../how_to/compile_models/from_mxnet.rst.txt       |    2 +-
 .../how_to/compile_models/from_oneflow.rst.txt     |    7 +-
 .../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       |   18 +-
 .../extend_tvm/bring_your_own_datatypes.rst.txt    |    4 +-
 .../how_to/extend_tvm/sg_execution_times.rst.txt   |   10 +-
 .../how_to/extend_tvm/use_pass_instrument.rst.txt  |   16 +-
 .../optimize_operators/opt_conv_cuda.rst.txt       |    2 +-
 .../optimize_operators/opt_conv_tensorcore.rst.txt |    2 +-
 .../how_to/optimize_operators/opt_gemm.rst.txt     |   16 +-
 .../optimize_operators/sg_execution_times.rst.txt  |    8 +-
 .../sg_execution_times.rst.txt                     |   16 +-
 .../tune_conv2d_layer_cuda.rst.txt                 | 1374 ++++++++++++-------
 .../tune_network_cuda.rst.txt                      |    2 +-
 .../tune_network_x86.rst.txt                       |    4 +-
 .../tune_sparse_x86.rst.txt                        |   29 +-
 .../tune_with_autotvm/sg_execution_times.rst.txt   |   12 +-
 .../tune_with_autotvm/tune_conv2d_cuda.rst.txt     |   34 +-
 .../work_with_microtvm/micro_autotune.rst.txt      |   16 +-
 .../work_with_microtvm/sg_execution_times.rst.txt  |   12 +-
 .../work_with_relay/sg_execution_times.rst.txt     |    8 +-
 .../work_with_schedules/sg_execution_times.rst.txt |   18 +-
 .../how_to/work_with_schedules/tensorize.rst.txt   |    2 +-
 .../tutorials/autotvm/sg_execution_times.rst.txt   |    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     |    2 +-
 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  |   26 +-
 .../tutorial/tensor_expr_get_started.rst.txt       |   40 +-
 docs/commit_hash                                   |    2 +-
 docs/how_to/compile_models/from_mxnet.html         |    2 +-
 docs/how_to/compile_models/from_oneflow.html       | 1415 +++-----------------
 docs/how_to/compile_models/from_paddle.html        |    2 +-
 docs/how_to/compile_models/from_pytorch.html       |    7 +-
 docs/how_to/compile_models/from_tensorflow.html    |    2 +-
 docs/how_to/compile_models/sg_execution_times.html |   22 +-
 .../deploy_models/deploy_model_on_android.html     |    2 +-
 .../deploy_object_detection_pytorch.html           |   23 +-
 docs/how_to/deploy_models/deploy_prequantized.html |    9 +-
 .../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  |   39 +-
 docs/how_to/deploy_models/sg_execution_times.html  |   18 +-
 .../extend_tvm/bring_your_own_datatypes.html       |    4 +-
 docs/how_to/extend_tvm/sg_execution_times.html     |   10 +-
 docs/how_to/extend_tvm/use_pass_instrument.html    |   16 +-
 docs/how_to/optimize_operators/opt_conv_cuda.html  |    2 +-
 .../optimize_operators/opt_conv_tensorcore.html    |    2 +-
 docs/how_to/optimize_operators/opt_gemm.html       |   16 +-
 .../optimize_operators/sg_execution_times.html     |    8 +-
 .../sg_execution_times.html                        |   14 +-
 .../tune_conv2d_layer_cuda.html                    | 1374 ++++++++++++-------
 .../tune_with_autoscheduler/tune_network_cuda.html |    2 +-
 .../tune_with_autoscheduler/tune_network_x86.html  |    4 +-
 .../tune_with_autoscheduler/tune_sparse_x86.html   |   29 +-
 .../tune_with_autotvm/sg_execution_times.html      |   12 +-
 .../how_to/tune_with_autotvm/tune_conv2d_cuda.html |   34 +-
 docs/how_to/work_with_microtvm/micro_autotune.html |   16 +-
 .../work_with_microtvm/sg_execution_times.html     |   12 +-
 .../how_to/work_with_relay/sg_execution_times.html |    8 +-
 .../work_with_schedules/sg_execution_times.html    |   18 +-
 docs/how_to/work_with_schedules/tensorize.html     |    2 +-
 ...sstvm_1_1tir_1_1usmp_1_1BufferInfo-members.html |    2 +-
 .../classtvm_1_1tir_1_1usmp_1_1BufferInfo.html     |   16 +-
 docs/reference/api/doxygen/functions_b.html        |    2 +-
 docs/reference/api/doxygen/functions_func_b.html   |    2 +-
 docs/reference/api/doxygen/functions_k.html        |    1 +
 docs/reference/api/doxygen/functions_vars_k.html   |    1 +
 docs/reference/api/doxygen/greedy_8h_source.html   |    2 +-
 docs/reference/api/doxygen/namespacemembers_b.html |    7 +-
 docs/reference/api/doxygen/namespacemembers_c.html |    3 +
 .../api/doxygen/namespacemembers_enum.html         |    3 +
 .../api/doxygen/namespacemembers_func_c.html       |    3 +
 .../api/doxygen/namespacemembers_func_g.html       |    9 +-
 .../api/doxygen/namespacemembers_func_p.html       |    6 +-
 .../api/doxygen/namespacemembers_func_s.html       |    6 +-
 docs/reference/api/doxygen/namespacemembers_g.html |    9 +-
 docs/reference/api/doxygen/namespacemembers_k.html |    5 +-
 docs/reference/api/doxygen/namespacemembers_p.html |    6 +-
 docs/reference/api/doxygen/namespacemembers_s.html |    6 +-
 .../api/doxygen/namespacemembers_vars.html         |    3 +
 docs/reference/api/doxygen/namespacetvm.html       |   19 +
 .../api/doxygen/namespacetvm_1_1tir_1_1usmp.html   |   70 +
 .../namespacetvm_1_1tir_1_1usmp_1_1transform.html  |   24 +
 docs/reference/api/doxygen/search/all_11.js        |    2 +-
 docs/reference/api/doxygen/search/all_14.js        |    2 +-
 docs/reference/api/doxygen/search/all_3.js         |    3 +-
 docs/reference/api/doxygen/search/all_4.js         |    1 +
 docs/reference/api/doxygen/search/all_8.js         |    1 +
 docs/reference/api/doxygen/search/all_c.js         |    6 +-
 docs/reference/api/doxygen/search/enums_1.js       |    1 +
 docs/reference/api/doxygen/search/enumvalues_5.js  |    3 +
 docs/reference/api/doxygen/search/functions_10.js  |    2 +-
 docs/reference/api/doxygen/search/functions_13.js  |    2 +-
 docs/reference/api/doxygen/search/functions_2.js   |    2 +-
 docs/reference/api/doxygen/search/functions_3.js   |    1 +
 docs/reference/api/doxygen/search/functions_7.js   |    1 +
 docs/reference/api/doxygen/search/variables_a.js   |    3 +-
 ...m_1_1tir_1_1usmp_1_1BufferInfoNode-members.html |   45 +-
 ...structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html |   23 +-
 ...1tir_1_1usmp_1_1BufferInfoNode__coll__graph.svg |  347 ++---
 ...r_1_1usmp_1_1BufferInfoNode__inherit__graph.svg |   97 +-
 .../api/doxygen/tir_2usmp_2transform_8h.html       |    3 +
 .../doxygen/tir_2usmp_2transform_8h_source.html    |    3 +-
 .../reference/api/doxygen/tir_2usmp_2utils_8h.html |   16 +
 .../api/doxygen/tir_2usmp_2utils_8h_source.html    |   75 +-
 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       |    2 +-
 docs/tutorial/autotvm_relay_x86.html               |  160 +--
 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         |   40 +-
 159 files changed, 3284 insertions(+), 3230 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 d642effe0..1dea9f27a 100644
--- a/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
@@ -98,7 +98,7 @@ In this section, we download a pretrained imagenet model and classify an image.
 
  .. code-block:: none
 
-    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zipa78b8a1c-9489-4097-96cf-30b2630fc516 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip29d4075e-110f-445b-b318-7aa7a7631f39 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 ce1f80355..7f4e8c07b 100644
--- a/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
@@ -100,7 +100,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<07:51, 92.3kB/s]
      0%|          | 48.0k/41.5M [00:00<04:57, 146kB/s] 
      0%|          | 80.0k/41.5M [00:00<04:26, 163kB/s]
      0%|          | 136k/41.5M [00:00<03:12, 226kB/s] 
      0%|          | 208k/41.5M [00:01<03:21, 215kB/s]
      1%|1         | 536k/41.5M [00:01<01:03, 673kB/s]
      1%|1         | 632k/41.5M [00:01<01:07, 638kB/s]
      2%|1         | 704k/41.5M [00:01<01:57, 364kB/s]
      2%|1         | 792k/41.5M [00:02<01:48, 393kB/s]
      2%|2         | 880k/41.5M [00:02<01:41, 418kB/s]
      3%|2         | 1.08M/41.5M [00:02<01:40, 423kB/s]
      3%|2         | 1.24M/41.5M [00:03<01:50, 380kB/s]
      3%|3         | 1.35M/41.5M [00:03<01:55, 364kB/s]
      4%|3         | 1.58M/41.5M [00:03<01:19, 526kB/s]
      4%|3         | 1.65M/41.5M [00:04<01:22, 504kB/s]
      4%|4         | 1.71M/41.5M [00:04<01:46, 390kB/s]
      4%|4         | 1.76M/41.5M [00:04<01:53, 367kB/s]
       4%|4         | 1.80M/41.5M [00:04<02:00, 346kB/s]
      4%|4         | 1.84M/41.5M [00:05<02:10, 318kB/s]
      5%|4         | 1.88M/41.5M [00:05<02:20, 295kB/s]
      5%|4         | 1.91M/41.5M [00:05<02:36, 265kB/s]
      5%|4         | 1.95M/41.5M [00:05<02:42, 255kB/s]
      5%|4         | 2.00M/41.5M [00:05<02:38, 261kB/s]
      5%|4         | 2.04M/41.5M [00:05<02:44, 252kB/s]
      5%|5         | 2.09M/41.5M [00:06<02:39, 259kB/s]
      5%|5         | 2.13M/41.5M [00:06<02:36, 264kB/s]
      5%|5         | 2.16M/41.5M [00:06<04:40, 147kB/s]
      6%|5         | 2.30M/41.5M [00:06<02:19, 294kB/s]
      6%|5         | 2.35M/41.5M [00:07<02:21, 289kB/s]
      6%|5         | 2.39M/41.5M [00:07<02:29, 274kB/s]
      6%|5         | 2.43M/41.5M [00:07<02:35, 263kB/s]
      6%|5         | 2.46M/41.5M [00:07<03:35, 190kB/s]
      6%|6         | 2.52M/41.5M [00:08<03:05, 221kB/s]
      6%|6         | 2.55M/41.5M [00:08<03:13, 211kB/s]
      6%|6         | 2.57M/41.5M [00:08<04:29
 , 152kB/s]
      6%|6         | 2.61M/41.5M [00:08<04:00, 169kB/s]
      6%|6         | 2.63M/41.5M [00:09<04:40, 145kB/s]
      6%|6         | 2.66M/41.5M [00:09<05:21, 127kB/s]
      6%|6         | 2.67M/41.5M [00:09<05:43, 119kB/s]
      6%|6         | 2.69M/41.5M [00:09<07:34, 89.6kB/s]
      7%|6         | 2.71M/41.5M [00:10<06:45, 100kB/s] 
      7%|6         | 2.73M/41.5M [00:10<07:41, 88.0kB/s]
      7%|6         | 2.74M/41.5M [00:10<08:32, 79.2kB/s]
      7%|6         | 2.76M/41.5M [00:10<08:45, 77.3kB/s]
      7%|6         | 2.77M/41.5M [00:10<08:22, 80.7kB/s]
      7%|6         | 2.79M/41.5M [00:11<08:31, 79.3kB/s]
      7%|6         | 2.80M/41.5M [00:11<09:17, 72.8kB/s]
      7%|6         | 2.81M/41.5M [00:11<10:52, 62.2kB/s]
      7%|6         | 2.84M/41.5M [00:11<08:48, 76.7kB/s]
      7%|6         | 2.85M/41.5M [00:12<08:23, 80.5kB/s]
      7%|6         | 2.87M/41.5M [00:12<08:05, 83.5kB/s]
      7%|6         | 2.88M/41.5M [00:12<07:52, 85.7kB/s]
      7%|6         | 
 2.90M/41.5M [00:12<11:00, 61.2kB/s]
      7%|7         | 2.93M/41.5M [00:13<07:39, 88.0kB/s]
      7%|7         | 2.95M/41.5M [00:13<08:26, 79.8kB/s]
      7%|7         | 2.96M/41.5M [00:13<08:09, 82.6kB/s]
      7%|7         | 2.98M/41.5M [00:13<07:55, 84.9kB/s]
      7%|7         | 2.99M/41.5M [00:13<07:45, 86.7kB/s]
      7%|7         | 3.01M/41.5M [00:14<09:43, 69.2kB/s]
      7%|7         | 3.04M/41.5M [00:14<09:29, 70.8kB/s]
      7%|7         | 3.06M/41.5M [00:14<08:45, 76.7kB/s]
      7%|7         | 3.08M/41.5M [00:15<08:49, 76.1kB/s]
      7%|7         | 3.09M/41.5M [00:15<09:09, 73.3kB/s]
      7%|7         | 3.09M/41.5M [00:15<10:05, 66.5kB/s]
      7%|7         | 3.11M/41.5M [00:15<09:10, 73.1kB/s]
      8%|7         | 3.12M/41.5M [00:15<10:12, 65.7kB/s]
      8%|7         | 3.13M/41.5M [00:15<09:10, 73.0kB/s]
      8%|7         | 3.15M/41.5M [00:16<08:33, 78.4kB/s]
      8%|7         | 3.16M/41.5M [00:16<08:08, 82.2kB/s]
      8%|7         | 3.18M/41.5M [00:16<07:52, 85
 .0kB/s]
      8%|7         | 3.20M/41.5M [00:16<07:41, 87.0kB/s]
      8%|7         | 3.21M/41.5M [00:16<07:33, 88.4kB/s]
      8%|7         | 3.23M/41.5M [00:17<07:28, 89.4kB/s]
      8%|7         | 3.25M/41.5M [00:17<06:26, 104kB/s] 
      8%|7         | 3.27M/41.5M [00:17<07:08, 93.6kB/s]
      8%|7         | 3.28M/41.5M [00:17<06:42, 99.6kB/s]
      8%|7         | 3.30M/41.5M [00:17<06:51, 97.2kB/s]
      8%|7         | 3.31M/41.5M [00:17<06:58, 95.6kB/s]
      8%|8         | 3.33M/41.5M [00:18<07:03, 94.4kB/s]
      8%|8         | 3.34M/41.5M [00:18<07:07, 93.7kB/s]
      8%|8         | 3.36M/41.5M [00:18<07:09, 93.1kB/s]
      8%|8         | 3.38M/41.5M [00:18<06:40, 99.8kB/s]
      8%|8         | 3.39M/41.5M [00:18<06:50, 97.3kB/s]
      8%|8         | 3.41M/41.5M [00:18<06:03, 110kB/s] 
      8%|8         | 3.43M/41.5M [00:19<06:22, 104kB/s]
      8%|8         | 3.45M/41.5M [00:19<06:37, 100kB/s]
      8%|8         | 3.47M/41.5M [00:19<05:56, 112kB/s]
      8%|8         | 3.
 48M/41.5M [00:19<06:16, 106kB/s]
      8%|8         | 3.51M/41.5M [00:19<05:45, 115kB/s]
      9%|8         | 3.53M/41.5M [00:20<05:26, 122kB/s]
      9%|8         | 3.55M/41.5M [00:20<05:52, 113kB/s]
      9%|8         | 3.57M/41.5M [00:20<05:30, 120kB/s]
      9%|8         | 3.59M/41.5M [00:20<05:16, 126kB/s]
      9%|8         | 3.62M/41.5M [00:20<05:07, 129kB/s]
      9%|8         | 3.64M/41.5M [00:20<05:01, 132kB/s]
      9%|8         | 3.67M/41.5M [00:21<04:29, 147kB/s]
      9%|8         | 3.70M/41.5M [00:21<04:34, 144kB/s]
      9%|8         | 3.73M/41.5M [00:21<04:13, 156kB/s]
      9%|9         | 3.75M/41.5M [00:21<04:22, 151kB/s]
      9%|9         | 3.78M/41.5M [00:21<04:06, 160kB/s]
      9%|9         | 3.81M/41.5M [00:22<03:56, 167kB/s]
      9%|9         | 3.84M/41.5M [00:22<04:09, 159kB/s]
      9%|9         | 3.87M/41.5M [00:22<03:57, 166kB/s]
      9%|9         | 3.89M/41.5M [00:22<04:27, 147kB/s]
      9%|9         | 3.92M/41.5M [00:22<03:53, 168kB/s]
     10%|9  
        | 3.95M/41.5M [00:22<04:07, 159kB/s]
     10%|9         | 3.97M/41.5M [00:23<04:17, 153kB/s]
     10%|9         | 3.99M/41.5M [00:23<04:25, 148kB/s]
     10%|9         | 4.02M/41.5M [00:23<05:08, 127kB/s]
     10%|9         | 4.06M/41.5M [00:23<03:38, 179kB/s]
     10%|9         | 4.09M/41.5M [00:23<03:54, 167kB/s]
     10%|9         | 4.11M/41.5M [00:24<04:07, 158kB/s]
     10%|9         | 4.13M/41.5M [00:24<05:16, 124kB/s]
     10%|#         | 4.16M/41.5M [00:24<04:41, 139kB/s]
     10%|#         | 4.18M/41.5M [00:24<04:43, 138kB/s]
     10%|#         | 4.20M/41.5M [00:24<05:09, 126kB/s]
     10%|#         | 4.23M/41.5M [00:25<05:01, 129kB/s]
     10%|#         | 4.25M/41.5M [00:25<04:56, 132kB/s]
     10%|#         | 4.27M/41.5M [00:25<04:52, 133kB/s]
     10%|#         | 4.30M/41.5M [00:25<04:23, 148kB/s]
     10%|#         | 4.32M/41.5M [00:25<04:29, 145kB/s]
     10%|#         | 4.35M/41.5M [00:25<04:32, 143kB/s]
     11%|#         | 4.38M/41.5M [00:26<04:34, 142kB/s]
 
     11%|#         | 4.40M/41.5M [00:26<04:36, 140kB/s]
     11%|#         | 4.42M/41.5M [00:26<04:13, 154kB/s]
     11%|#         | 4.45M/41.5M [00:26<04:21, 149kB/s]
     11%|#         | 4.48M/41.5M [00:26<04:26, 145kB/s]
     11%|#         | 4.50M/41.5M [00:26<04:06, 157kB/s]
     11%|#         | 4.53M/41.5M [00:27<04:16, 151kB/s]
     11%|#         | 4.55M/41.5M [00:27<03:59, 162kB/s]
     11%|#1        | 4.59M/41.5M [00:27<04:11, 154kB/s]
     11%|#1        | 4.62M/41.5M [00:27<03:58, 162kB/s]
     11%|#1        | 4.64M/41.5M [00:27<03:46, 171kB/s]
     11%|#1        | 4.68M/41.5M [00:28<03:44, 172kB/s]
     11%|#1        | 4.71M/41.5M [00:28<03:39, 176kB/s]
     11%|#1        | 4.74M/41.5M [00:28<03:36, 178kB/s]
     12%|#1        | 4.77M/41.5M [00:28<03:34, 180kB/s]
     12%|#1        | 4.80M/41.5M [00:28<03:13, 199kB/s]
     12%|#1        | 4.83M/41.5M [00:29<04:10, 153kB/s]
     12%|#1        | 4.88M/41.5M [00:29<03:12, 200kB/s]
     12%|#1        | 4.90M/41.5M [00:29<03:31,
  181kB/s]
     12%|#1        | 4.92M/41.5M [00:29<03:43, 172kB/s]
     12%|#1        | 4.95M/41.5M [00:29<04:18, 148kB/s]
     12%|#2        | 4.98M/41.5M [00:29<03:29, 183kB/s]
     12%|#2        | 5.01M/41.5M [00:30<04:00, 159kB/s]
     12%|#2        | 5.03M/41.5M [00:30<03:55, 163kB/s]
     12%|#2        | 5.05M/41.5M [00:30<05:21, 119kB/s]
     12%|#2        | 5.09M/41.5M [00:30<04:21, 146kB/s]
     12%|#2        | 5.11M/41.5M [00:30<04:47, 133kB/s]
     12%|#2        | 5.13M/41.5M [00:31<04:44, 134kB/s]
     12%|#2        | 5.15M/41.5M [00:31<04:45, 133kB/s]
     12%|#2        | 5.16M/41.5M [00:31<04:55, 129kB/s]
     13%|#2        | 5.19M/41.5M [00:31<04:48, 132kB/s]
     13%|#2        | 5.21M/41.5M [00:31<04:20, 146kB/s]
     13%|#2        | 5.23M/41.5M [00:31<04:35, 138kB/s]
     13%|#2        | 5.25M/41.5M [00:32<04:35, 138kB/s]
     13%|#2        | 5.27M/41.5M [00:32<04:35, 138kB/s]
     13%|#2        | 5.30M/41.5M [00:32<04:09, 152kB/s]
     13%|#2        | 5.31M/41.5M [0
 0:32<04:26, 142kB/s]
     13%|#2        | 5.34M/41.5M [00:32<04:29, 141kB/s]
     13%|#2        | 5.36M/41.5M [00:32<04:07, 153kB/s]
     13%|#2        | 5.38M/41.5M [00:32<04:25, 143kB/s]
     13%|#3        | 5.40M/41.5M [00:33<04:28, 141kB/s]
     13%|#3        | 5.42M/41.5M [00:33<04:03, 155kB/s]
     13%|#3        | 5.45M/41.5M [00:33<03:54, 161kB/s]
     13%|#3        | 5.46M/41.5M [00:33<04:09, 151kB/s]
     13%|#3        | 5.48M/41.5M [00:33<05:18, 119kB/s]
     13%|#3        | 5.51M/41.5M [00:33<04:08, 152kB/s]
     13%|#3        | 5.53M/41.5M [00:34<04:16, 147kB/s]
     13%|#3        | 5.55M/41.5M [00:34<04:21, 144kB/s]
     13%|#3        | 5.58M/41.5M [00:34<04:24, 142kB/s]
     14%|#3        | 5.61M/41.5M [00:34<04:02, 155kB/s]
     14%|#3        | 5.62M/41.5M [00:34<05:18, 118kB/s]
     14%|#3        | 5.64M/41.5M [00:34<05:39, 111kB/s]
     14%|#3        | 5.67M/41.5M [00:35<06:07, 102kB/s]
     14%|#3        | 5.71M/41.5M [00:35<04:42, 133kB/s]
     14%|#3        | 5.7
 3M/41.5M [00:35<06:25, 97.4kB/s]
     14%|#3        | 5.76M/41.5M [00:36<05:59, 104kB/s] 
     14%|#3        | 5.77M/41.5M [00:36<06:08, 102kB/s]
     14%|#3        | 5.79M/41.5M [00:36<07:48, 79.9kB/s]
     14%|#4        | 5.81M/41.5M [00:36<06:44, 92.4kB/s]
     14%|#4        | 5.83M/41.5M [00:37<08:21, 74.5kB/s]
     14%|#4        | 5.84M/41.5M [00:37<07:58, 78.2kB/s]
     14%|#4        | 5.86M/41.5M [00:37<07:39, 81.4kB/s]
     14%|#4        | 5.88M/41.5M [00:37<07:25, 83.9kB/s]
     14%|#4        | 5.89M/41.5M [00:38<09:08, 68.0kB/s]
     14%|#4        | 5.90M/41.5M [00:38<09:53, 62.9kB/s]
     14%|#4        | 5.91M/41.5M [00:38<10:35, 58.7kB/s]
     14%|#4        | 5.91M/41.5M [00:38<11:13, 55.4kB/s]
     14%|#4        | 5.93M/41.5M [00:38<09:31, 65.3kB/s]
     14%|#4        | 5.94M/41.5M [00:39<10:22, 59.8kB/s]
     14%|#4        | 5.95M/41.5M [00:39<09:00, 68.9kB/s]
     14%|#4        | 5.96M/41.5M [00:39<12:51, 48.3kB/s]
     14%|#4        | 5.98M/41.5M [00:39<10:32, 58.9kB
 /s]
     14%|#4        | 5.99M/41.5M [00:39<09:12, 67.3kB/s]
     14%|#4        | 6.00M/41.5M [00:40<10:04, 61.6kB/s]
     14%|#4        | 6.01M/41.5M [00:40<10:50, 57.2kB/s]
     15%|#4        | 6.02M/41.5M [00:40<09:14, 67.0kB/s]
     15%|#4        | 6.03M/41.5M [00:40<10:10, 60.9kB/s]
     15%|#4        | 6.05M/41.5M [00:40<08:52, 69.8kB/s]
     15%|#4        | 6.05M/41.5M [00:40<09:51, 62.8kB/s]
     15%|#4        | 6.07M/41.5M [00:41<09:17, 66.6kB/s]
     15%|#4        | 6.09M/41.5M [00:41<08:23, 73.7kB/s]
     15%|#4        | 6.09M/41.5M [00:41<08:45, 70.6kB/s]
     15%|#4        | 6.12M/41.5M [00:41<07:26, 83.0kB/s]
     15%|#4        | 6.13M/41.5M [00:41<07:13, 85.5kB/s]
     15%|#4        | 6.15M/41.5M [00:42<07:04, 87.3kB/s]
     15%|#4        | 6.16M/41.5M [00:42<06:48, 90.7kB/s]
     15%|#4        | 6.18M/41.5M [00:42<06:17, 98.1kB/s]
     15%|#4        | 6.20M/41.5M [00:42<05:59, 103kB/s] 
     15%|#4        | 6.21M/41.5M [00:42<05:44, 107kB/s]
     15%|#5        | 6.23
 M/41.5M [00:42<05:32, 111kB/s]
     15%|#5        | 6.24M/41.5M [00:43<05:53, 104kB/s]
     15%|#5        | 6.26M/41.5M [00:43<05:29, 112kB/s]
     15%|#5        | 6.28M/41.5M [00:43<05:05, 121kB/s]
     15%|#5        | 6.30M/41.5M [00:43<05:15, 117kB/s]
     15%|#5        | 6.33M/41.5M [00:43<04:58, 123kB/s]
     15%|#5        | 6.35M/41.5M [00:43<04:48, 128kB/s]
     15%|#5        | 6.38M/41.5M [00:44<04:41, 131kB/s]
     15%|#5        | 6.39M/41.5M [00:44<06:20, 96.8kB/s]
     15%|#5        | 6.43M/41.5M [00:44<04:08, 148kB/s] 
     16%|#5        | 6.45M/41.5M [00:44<04:13, 145kB/s]
     16%|#5        | 6.48M/41.5M [00:44<04:17, 143kB/s]
     16%|#5        | 6.50M/41.5M [00:45<05:18, 115kB/s]
     16%|#5        | 6.52M/41.5M [00:45<04:57, 123kB/s]
     16%|#5        | 6.54M/41.5M [00:45<05:19, 115kB/s]
     16%|#5        | 6.56M/41.5M [00:45<05:02, 121kB/s]
     16%|#5        | 6.58M/41.5M [00:45<05:24, 113kB/s]
     16%|#5        | 6.60M/41.5M [00:46<05:31, 110kB/s]
     16%|#5 
        | 6.62M/41.5M [00:46<05:18, 115kB/s]
     16%|#6        | 6.64M/41.5M [00:46<05:27, 112kB/s]
     16%|#6        | 6.66M/41.5M [00:46<06:52, 88.5kB/s]
     16%|#6        | 6.68M/41.5M [00:46<06:32, 93.1kB/s]
     16%|#6        | 6.70M/41.5M [00:47<05:21, 113kB/s] 
     16%|#6        | 6.72M/41.5M [00:47<05:39, 107kB/s]
     16%|#6        | 6.73M/41.5M [00:47<07:35, 80.1kB/s]
     16%|#6        | 6.77M/41.5M [00:47<06:10, 98.3kB/s]
     16%|#6        | 6.78M/41.5M [00:48<06:16, 96.7kB/s]
     16%|#6        | 6.80M/41.5M [00:48<06:21, 95.5kB/s]
     16%|#6        | 6.81M/41.5M [00:48<06:54, 87.7kB/s]
     16%|#6        | 6.83M/41.5M [00:48<08:06, 74.7kB/s]
     16%|#6        | 6.84M/41.5M [00:48<08:13, 73.7kB/s]
     17%|#6        | 6.86M/41.5M [00:49<07:45, 78.1kB/s]
     17%|#6        | 6.88M/41.5M [00:49<07:24, 81.6kB/s]
     17%|#6        | 6.89M/41.5M [00:49<07:10, 84.3kB/s]
     17%|#6        | 6.91M/41.5M [00:49<06:59, 86.4kB/s]
     17%|#6        | 6.92M/41.5M [00:49<06:
 52, 87.9kB/s]
     17%|#6        | 6.94M/41.5M [00:50<06:46, 89.0kB/s]
     17%|#6        | 6.95M/41.5M [00:50<06:43, 89.8kB/s]
     17%|#6        | 6.97M/41.5M [00:50<06:40, 90.4kB/s]
     17%|#6        | 6.98M/41.5M [00:50<06:38, 90.8kB/s]
     17%|#6        | 7.00M/41.5M [00:50<06:37, 91.1kB/s]
     17%|#6        | 7.02M/41.5M [00:51<07:51, 76.7kB/s]
     17%|#6        | 7.05M/41.5M [00:51<06:14, 96.4kB/s]
     17%|#7        | 7.06M/41.5M [00:51<06:19, 95.2kB/s]
     17%|#7        | 7.08M/41.5M [00:51<06:22, 94.2kB/s]
     17%|#7        | 7.09M/41.5M [00:51<06:25, 93.6kB/s]
     17%|#7        | 7.11M/41.5M [00:52<06:27, 93.1kB/s]
     17%|#7        | 7.12M/41.5M [00:52<08:21, 71.8kB/s]
     17%|#7        | 7.16M/41.5M [00:52<06:46, 88.5kB/s]
     17%|#7        | 7.17M/41.5M [00:52<06:43, 89.2kB/s]
     17%|#7        | 7.19M/41.5M [00:53<06:40, 89.7kB/s]
     17%|#7        | 7.20M/41.5M [00:53<06:38, 90.3kB/s]
     17%|#7        | 7.22M/41.5M [00:53<06:36, 90.7kB/s]
     17%|#7   
      | 7.23M/41.5M [00:53<06:34, 91.0kB/s]
     17%|#7        | 7.25M/41.5M [00:53<06:33, 91.2kB/s]
     18%|#7        | 7.27M/41.5M [00:53<06:58, 85.7kB/s]
     18%|#7        | 7.28M/41.5M [00:54<06:50, 87.4kB/s]
     18%|#7        | 7.30M/41.5M [00:54<06:44, 88.7kB/s]
     18%|#7        | 7.31M/41.5M [00:54<06:13, 95.9kB/s]
     18%|#7        | 7.33M/41.5M [00:54<06:18, 94.6kB/s]
     18%|#7        | 7.34M/41.5M [00:54<06:22, 93.6kB/s]
     18%|#7        | 7.36M/41.5M [00:54<06:24, 93.1kB/s]
     18%|#7        | 7.38M/41.5M [00:55<06:26, 92.6kB/s]
     18%|#7        | 7.39M/41.5M [00:55<06:27, 92.4kB/s]
     18%|#7        | 7.41M/41.5M [00:55<05:37, 106kB/s] 
     18%|#7        | 7.44M/41.5M [00:55<05:09, 116kB/s]
     18%|#7        | 7.45M/41.5M [00:55<05:29, 108kB/s]
     18%|#8        | 7.48M/41.5M [00:56<05:04, 117kB/s]
     18%|#8        | 7.50M/41.5M [00:56<06:15, 94.8kB/s]
     18%|#8        | 7.53M/41.5M [00:56<06:20, 93.6kB/s]
     18%|#8        | 7.57M/41.5M [00:56<05:02
 , 117kB/s] 
     18%|#8        | 7.59M/41.5M [00:57<05:35, 106kB/s]
     18%|#8        | 7.60M/41.5M [00:57<05:46, 103kB/s]
     18%|#8        | 7.62M/41.5M [00:57<05:55, 99.8kB/s]
     18%|#8        | 7.63M/41.5M [00:57<06:03, 97.7kB/s]
     18%|#8        | 7.65M/41.5M [00:57<06:09, 96.0kB/s]
     18%|#8        | 7.66M/41.5M [00:58<08:57, 66.0kB/s]
     19%|#8        | 7.70M/41.5M [00:58<06:22, 92.5kB/s]
     19%|#8        | 7.72M/41.5M [00:58<06:23, 92.3kB/s]
     19%|#8        | 7.73M/41.5M [00:58<06:24, 92.1kB/s]
     19%|#8        | 7.75M/41.5M [00:59<06:24, 92.0kB/s]
     19%|#8        | 7.77M/41.5M [00:59<06:24, 92.0kB/s]
     19%|#8        | 7.78M/41.5M [00:59<06:24, 91.9kB/s]
     19%|#8        | 7.80M/41.5M [00:59<06:24, 91.9kB/s]
     19%|#8        | 7.81M/41.5M [01:00<08:16, 71.2kB/s]
     19%|#8        | 7.84M/41.5M [01:00<05:58, 98.4kB/s]
     19%|#8        | 7.86M/41.5M [01:00<06:04, 96.7kB/s]
     19%|#8        | 7.88M/41.5M [01:00<06:54, 84.9kB/s]
     19%|#9       
  | 7.89M/41.5M [01:01<08:29, 69.1kB/s]
     19%|#9        | 7.91M/41.5M [01:01<08:30, 68.9kB/s]
     19%|#9        | 7.94M/41.5M [01:01<09:58, 58.7kB/s]
     19%|#9        | 7.95M/41.5M [01:02<11:32, 50.8kB/s]
     19%|#9        | 7.98M/41.5M [01:02<09:00, 65.0kB/s]
     19%|#9        | 7.98M/41.5M [01:02<09:32, 61.4kB/s]
     19%|#9        | 8.00M/41.5M [01:02<08:37, 67.8kB/s]
     19%|#9        | 8.01M/41.5M [01:03<09:19, 62.7kB/s]
     19%|#9        | 8.02M/41.5M [01:03<09:59, 58.5kB/s]
     19%|#9        | 8.03M/41.5M [01:03<09:14, 63.3kB/s]
     19%|#9        | 8.04M/41.5M [01:03<09:19, 62.7kB/s]
     19%|#9        | 8.05M/41.5M [01:03<10:05, 57.9kB/s]
     19%|#9        | 8.06M/41.5M [01:03<08:37, 67.7kB/s]
     19%|#9        | 8.08M/41.5M [01:04<08:21, 69.8kB/s]
     19%|#9        | 8.09M/41.5M [01:04<08:37, 67.7kB/s]
     20%|#9        | 8.10M/41.5M [01:04<08:21, 69.9kB/s]
     20%|#9        | 8.11M/41.5M [01:04<08:37, 67.7kB/s]
     20%|#9        | 8.13M/41.5M [01:04<07:01,
  82.9kB/s]
     20%|#9        | 8.15M/41.5M [01:05<06:48, 85.5kB/s]
     20%|#9        | 8.16M/41.5M [01:05<06:40, 87.3kB/s]
     20%|#9        | 8.18M/41.5M [01:05<06:34, 88.6kB/s]
     20%|#9        | 8.20M/41.5M [01:05<06:01, 96.4kB/s]
     20%|#9        | 8.21M/41.5M [01:05<05:33, 105kB/s] 
     20%|#9        | 8.23M/41.5M [01:05<05:19, 109kB/s]
     20%|#9        | 8.24M/41.5M [01:06<07:31, 77.2kB/s]
     20%|#9        | 8.27M/41.5M [01:06<05:30, 105kB/s] 
     20%|#9        | 8.29M/41.5M [01:06<05:42, 102kB/s]
     20%|##        | 8.30M/41.5M [01:06<07:31, 77.1kB/s]
     20%|##        | 8.33M/41.5M [01:07<06:20, 91.5kB/s]
     20%|##        | 8.34M/41.5M [01:07<06:19, 91.6kB/s]
     20%|##        | 8.36M/41.5M [01:07<07:08, 81.1kB/s]
     20%|##        | 8.38M/41.5M [01:07<06:54, 83.8kB/s]
     20%|##        | 8.39M/41.5M [01:08<08:38, 67.0kB/s]
     20%|##        | 8.41M/41.5M [01:08<06:52, 84.2kB/s]
     20%|##        | 8.43M/41.5M [01:08<06:42, 86.1kB/s]
     20%|##        
 | 8.45M/41.5M [01:08<07:06, 81.2kB/s]
     20%|##        | 8.46M/41.5M [01:08<06:52, 83.9kB/s]
     20%|##        | 8.48M/41.5M [01:09<06:42, 86.1kB/s]
     20%|##        | 8.49M/41.5M [01:09<06:02, 95.5kB/s]
     21%|##        | 8.51M/41.5M [01:09<06:06, 94.4kB/s]
     21%|##        | 8.52M/41.5M [01:09<06:09, 93.6kB/s]
     21%|##        | 8.54M/41.5M [01:09<06:11, 93.1kB/s]
     21%|##        | 8.55M/41.5M [01:09<06:12, 92.7kB/s]
     21%|##        | 8.57M/41.5M [01:10<06:13, 92.4kB/s]
     21%|##        | 8.59M/41.5M [01:10<06:14, 92.2kB/s]
     21%|##        | 8.60M/41.5M [01:10<06:14, 92.1kB/s]
     21%|##        | 8.62M/41.5M [01:10<05:33, 103kB/s] 
     21%|##        | 8.63M/41.5M [01:10<05:08, 112kB/s]
     21%|##        | 8.65M/41.5M [01:10<05:23, 107kB/s]
     21%|##        | 8.66M/41.5M [01:10<05:10, 111kB/s]
     21%|##        | 8.68M/41.5M [01:11<07:22, 77.8kB/s]
     21%|##        | 8.70M/41.5M [01:11<06:16, 91.4kB/s]
     21%|##1       | 8.73M/41.5M [01:11<04:52, 117
 kB/s] 
     21%|##1       | 8.74M/41.5M [01:12<07:19, 78.1kB/s]
     21%|##1       | 8.77M/41.5M [01:12<05:06, 112kB/s] 
     21%|##1       | 8.79M/41.5M [01:12<05:21, 107kB/s]
     21%|##1       | 8.80M/41.5M [01:12<05:34, 103kB/s]
     21%|##1       | 8.82M/41.5M [01:12<06:08, 93.1kB/s]
     21%|##1       | 8.84M/41.5M [01:12<06:51, 83.2kB/s]
     21%|##1       | 8.85M/41.5M [01:13<06:40, 85.5kB/s]
     21%|##1       | 8.87M/41.5M [01:13<08:19, 68.5kB/s]
     21%|##1       | 8.89M/41.5M [01:13<08:18, 68.6kB/s]
     21%|##1       | 8.91M/41.5M [01:14<06:50, 83.3kB/s]
     22%|##1       | 8.93M/41.5M [01:14<07:57, 71.6kB/s]
     22%|##1       | 8.95M/41.5M [01:14<08:20, 68.2kB/s]
     22%|##1       | 8.95M/41.5M [01:14<08:18, 68.5kB/s]
     22%|##1       | 8.97M/41.5M [01:15<10:15, 55.4kB/s]
     22%|##1       | 8.99M/41.5M [01:15<07:47, 72.9kB/s]
     22%|##1       | 9.01M/41.5M [01:15<08:27, 67.1kB/s]
     22%|##1       | 9.02M/41.5M [01:15<07:48, 72.6kB/s]
     22%|##1       | 9.
 03M/41.5M [01:15<07:51, 72.2kB/s]
     22%|##1       | 9.05M/41.5M [01:16<08:00, 70.8kB/s]
     22%|##1       | 9.06M/41.5M [01:16<07:25, 76.3kB/s]
     22%|##1       | 9.08M/41.5M [01:16<07:01, 80.6kB/s]
     22%|##1       | 9.09M/41.5M [01:16<07:24, 76.3kB/s]
     22%|##1       | 9.10M/41.5M [01:16<07:32, 75.1kB/s]
     22%|##1       | 9.11M/41.5M [01:17<09:23, 60.3kB/s]
     22%|##1       | 9.12M/41.5M [01:17<07:24, 76.3kB/s]
     22%|##2       | 9.14M/41.5M [01:17<11:58, 47.2kB/s]
     22%|##2       | 9.15M/41.5M [01:18<13:38, 41.4kB/s]
     22%|##2       | 9.16M/41.5M [01:18<15:40, 36.0kB/s]
     22%|##2       | 9.18M/41.5M [01:18<12:25, 45.4kB/s]
     22%|##2       | 9.19M/41.5M [01:19<12:24, 45.5kB/s]
     22%|##2       | 9.20M/41.5M [01:19<12:22, 45.6kB/s]
     22%|##2       | 9.20M/41.5M [01:19<12:21, 45.7kB/s]
     22%|##2       | 9.21M/41.5M [01:19<12:20, 45.7kB/s]
     22%|##2       | 9.22M/41.5M [01:19<12:19, 45.8kB/s]
     22%|##2       | 9.23M/41.5M [01:19<12:18, 45.8
 kB/s]
     22%|##2       | 9.23M/41.5M [01:20<12:18, 45.8kB/s]
     22%|##2       | 9.24M/41.5M [01:20<12:17, 45.8kB/s]
     22%|##2       | 9.26M/41.5M [01:20<09:30, 59.2kB/s]
     22%|##2       | 9.27M/41.5M [01:20<08:11, 68.8kB/s]
     22%|##2       | 9.29M/41.5M [01:20<07:26, 75.5kB/s]
     22%|##2       | 9.30M/41.5M [01:21<08:25, 66.8kB/s]
     22%|##2       | 9.31M/41.5M [01:21<07:34, 74.2kB/s]
     23%|##2       | 9.34M/41.5M [01:21<06:02, 93.1kB/s]
     23%|##2       | 9.35M/41.5M [01:21<06:03, 92.7kB/s]
     23%|##2       | 9.37M/41.5M [01:21<06:04, 92.4kB/s]
     23%|##2       | 9.39M/41.5M [01:21<05:17, 106kB/s] 
     23%|##2       | 9.41M/41.5M [01:22<05:30, 102kB/s]
     23%|##2       | 9.44M/41.5M [01:22<04:26, 126kB/s]
     23%|##2       | 9.46M/41.5M [01:22<04:19, 130kB/s]
     23%|##2       | 9.50M/41.5M [01:22<03:30, 160kB/s]
     23%|##2       | 9.52M/41.5M [01:22<04:01, 139kB/s]
     23%|##3       | 9.56M/41.5M [01:22<03:06, 180kB/s]
     23%|##3       | 9.59M/4
 1.5M [01:23<03:20, 167kB/s]
     23%|##3       | 9.62M/41.5M [01:23<03:14, 172kB/s]
     23%|##3       | 9.64M/41.5M [01:23<03:26, 162kB/s]
     23%|##3       | 9.66M/41.5M [01:23<03:35, 155kB/s]
     23%|##3       | 9.68M/41.5M [01:24<05:19, 104kB/s]
     23%|##3       | 9.70M/41.5M [01:24<04:56, 112kB/s]
     23%|##3       | 9.73M/41.5M [01:24<04:14, 131kB/s]
     24%|##3       | 9.76M/41.5M [01:24<04:10, 133kB/s]
     24%|##3       | 9.77M/41.5M [01:24<04:34, 121kB/s]
     24%|##3       | 9.80M/41.5M [01:24<04:23, 126kB/s]
     24%|##3       | 9.81M/41.5M [01:25<06:09, 89.9kB/s]
     24%|##3       | 9.83M/41.5M [01:25<06:28, 85.4kB/s]
     24%|##3       | 9.87M/41.5M [01:25<04:18, 128kB/s] 
     24%|##3       | 9.88M/41.5M [01:25<04:39, 118kB/s]
     24%|##3       | 9.90M/41.5M [01:26<04:58, 111kB/s]
     24%|##3       | 9.92M/41.5M [01:26<04:58, 111kB/s]
     24%|##3       | 9.94M/41.5M [01:26<04:52, 113kB/s]
     24%|##3       | 9.95M/41.5M [01:26<05:09, 107kB/s]
     24%|##4  
      | 9.98M/41.5M [01:26<05:04, 108kB/s]
     24%|##4       | 9.99M/41.5M [01:26<04:57, 111kB/s]
     24%|##4       | 10.0M/41.5M [01:27<04:56, 111kB/s]
     24%|##4       | 10.0M/41.5M [01:27<04:51, 113kB/s]
     24%|##4       | 10.0M/41.5M [01:27<07:06, 77.3kB/s]
     24%|##4       | 10.1M/41.5M [01:27<04:39, 118kB/s] 
     24%|##4       | 10.1M/41.5M [01:28<04:55, 111kB/s]
     24%|##4       | 10.1M/41.5M [01:28<04:38, 118kB/s]
     24%|##4       | 10.1M/41.5M [01:28<04:55, 111kB/s]
     25%|##4       | 10.2M/41.5M [01:28<04:37, 118kB/s]
     25%|##4       | 10.2M/41.5M [01:28<04:24, 124kB/s]
     25%|##4       | 10.2M/41.5M [01:29<06:08, 88.9kB/s]
     25%|##4       | 10.3M/41.5M [01:29<04:16, 128kB/s] 
     25%|##4       | 10.3M/41.5M [01:29<04:12, 130kB/s]
     25%|##4       | 10.3M/41.5M [01:29<04:33, 120kB/s]
     25%|##4       | 10.3M/41.5M [01:29<04:50, 113kB/s]
     25%|##4       | 10.3M/41.5M [01:30<04:45, 115kB/s]
     25%|##4       | 10.4M/41.5M [01:30<04:28, 122kB/s]
 
     25%|##5       | 10.4M/41.5M [01:30<04:18, 126kB/s]
     25%|##5       | 10.4M/41.5M [01:30<04:11, 130kB/s]
     25%|##5       | 10.4M/41.5M [01:30<04:35, 118kB/s]
     25%|##5       | 10.4M/41.5M [01:30<04:22, 124kB/s]
     25%|##5       | 10.5M/41.5M [01:31<04:13, 128kB/s]
     25%|##5       | 10.5M/41.5M [01:31<04:08, 131kB/s]
     25%|##5       | 10.5M/41.5M [01:31<04:32, 119kB/s]
     25%|##5       | 10.5M/41.5M [01:31<04:20, 125kB/s]
     25%|##5       | 10.5M/41.5M [01:31<04:12, 129kB/s]
     25%|##5       | 10.6M/41.5M [01:32<04:06, 131kB/s]
     26%|##5       | 10.6M/41.5M [01:32<03:40, 147kB/s]
     26%|##5       | 10.6M/41.5M [01:32<05:09, 105kB/s]
     26%|##5       | 10.7M/41.5M [01:32<05:08, 105kB/s]
     26%|##5       | 10.7M/41.5M [01:33<03:46, 143kB/s]
     26%|##5       | 10.7M/41.5M [01:33<03:47, 142kB/s]
     26%|##5       | 10.8M/41.5M [01:33<03:49, 141kB/s]
     26%|##5       | 10.8M/41.5M [01:33<03:50, 140kB/s]
     26%|##6       | 10.8M/41.5M [01:33<03:5
 1, 139kB/s]
     26%|##6       | 10.8M/41.5M [01:33<03:51, 139kB/s]
     26%|##6       | 10.9M/41.5M [01:34<03:31, 152kB/s]
     26%|##6       | 10.9M/41.5M [01:34<03:37, 148kB/s]
     26%|##6       | 10.9M/41.5M [01:34<04:22, 122kB/s]
     26%|##6       | 10.9M/41.5M [01:34<05:25, 98.6kB/s]
     26%|##6       | 11.0M/41.5M [01:35<03:34, 149kB/s] 
     26%|##6       | 11.0M/41.5M [01:35<03:52, 138kB/s]
     27%|##6       | 11.0M/41.5M [01:35<03:58, 134kB/s]
     27%|##6       | 11.0M/41.5M [01:35<03:56, 135kB/s]
     27%|##6       | 11.0M/41.5M [01:35<03:55, 136kB/s]
     27%|##6       | 11.1M/41.5M [01:35<03:54, 136kB/s]
     27%|##6       | 11.1M/41.5M [01:36<04:37, 115kB/s]
     27%|##6       | 11.1M/41.5M [01:36<03:36, 147kB/s]
     27%|##6       | 11.1M/41.5M [01:36<03:45, 141kB/s]
     27%|##6       | 11.2M/41.5M [01:36<03:47, 140kB/s]
     27%|##6       | 11.2M/41.5M [01:36<03:48, 139kB/s]
     27%|##7       | 11.2M/41.5M [01:37<03:48, 139kB/s]
     27%|##7       | 11.2M/41.5
 M [01:37<03:49, 138kB/s]
     27%|##7       | 11.3M/41.5M [01:37<04:59, 106kB/s]
     27%|##7       | 11.3M/41.5M [01:37<03:33, 148kB/s]
     27%|##7       | 11.3M/41.5M [01:37<03:37, 145kB/s]
     27%|##7       | 11.4M/41.5M [01:38<03:40, 143kB/s]
     27%|##7       | 11.4M/41.5M [01:38<03:43, 142kB/s]
     27%|##7       | 11.4M/41.5M [01:38<03:44, 140kB/s]
     28%|##7       | 11.4M/41.5M [01:38<03:45, 140kB/s]
     28%|##7       | 11.5M/41.5M [01:38<03:26, 152kB/s]
     28%|##7       | 11.5M/41.5M [01:39<04:43, 111kB/s]
     28%|##7       | 11.5M/41.5M [01:39<03:28, 151kB/s]
     28%|##7       | 11.5M/41.5M [01:39<03:33, 147kB/s]
     28%|##7       | 11.6M/41.5M [01:39<03:37, 144kB/s]
     28%|##7       | 11.6M/41.5M [01:39<04:02, 129kB/s]
     28%|##7       | 11.6M/41.5M [01:39<03:42, 141kB/s]
     28%|##8       | 11.6M/41.5M [01:40<03:43, 140kB/s]
     28%|##8       | 11.6M/41.5M [01:40<03:44, 139kB/s]
     28%|##8       | 11.7M/41.5M [01:40<03:24, 153kB/s]
     28%|##8       |
  11.7M/41.5M [01:40<03:30, 148kB/s]
     28%|##8       | 11.7M/41.5M [01:40<03:16, 159kB/s]
     28%|##8       | 11.7M/41.5M [01:40<03:24, 152kB/s]
     28%|##8       | 11.8M/41.5M [01:41<03:15, 160kB/s]
     28%|##8       | 11.8M/41.5M [01:41<03:28, 149kB/s]
     28%|##8       | 11.8M/41.5M [01:41<03:17, 157kB/s]
     29%|##8       | 11.8M/41.5M [01:41<03:05, 167kB/s]
     29%|##8       | 11.9M/41.5M [01:41<03:18, 157kB/s]
     29%|##8       | 11.9M/41.5M [01:41<03:09, 164kB/s]
     29%|##8       | 11.9M/41.5M [01:41<03:04, 168kB/s]
     29%|##8       | 11.9M/41.5M [01:42<03:16, 158kB/s]
     29%|##8       | 11.9M/41.5M [01:42<03:09, 163kB/s]
     29%|##8       | 12.0M/41.5M [01:42<03:00, 172kB/s]
     29%|##8       | 12.0M/41.5M [01:42<02:57, 175kB/s]
     29%|##8       | 12.0M/41.5M [01:42<02:54, 177kB/s]
     29%|##9       | 12.0M/41.5M [01:42<02:50, 182kB/s]
     29%|##9       | 12.1M/41.5M [01:42<02:35, 198kB/s]
     29%|##9       | 12.1M/41.5M [01:43<02:39, 193kB/s]
     29%|
 ##9       | 12.1M/41.5M [01:43<02:42, 189kB/s]
     29%|##9       | 12.1M/41.5M [01:43<02:40, 191kB/s]
     29%|##9       | 12.2M/41.5M [01:43<02:29, 205kB/s]
     29%|##9       | 12.2M/41.5M [01:43<02:34, 198kB/s]
     29%|##9       | 12.2M/41.5M [01:43<02:39, 193kB/s]
     30%|##9       | 12.2M/41.5M [01:43<02:28, 207kB/s]
     30%|##9       | 12.3M/41.5M [01:43<02:18, 222kB/s]
     30%|##9       | 12.3M/41.5M [01:44<03:24, 149kB/s]
     30%|##9       | 12.4M/41.5M [01:44<02:33, 199kB/s]
     30%|##9       | 12.4M/41.5M [01:44<02:37, 194kB/s]
     30%|##9       | 12.4M/41.5M [01:44<02:37, 194kB/s]
     30%|##9       | 12.4M/41.5M [01:44<02:39, 191kB/s]
     30%|###       | 12.5M/41.5M [01:45<02:41, 188kB/s]
     30%|###       | 12.5M/41.5M [01:45<02:29, 203kB/s]
     30%|###       | 12.5M/41.5M [01:45<02:35, 196kB/s]
     30%|###       | 12.5M/41.5M [01:45<02:38, 191kB/s]
     30%|###       | 12.6M/41.5M [01:45<02:24, 210kB/s]
     30%|###       | 12.6M/41.5M [01:45<02:19, 217kB/s
 ]
     30%|###       | 12.6M/41.5M [01:45<02:16, 221kB/s]
     31%|###       | 12.7M/41.5M [01:46<02:13, 227kB/s]
     31%|###       | 12.7M/41.5M [01:46<02:11, 230kB/s]
     31%|###       | 12.7M/41.5M [01:46<02:19, 216kB/s]
     31%|###       | 12.8M/41.5M [01:46<02:12, 228kB/s]
     31%|###       | 12.8M/41.5M [01:46<02:09, 232kB/s]
     31%|###       | 12.8M/41.5M [01:46<03:13, 155kB/s]
     31%|###1      | 12.9M/41.5M [01:47<02:15, 221kB/s]
     31%|###1      | 12.9M/41.5M [01:47<02:22, 210kB/s]
     31%|###1      | 12.9M/41.5M [01:47<02:28, 202kB/s]
     31%|###1      | 13.0M/41.5M [01:47<02:32, 197kB/s]
     31%|###1      | 13.0M/41.5M [01:47<03:39, 136kB/s]
     31%|###1      | 13.0M/41.5M [01:48<02:24, 207kB/s]
     32%|###1      | 13.1M/41.5M [01:48<02:38, 188kB/s]
     32%|###1      | 13.1M/41.5M [01:48<03:37, 137kB/s]
     32%|###1      | 13.1M/41.5M [01:48<02:57, 168kB/s]
     32%|###1      | 13.2M/41.5M [01:48<03:05, 160kB/s]
     32%|###1      | 13.2M/41.5M [01:49<03:
 12, 154kB/s]
     32%|###1      | 13.2M/41.5M [01:49<03:18, 149kB/s]
     32%|###1      | 13.2M/41.5M [01:49<03:22, 146kB/s]
     32%|###1      | 13.2M/41.5M [01:49<03:32, 140kB/s]
     32%|###1      | 13.3M/41.5M [01:49<03:35, 138kB/s]
     32%|###2      | 13.3M/41.5M [01:49<03:43, 133kB/s]
     32%|###2      | 13.3M/41.5M [01:50<03:40, 134kB/s]
     32%|###2      | 13.3M/41.5M [01:50<03:38, 135kB/s]
     32%|###2      | 13.4M/41.5M [01:50<03:36, 136kB/s]
     32%|###2      | 13.4M/41.5M [01:50<03:19, 148kB/s]
     32%|###2      | 13.4M/41.5M [01:50<03:08, 156kB/s]
     32%|###2      | 13.4M/41.5M [01:50<03:16, 150kB/s]
     32%|###2      | 13.4M/41.5M [01:50<03:01, 162kB/s]
     32%|###2      | 13.5M/41.5M [01:51<02:56, 166kB/s]
     33%|###2      | 13.5M/41.5M [01:51<03:07, 156kB/s]
     33%|###2      | 13.5M/41.5M [01:51<03:15, 150kB/s]
     33%|###2      | 13.5M/41.5M [01:51<03:04, 159kB/s]
     33%|###2      | 13.6M/41.5M [01:51<02:54, 168kB/s]
     33%|###2      | 13.6M/41.5M
  [01:52<04:18, 113kB/s]
     33%|###2      | 13.7M/41.5M [01:52<02:37, 186kB/s]
     33%|###2      | 13.7M/41.5M [01:52<03:55, 124kB/s]
     33%|###3      | 13.7M/41.5M [01:52<02:57, 164kB/s]
     33%|###3      | 13.8M/41.5M [01:53<03:14, 150kB/s]
     33%|###3      | 13.8M/41.5M [01:53<03:18, 147kB/s]
     33%|###3      | 13.8M/41.5M [01:53<03:21, 144kB/s]
     33%|###3      | 13.8M/41.5M [01:53<03:53, 124kB/s]
     33%|###3      | 13.8M/41.5M [01:53<03:46, 128kB/s]
     33%|###3      | 13.9M/41.5M [01:54<03:42, 130kB/s]
     33%|###3      | 13.9M/41.5M [01:54<03:38, 132kB/s]
     34%|###3      | 13.9M/41.5M [01:54<03:36, 134kB/s]
     34%|###3      | 13.9M/41.5M [01:54<03:34, 135kB/s]
     34%|###3      | 14.0M/41.5M [01:54<03:13, 149kB/s]
     34%|###3      | 14.0M/41.5M [01:55<03:17, 146kB/s]
     34%|###3      | 14.0M/41.5M [01:55<03:03, 157kB/s]
     34%|###3      | 14.0M/41.5M [01:55<03:10, 151kB/s]
     34%|###3      | 14.1M/41.5M [01:55<02:58, 161kB/s]
     34%|###3      | 
 14.1M/41.5M [01:55<03:06, 154kB/s]
     34%|###4      | 14.1M/41.5M [01:55<02:56, 163kB/s]
     34%|###4      | 14.2M/41.5M [01:56<02:49, 169kB/s]
     34%|###4      | 14.2M/41.5M [01:56<02:45, 173kB/s]
     34%|###4      | 14.2M/41.5M [01:56<02:42, 176kB/s]
     34%|###4      | 14.3M/41.5M [01:56<02:39, 179kB/s]
     34%|###4      | 14.3M/41.5M [01:56<02:27, 194kB/s]
     35%|###4      | 14.3M/41.5M [01:56<02:29, 191kB/s]
     35%|###4      | 14.4M/41.5M [01:57<02:20, 202kB/s]
     35%|###4      | 14.4M/41.5M [01:57<02:24, 197kB/s]
     35%|###4      | 14.4M/41.5M [01:57<03:00, 157kB/s]
     35%|###4      | 14.5M/41.5M [01:57<02:19, 202kB/s]
     35%|###4      | 14.5M/41.5M [01:57<02:24, 196kB/s]
     35%|###4      | 14.5M/41.5M [01:57<02:24, 196kB/s]
     35%|###5      | 14.5M/41.5M [01:58<02:27, 192kB/s]
     35%|###5      | 14.6M/41.5M [01:58<02:29, 189kB/s]
     35%|###5      | 14.6M/41.5M [01:58<02:31, 186kB/s]
     35%|###5      | 14.6M/41.5M [01:58<02:32, 184kB/s]
     35%|#
 ##5      | 14.6M/41.5M [01:58<02:30, 188kB/s]
     35%|###5      | 14.7M/41.5M [01:58<02:18, 204kB/s]
     35%|###5      | 14.7M/41.5M [01:58<02:22, 197kB/s]
     35%|###5      | 14.7M/41.5M [01:59<02:26, 192kB/s]
     36%|###5      | 14.8M/41.5M [01:59<02:17, 204kB/s]
     36%|###5      | 14.8M/41.5M [01:59<02:18, 202kB/s]
     36%|###5      | 14.8M/41.5M [01:59<02:10, 214kB/s]
     36%|###5      | 14.8M/41.5M [01:59<02:16, 204kB/s]
     36%|###5      | 14.9M/41.5M [01:59<02:21, 197kB/s]
     36%|###5      | 14.9M/41.5M [02:00<02:14, 207kB/s]
     36%|###5      | 14.9M/41.5M [02:00<02:05, 222kB/s]
     36%|###6      | 15.0M/41.5M [02:00<02:11, 211kB/s]
     36%|###6      | 15.0M/41.5M [02:00<02:17, 202kB/s]
     36%|###6      | 15.0M/41.5M [02:00<02:22, 195kB/s]
     36%|###6      | 15.0M/41.5M [02:00<02:14, 206kB/s]
     36%|###6      | 15.1M/41.5M [02:00<02:09, 213kB/s]
     36%|###6      | 15.1M/41.5M [02:01<02:11, 210kB/s]
     36%|###6      | 15.1M/41.5M [02:01<02:07, 217kB/s]
 
     37%|###6      | 15.2M/41.5M [02:01<02:04, 221kB/s]
     37%|###6      | 15.2M/41.5M [02:01<02:01, 227kB/s]
     37%|###6      | 15.2M/41.5M [02:01<02:08, 214kB/s]
     37%|###6      | 15.3M/41.5M [02:01<02:05, 219kB/s]
     37%|###6      | 15.3M/41.5M [02:02<02:55, 156kB/s]
     37%|###7      | 15.4M/41.5M [02:02<01:56, 235kB/s]
     37%|###7      | 15.4M/41.5M [02:02<02:03, 221kB/s]
     37%|###7      | 15.5M/41.5M [02:02<02:03, 221kB/s]
     37%|###7      | 15.5M/41.5M [02:02<02:08, 212kB/s]
     37%|###7      | 15.5M/41.5M [02:03<02:05, 217kB/s]
     37%|###7      | 15.6M/41.5M [02:03<02:01, 225kB/s]
     38%|###7      | 15.6M/41.5M [02:03<02:06, 214kB/s]
     38%|###7      | 15.6M/41.5M [02:03<02:02, 222kB/s]
     38%|###7      | 15.6M/41.5M [02:03<01:59, 228kB/s]
     38%|###7      | 15.7M/41.5M [02:03<01:58, 228kB/s]
     38%|###7      | 15.7M/41.5M [02:03<01:58, 229kB/s]
     38%|###7      | 15.8M/41.5M [02:04<01:57, 229kB/s]
     38%|###8      | 15.8M/41.5M [02:04<01:4
 8, 249kB/s]
     38%|###8      | 15.8M/41.5M [02:04<01:48, 248kB/s]
     38%|###8      | 15.9M/41.5M [02:04<01:48, 247kB/s]
     38%|###8      | 15.9M/41.5M [02:04<01:49, 245kB/s]
     38%|###8      | 15.9M/41.5M [02:04<01:59, 224kB/s]
     38%|###8      | 16.0M/41.5M [02:05<01:48, 247kB/s]
     39%|###8      | 16.0M/41.5M [02:05<01:48, 247kB/s]
     39%|###8      | 16.0M/41.5M [02:05<01:48, 246kB/s]
     39%|###8      | 16.1M/41.5M [02:05<01:49, 244kB/s]
     39%|###8      | 16.1M/41.5M [02:05<01:48, 245kB/s]
     39%|###8      | 16.1M/41.5M [02:05<01:48, 245kB/s]
     39%|###8      | 16.1M/41.5M [02:05<01:48, 246kB/s]
     39%|###8      | 16.2M/41.5M [02:05<01:48, 244kB/s]
     39%|###9      | 16.2M/41.5M [02:06<01:48, 245kB/s]
     39%|###9      | 16.2M/41.5M [02:06<01:48, 245kB/s]
     39%|###9      | 16.3M/41.5M [02:06<02:32, 173kB/s]
     39%|###9      | 16.3M/41.5M [02:06<01:44, 253kB/s]
     39%|###9      | 16.4M/41.5M [02:06<01:45, 250kB/s]
     40%|###9      | 16.4M/41.5M 
 [02:06<01:55, 228kB/s]
     40%|###9      | 16.4M/41.5M [02:07<02:02, 214kB/s]
     40%|###9      | 16.5M/41.5M [02:07<01:58, 222kB/s]
     40%|###9      | 16.5M/41.5M [02:07<02:59, 146kB/s]
     40%|###9      | 16.6M/41.5M [02:07<01:48, 241kB/s]
     40%|###9      | 16.6M/41.5M [02:07<02:11, 199kB/s]
     40%|####      | 16.6M/41.5M [02:08<02:13, 195kB/s]
     40%|####      | 16.7M/41.5M [02:08<02:07, 204kB/s]
     40%|####      | 16.7M/41.5M [02:08<02:11, 198kB/s]
     40%|####      | 16.7M/41.5M [02:08<02:13, 194kB/s]
     40%|####      | 16.8M/41.5M [02:08<02:07, 204kB/s]
     40%|####      | 16.8M/41.5M [02:09<02:10, 198kB/s]
     41%|####      | 16.8M/41.5M [02:09<02:13, 194kB/s]
     41%|####      | 16.9M/41.5M [02:09<02:06, 204kB/s]
     41%|####      | 16.9M/41.5M [02:09<02:09, 198kB/s]
     41%|####      | 16.9M/41.5M [02:09<02:04, 207kB/s]
     41%|####      | 17.0M/41.5M [02:10<02:08, 199kB/s]
     41%|####      | 17.0M/41.5M [02:10<02:02, 210kB/s]
     41%|####1     | 1
 7.0M/41.5M [02:10<01:58, 216kB/s]
     41%|####1     | 17.1M/41.5M [02:10<01:57, 217kB/s]
     41%|####1     | 17.1M/41.5M [02:10<01:55, 221kB/s]
     41%|####1     | 17.2M/41.5M [02:10<01:46, 240kB/s]
     41%|####1     | 17.2M/41.5M [02:11<01:47, 237kB/s]
     42%|####1     | 17.2M/41.5M [02:11<01:48, 235kB/s]
     42%|####1     | 17.3M/41.5M [02:11<01:42, 247kB/s]
     42%|####1     | 17.3M/41.5M [02:11<01:38, 258kB/s]
     42%|####1     | 17.4M/41.5M [02:11<01:36, 261kB/s]
     42%|####1     | 17.4M/41.5M [02:11<01:39, 255kB/s]
     42%|####1     | 17.4M/41.5M [02:11<01:49, 231kB/s]
     42%|####2     | 17.5M/41.5M [02:12<01:42, 245kB/s]
     42%|####2     | 17.5M/41.5M [02:12<01:38, 255kB/s]
     42%|####2     | 17.6M/41.5M [02:12<01:36, 261kB/s]
     42%|####2     | 17.6M/41.5M [02:12<01:34, 266kB/s]
     43%|####2     | 17.7M/41.5M [02:12<01:33, 269kB/s]
     43%|####2     | 17.7M/41.5M [02:13<01:27, 285kB/s]
     43%|####2     | 17.8M/41.5M [02:13<01:24, 296kB/s]
     43%|##
 ##2     | 17.8M/41.5M [02:13<01:21, 303kB/s]
     43%|####3     | 17.9M/41.5M [02:13<01:16, 323kB/s]
     43%|####3     | 17.9M/41.5M [02:13<01:08, 362kB/s]
     43%|####3     | 18.0M/41.5M [02:13<01:26, 285kB/s]
     44%|####3     | 18.1M/41.5M [02:14<01:00, 406kB/s]
     44%|####3     | 18.1M/41.5M [02:14<01:06, 367kB/s]
     44%|####3     | 18.2M/41.5M [02:14<01:04, 380kB/s]
     44%|####3     | 18.2M/41.5M [02:14<01:03, 387kB/s]
     44%|####4     | 18.3M/41.5M [02:14<01:03, 383kB/s]
     44%|####4     | 18.3M/41.5M [02:14<01:11, 338kB/s]
     44%|####4     | 18.4M/41.5M [02:15<01:07, 360kB/s]
     44%|####4     | 18.5M/41.5M [02:15<01:01, 395kB/s]
     45%|####4     | 18.5M/41.5M [02:15<01:00, 400kB/s]
     45%|####4     | 18.5M/41.5M [02:15<01:03, 381kB/s]
     45%|####4     | 18.6M/41.5M [02:15<01:01, 392kB/s]
     45%|####4     | 18.7M/41.5M [02:15<00:57, 419kB/s]
     45%|####5     | 18.7M/41.5M [02:15<00:57, 417kB/s]
     45%|####5     | 18.8M/41.5M [02:15<00:57, 411kB/s]
      45%|####5     | 18.8M/41.5M [02:16<01:00, 396kB/s]
     46%|####5     | 18.9M/41.5M [02:16<00:53, 440kB/s]
     46%|####5     | 18.9M/41.5M [02:16<00:54, 432kB/s]
     46%|####5     | 19.0M/41.5M [02:16<00:56, 421kB/s]
     46%|####5     | 19.0M/41.5M [02:16<00:55, 421kB/s]
     46%|####6     | 19.1M/41.5M [02:16<00:53, 440kB/s]
     46%|####6     | 19.2M/41.5M [02:16<00:54, 431kB/s]
     46%|####6     | 19.2M/41.5M [02:17<00:55, 421kB/s]
     46%|####6     | 19.3M/41.5M [02:17<00:55, 421kB/s]
     47%|####6     | 19.3M/41.5M [02:17<01:17, 301kB/s]
     47%|####6     | 19.4M/41.5M [02:17<01:05, 354kB/s]
     47%|####6     | 19.5M/41.5M [02:17<00:54, 427kB/s]
     47%|####7     | 19.5M/41.5M [02:17<00:56, 409kB/s]
     47%|####7     | 19.6M/41.5M [02:17<00:57, 397kB/s]
     47%|####7     | 19.6M/41.5M [02:18<01:00, 382kB/s]
     47%|####7     | 19.6M/41.5M [02:18<01:02, 369kB/s]
     47%|####7     | 19.7M/41.5M [02:18<01:05, 349kB/s]
     48%|####7     | 19.7M/41.5M [02:18<01:01
 , 371kB/s]
     48%|####7     | 19.8M/41.5M [02:18<01:02, 365kB/s]
     48%|####7     | 19.8M/41.5M [02:18<01:00, 374kB/s]
     48%|####7     | 19.9M/41.5M [02:18<00:58, 388kB/s]
     48%|####8     | 19.9M/41.5M [02:19<00:56, 399kB/s]
     48%|####8     | 20.0M/41.5M [02:19<00:56, 401kB/s]
     48%|####8     | 20.0M/41.5M [02:19<00:56, 400kB/s]
     48%|####8     | 20.1M/41.5M [02:19<00:52, 425kB/s]
     49%|####8     | 20.2M/41.5M [02:19<00:52, 425kB/s]
     49%|####8     | 20.2M/41.5M [02:19<00:53, 420kB/s]
     49%|####8     | 20.3M/41.5M [02:19<00:53, 414kB/s]
     49%|####8     | 20.3M/41.5M [02:20<01:13, 304kB/s]
     49%|####9     | 20.4M/41.5M [02:20<00:52, 422kB/s]
     49%|####9     | 20.5M/41.5M [02:20<00:54, 406kB/s]
     49%|####9     | 20.5M/41.5M [02:20<00:59, 371kB/s]
     50%|####9     | 20.5M/41.5M [02:20<01:21, 271kB/s]
     50%|####9     | 20.6M/41.5M [02:21<00:56, 384kB/s]
     50%|####9     | 20.7M/41.5M [02:21<01:01, 352kB/s]
     50%|####9     | 20.7M/41.5M [
 02:21<01:29, 244kB/s]
     50%|#####     | 20.8M/41.5M [02:21<01:11, 301kB/s]
     50%|#####     | 20.8M/41.5M [02:21<01:16, 281kB/s]
     50%|#####     | 20.9M/41.5M [02:22<01:21, 267kB/s]
     50%|#####     | 20.9M/41.5M [02:22<01:28, 243kB/s]
     50%|#####     | 20.9M/41.5M [02:22<01:34, 227kB/s]
     51%|#####     | 21.0M/41.5M [02:22<01:34, 228kB/s]
     51%|#####     | 21.0M/41.5M [02:22<01:25, 252kB/s]
     51%|#####     | 21.1M/41.5M [02:23<01:56, 184kB/s]
     51%|#####     | 21.1M/41.5M [02:23<02:02, 174kB/s]
     51%|#####1    | 21.2M/41.5M [02:23<01:36, 220kB/s]
     51%|#####1    | 21.2M/41.5M [02:23<01:47, 199kB/s]
     51%|#####1    | 21.2M/41.5M [02:23<01:56, 183kB/s]
     51%|#####1    | 21.2M/41.5M [02:24<02:04, 171kB/s]
     51%|#####1    | 21.3M/41.5M [02:24<02:11, 161kB/s]
     51%|#####1    | 21.3M/41.5M [02:24<02:16, 155kB/s]
     51%|#####1    | 21.3M/41.5M [02:24<02:21, 150kB/s]
     51%|#####1    | 21.3M/41.5M [02:24<02:14, 157kB/s]
     51%|#####1    | 21
 .4M/41.5M [02:24<02:19, 151kB/s]
     52%|#####1    | 21.4M/41.5M [02:25<02:13, 158kB/s]
     52%|#####1    | 21.4M/41.5M [02:25<02:05, 168kB/s]
     52%|#####1    | 21.4M/41.5M [02:25<02:02, 171kB/s]
     52%|#####1    | 21.5M/41.5M [02:25<02:11, 160kB/s]
     52%|#####1    | 21.5M/41.5M [02:25<02:17, 152kB/s]
     52%|#####1    | 21.5M/41.5M [02:25<02:09, 162kB/s]
     52%|#####1    | 21.5M/41.5M [02:26<02:03, 169kB/s]
     52%|#####1    | 21.6M/41.5M [02:26<02:00, 174kB/s]
     52%|#####2    | 21.6M/41.5M [02:26<01:58, 177kB/s]
     52%|#####2    | 21.6M/41.5M [02:26<01:48, 193kB/s]
     52%|#####2    | 21.7M/41.5M [02:26<01:49, 190kB/s]
     52%|#####2    | 21.7M/41.5M [02:26<01:42, 202kB/s]
     52%|#####2    | 21.7M/41.5M [02:27<01:43, 201kB/s]
     52%|#####2    | 21.7M/41.5M [02:27<01:46, 195kB/s]
     52%|#####2    | 21.8M/41.5M [02:27<01:48, 191kB/s]
     53%|#####2    | 21.8M/41.5M [02:27<01:41, 204kB/s]
     53%|#####2    | 21.9M/41.5M [02:27<01:37, 212kB/s]
     53%|###
 ##2    | 21.9M/41.5M [02:27<01:33, 219kB/s]
     53%|#####2    | 21.9M/41.5M [02:28<01:55, 178kB/s]
     53%|#####2    | 22.0M/41.5M [02:28<01:38, 208kB/s]
     53%|#####2    | 22.0M/41.5M [02:28<01:41, 201kB/s]
     53%|#####3    | 22.0M/41.5M [02:28<01:44, 195kB/s]
     53%|#####3    | 22.0M/41.5M [02:28<01:44, 196kB/s]
     53%|#####3    | 22.1M/41.5M [02:28<01:46, 192kB/s]
     53%|#####3    | 22.1M/41.5M [02:28<01:39, 204kB/s]
     53%|#####3    | 22.1M/41.5M [02:29<02:36, 130kB/s]
     53%|#####3    | 22.2M/41.5M [02:29<01:37, 208kB/s]
     54%|#####3    | 22.2M/41.5M [02:29<01:38, 206kB/s]
     54%|#####3    | 22.2M/41.5M [02:29<01:41, 200kB/s]
     54%|#####3    | 22.3M/41.5M [02:30<01:51, 181kB/s]
     54%|#####3    | 22.3M/41.5M [02:30<01:59, 168kB/s]
     54%|#####3    | 22.3M/41.5M [02:30<01:56, 173kB/s]
     54%|#####3    | 22.4M/41.5M [02:30<01:54, 176kB/s]
     54%|#####3    | 22.4M/41.5M [02:30<01:52, 178kB/s]
     54%|#####4    | 22.4M/41.5M [02:30<01:51, 180kB/s]
 
     54%|#####4    | 22.4M/41.5M [02:31<01:50, 181kB/s]
     54%|#####4    | 22.5M/41.5M [02:31<01:49, 182kB/s]
     54%|#####4    | 22.5M/41.5M [02:31<01:49, 182kB/s]
     54%|#####4    | 22.5M/41.5M [02:31<01:41, 196kB/s]
     54%|#####4    | 22.6M/41.5M [02:31<01:43, 192kB/s]
     54%|#####4    | 22.6M/41.5M [02:31<01:37, 204kB/s]
     55%|#####4    | 22.6M/41.5M [02:32<01:30, 218kB/s]
     55%|#####4    | 22.7M/41.5M [02:32<01:34, 208kB/s]
     55%|#####4    | 22.7M/41.5M [02:32<01:38, 200kB/s]
     55%|#####4    | 22.7M/41.5M [02:32<01:41, 194kB/s]
     55%|#####4    | 22.8M/41.5M [02:32<01:35, 206kB/s]
     55%|#####4    | 22.8M/41.5M [02:33<02:19, 141kB/s]
     55%|#####5    | 22.9M/41.5M [02:33<01:28, 220kB/s]
     55%|#####5    | 22.9M/41.5M [02:33<01:32, 211kB/s]
     55%|#####5    | 22.9M/41.5M [02:33<01:35, 203kB/s]
     55%|#####5    | 23.0M/41.5M [02:33<01:31, 212kB/s]
     55%|#####5    | 23.0M/41.5M [02:33<01:35, 203kB/s]
     55%|#####5    | 23.0M/41.5M [02:34<01:29,
  216kB/s]
     56%|#####5    | 23.0M/41.5M [02:34<02:06, 153kB/s]
     56%|#####5    | 23.1M/41.5M [02:34<01:37, 199kB/s]
     56%|#####5    | 23.1M/41.5M [02:34<01:39, 194kB/s]
     56%|#####5    | 23.1M/41.5M [02:34<01:39, 194kB/s]
     56%|#####5    | 23.2M/41.5M [02:34<01:41, 190kB/s]
     56%|#####5    | 23.2M/41.5M [02:35<02:28, 129kB/s]
     56%|#####5    | 23.2M/41.5M [02:35<01:47, 179kB/s]
     56%|#####6    | 23.2M/41.5M [02:35<01:54, 167kB/s]
     56%|#####6    | 23.3M/41.5M [02:35<02:00, 158kB/s]
     56%|#####6    | 23.3M/41.5M [02:36<02:59, 106kB/s]
     56%|#####6    | 23.4M/41.5M [02:36<01:56, 163kB/s]
     56%|#####6    | 23.4M/41.5M [02:36<02:08, 148kB/s]
     56%|#####6    | 23.4M/41.5M [02:36<02:45, 114kB/s]
     56%|#####6    | 23.4M/41.5M [02:37<02:13, 142kB/s]
     57%|#####6    | 23.5M/41.5M [02:37<02:31, 125kB/s]
     57%|#####6    | 23.5M/41.5M [02:37<02:33, 123kB/s]
     57%|#####6    | 23.5M/41.5M [02:37<02:30, 126kB/s]
     57%|#####6    | 23.5M/41.5M [0
 2:37<02:42, 116kB/s]
     57%|#####6    | 23.5M/41.5M [02:37<02:41, 117kB/s]
     57%|#####6    | 23.5M/41.5M [02:38<02:29, 126kB/s]
     57%|#####6    | 23.6M/41.5M [02:38<02:25, 129kB/s]
     57%|#####6    | 23.6M/41.5M [02:38<02:29, 126kB/s]
     57%|#####6    | 23.6M/41.5M [02:38<02:30, 124kB/s]
     57%|#####6    | 23.6M/41.5M [02:38<02:37, 119kB/s]
     57%|#####6    | 23.6M/41.5M [02:38<02:29, 125kB/s]
     57%|#####7    | 23.7M/41.5M [02:38<02:25, 129kB/s]
     57%|#####7    | 23.7M/41.5M [02:39<02:21, 132kB/s]
     57%|#####7    | 23.7M/41.5M [02:39<02:19, 133kB/s]
     57%|#####7    | 23.7M/41.5M [02:39<02:18, 135kB/s]
     57%|#####7    | 23.8M/41.5M [02:39<02:17, 136kB/s]
     57%|#####7    | 23.8M/41.5M [02:39<02:09, 143kB/s]
     57%|#####7    | 23.8M/41.5M [02:39<01:57, 159kB/s]
     57%|#####7    | 23.8M/41.5M [02:40<01:51, 166kB/s]
     57%|#####7    | 23.8M/41.5M [02:40<01:58, 157kB/s]
     58%|#####7    | 23.9M/41.5M [02:40<02:06, 146kB/s]
     58%|#####7    | 23.
 9M/41.5M [02:40<02:02, 151kB/s]
     58%|#####7    | 23.9M/41.5M [02:40<01:50, 166kB/s]
     58%|#####7    | 23.9M/41.5M [02:40<01:46, 172kB/s]
     58%|#####7    | 24.0M/41.5M [02:40<01:54, 160kB/s]
     58%|#####7    | 24.0M/41.5M [02:41<01:51, 165kB/s]
     58%|#####7    | 24.0M/41.5M [02:41<01:51, 165kB/s]
     58%|#####7    | 24.0M/41.5M [02:41<01:47, 171kB/s]
     58%|#####7    | 24.1M/41.5M [02:41<01:39, 183kB/s]
     58%|#####8    | 24.1M/41.5M [02:41<01:40, 182kB/s]
     58%|#####8    | 24.1M/41.5M [02:41<01:41, 180kB/s]
     58%|#####8    | 24.1M/41.5M [02:41<01:43, 175kB/s]
     58%|#####8    | 24.2M/41.5M [02:42<01:28, 206kB/s]
     58%|#####8    | 24.2M/41.5M [02:42<01:31, 198kB/s]
     58%|#####8    | 24.2M/41.5M [02:42<01:34, 191kB/s]
     58%|#####8    | 24.2M/41.5M [02:42<01:30, 200kB/s]
     58%|#####8    | 24.3M/41.5M [02:42<01:20, 225kB/s]
     59%|#####8    | 24.3M/41.5M [02:42<01:18, 229kB/s]
     59%|#####8    | 24.3M/41.5M [02:42<01:19, 227kB/s]
     59%|####
 #8    | 24.4M/41.5M [02:43<01:07, 266kB/s]
     59%|#####8    | 24.4M/41.5M [02:43<01:09, 259kB/s]
     59%|#####8    | 24.4M/41.5M [02:43<01:06, 269kB/s]
     59%|#####8    | 24.5M/41.5M [02:43<00:59, 298kB/s]
     59%|#####9    | 24.5M/41.5M [02:43<00:59, 299kB/s]
     59%|#####9    | 24.5M/41.5M [02:43<00:59, 297kB/s]
     59%|#####9    | 24.6M/41.5M [02:43<00:51, 344kB/s]
     59%|#####9    | 24.6M/41.5M [02:43<00:47, 371kB/s]
     60%|#####9    | 24.7M/41.5M [02:44<00:47, 367kB/s]
     60%|#####9    | 24.8M/41.5M [02:44<00:43, 407kB/s]
     60%|#####9    | 24.8M/41.5M [02:44<00:38, 459kB/s]
     60%|#####9    | 24.9M/41.5M [02:44<00:39, 447kB/s]
     60%|######    | 24.9M/41.5M [02:44<00:37, 466kB/s]
     60%|######    | 25.0M/41.5M [02:44<00:31, 544kB/s]
     60%|######    | 25.1M/41.5M [02:44<00:32, 523kB/s]
     61%|######    | 25.1M/41.5M [02:44<00:32, 525kB/s]
     61%|######    | 25.2M/41.5M [02:45<00:28, 605kB/s]
     61%|######1   | 25.3M/41.5M [02:45<00:24, 680kB/s]
  
    61%|######1   | 25.4M/41.5M [02:45<00:37, 451kB/s]
     62%|######1   | 25.6M/41.5M [02:45<00:23, 716kB/s]
     62%|######1   | 25.7M/41.5M [02:45<00:23, 697kB/s]
     62%|######2   | 25.8M/41.5M [02:46<00:31, 518kB/s]
     63%|######2   | 25.9M/41.5M [02:46<00:24, 674kB/s]
     63%|######2   | 26.0M/41.5M [02:46<00:26, 611kB/s]
     63%|######2   | 26.1M/41.5M [02:46<00:27, 588kB/s]
     63%|######3   | 26.1M/41.5M [02:46<00:40, 397kB/s]
     63%|######3   | 26.3M/41.5M [02:46<00:30, 526kB/s]
     64%|######3   | 26.4M/41.5M [02:47<00:32, 482kB/s]
     64%|######3   | 26.4M/41.5M [02:47<00:34, 455kB/s]
     64%|######3   | 26.5M/41.5M [02:47<00:35, 448kB/s]
     64%|######3   | 26.5M/41.5M [02:47<00:36, 426kB/s]
     64%|######4   | 26.6M/41.5M [02:47<00:38, 406kB/s]
     64%|######4   | 26.6M/41.5M [02:47<00:39, 398kB/s]
     64%|######4   | 26.6M/41.5M [02:48<00:39, 393kB/s]
     64%|######4   | 26.7M/41.5M [02:48<00:38, 402kB/s]
     64%|######4   | 26.8M/41.5M [02:48<00:37, 
 411kB/s]
     65%|######4   | 26.8M/41.5M [02:48<00:36, 421kB/s]
     65%|######4   | 26.8M/41.5M [02:48<00:38, 403kB/s]
     65%|######4   | 26.9M/41.5M [02:48<00:37, 412kB/s]
     65%|######4   | 26.9M/41.5M [02:48<00:36, 423kB/s]
     65%|######5   | 27.0M/41.5M [02:48<00:37, 403kB/s]
     65%|######5   | 27.0M/41.5M [02:48<00:39, 386kB/s]
     65%|######5   | 27.1M/41.5M [02:49<00:35, 426kB/s]
     65%|######5   | 27.1M/41.5M [02:49<00:36, 407kB/s]
     66%|######5   | 27.2M/41.5M [02:49<00:34, 431kB/s]
     66%|######5   | 27.2M/41.5M [02:49<00:36, 405kB/s]
     66%|######5   | 27.3M/41.5M [02:49<00:35, 415kB/s]
     66%|######5   | 27.4M/41.5M [02:49<00:34, 423kB/s]
     66%|######6   | 27.4M/41.5M [02:49<00:34, 424kB/s]
     66%|######6   | 27.5M/41.5M [02:50<00:36, 401kB/s]
     66%|######6   | 27.5M/41.5M [02:50<00:35, 412kB/s]
     66%|######6   | 27.6M/41.5M [02:50<00:34, 421kB/s]
     67%|######6   | 27.6M/41.5M [02:50<00:34, 422kB/s]
     67%|######6   | 27.7M/41.5M [02
 :50<00:36, 400kB/s]
     67%|######6   | 27.7M/41.5M [02:50<00:33, 429kB/s]
     67%|######6   | 27.8M/41.5M [02:50<00:33, 434kB/s]
     67%|######7   | 27.8M/41.5M [02:50<00:33, 431kB/s]
     67%|######7   | 27.9M/41.5M [02:51<00:32, 433kB/s]
     67%|######7   | 27.9M/41.5M [02:51<00:32, 437kB/s]
     67%|######7   | 28.0M/41.5M [02:51<00:32, 433kB/s]
     68%|######7   | 28.0M/41.5M [02:51<00:32, 434kB/s]
     68%|######7   | 28.1M/41.5M [02:51<00:32, 438kB/s]
     68%|######7   | 28.1M/41.5M [02:51<00:30, 454kB/s]
     68%|######7   | 28.2M/41.5M [02:51<00:33, 420kB/s]
     68%|######8   | 28.3M/41.5M [02:51<00:30, 461kB/s]
     68%|######8   | 28.3M/41.5M [02:52<00:30, 458kB/s]
     68%|######8   | 28.4M/41.5M [02:52<00:43, 316kB/s]
     69%|######8   | 28.5M/41.5M [02:52<00:29, 469kB/s]
     69%|######8   | 28.6M/41.5M [02:52<00:29, 466kB/s]
     69%|######8   | 28.6M/41.5M [02:52<00:29, 453kB/s]
     69%|######9   | 28.7M/41.5M [02:53<00:34, 395kB/s]
     69%|######9   | 28.7
 M/41.5M [02:53<00:33, 403kB/s]
     69%|######9   | 28.8M/41.5M [02:53<00:32, 411kB/s]
     69%|######9   | 28.8M/41.5M [02:53<00:31, 421kB/s]
     70%|######9   | 28.9M/41.5M [02:53<00:32, 403kB/s]
     70%|######9   | 28.9M/41.5M [02:53<00:32, 404kB/s]
     70%|######9   | 29.0M/41.5M [02:53<00:29, 439kB/s]
     70%|######9   | 29.0M/41.5M [02:53<00:31, 417kB/s]
     70%|#######   | 29.1M/41.5M [02:54<00:29, 436kB/s]
     70%|#######   | 29.1M/41.5M [02:54<00:40, 320kB/s]
     70%|#######   | 29.2M/41.5M [02:54<00:30, 423kB/s]
     71%|#######   | 29.3M/41.5M [02:54<00:31, 407kB/s]
     71%|#######   | 29.3M/41.5M [02:54<00:33, 378kB/s]
     71%|#######   | 29.4M/41.5M [02:54<00:33, 375kB/s]
     71%|#######   | 29.4M/41.5M [02:55<00:33, 372kB/s]
     71%|#######1  | 29.5M/41.5M [02:55<00:33, 371kB/s]
     71%|#######1  | 29.6M/41.5M [02:55<00:29, 417kB/s]
     71%|#######1  | 29.6M/41.5M [02:55<00:29, 421kB/s]
     71%|#######1  | 29.7M/41.5M [02:55<00:33, 373kB/s]
     72%|#####
 ##1  | 29.7M/41.5M [02:55<00:34, 353kB/s]
     72%|#######1  | 29.8M/41.5M [02:55<00:33, 371kB/s]
     72%|#######1  | 29.8M/41.5M [02:56<00:29, 411kB/s]
     72%|#######1  | 29.9M/41.5M [02:56<00:30, 398kB/s]
     72%|#######2  | 29.9M/41.5M [02:56<00:32, 369kB/s]
     72%|#######2  | 30.0M/41.5M [02:56<00:32, 370kB/s]
     72%|#######2  | 30.0M/41.5M [02:56<00:29, 407kB/s]
     72%|#######2  | 30.1M/41.5M [02:56<00:30, 394kB/s]
     73%|#######2  | 30.1M/41.5M [02:56<00:32, 366kB/s]
     73%|#######2  | 30.1M/41.5M [02:57<00:40, 290kB/s]
     73%|#######2  | 30.2M/41.5M [02:57<00:32, 359kB/s]
     73%|#######2  | 30.2M/41.5M [02:57<00:32, 361kB/s]
     73%|#######2  | 30.3M/41.5M [02:57<00:34, 342kB/s]
     73%|#######3  | 30.3M/41.5M [02:57<00:38, 303kB/s]
     73%|#######3  | 30.4M/41.5M [02:57<00:36, 319kB/s]
     73%|#######3  | 30.4M/41.5M [02:57<00:35, 332kB/s]
     73%|#######3  | 30.4M/41.5M [02:58<00:35, 323kB/s]
     73%|#######3  | 30.5M/41.5M [02:58<00:34, 335kB/s]
   
   74%|#######3  | 30.5M/41.5M [02:58<00:31, 365kB/s]
     74%|#######3  | 30.6M/41.5M [02:58<00:33, 343kB/s]
     74%|#######3  | 30.6M/41.5M [02:58<00:32, 347kB/s]
     74%|#######3  | 30.6M/41.5M [02:58<00:31, 359kB/s]
     74%|#######3  | 30.7M/41.5M [02:58<00:33, 341kB/s]
     74%|#######4  | 30.7M/41.5M [02:58<00:32, 350kB/s]
     74%|#######4  | 30.8M/41.5M [02:58<00:28, 395kB/s]
     74%|#######4  | 30.8M/41.5M [02:59<00:30, 366kB/s]
     74%|#######4  | 30.9M/41.5M [02:59<00:30, 368kB/s]
     74%|#######4  | 30.9M/41.5M [02:59<00:28, 387kB/s]
     75%|#######4  | 30.9M/41.5M [02:59<00:30, 361kB/s]
     75%|#######4  | 31.0M/41.5M [02:59<00:30, 363kB/s]
     75%|#######4  | 31.0M/41.5M [02:59<00:27, 405kB/s]
     75%|#######4  | 31.1M/41.5M [02:59<00:29, 373kB/s]
     75%|#######4  | 31.1M/41.5M [02:59<00:27, 392kB/s]
     75%|#######5  | 31.2M/41.5M [03:00<00:26, 406kB/s]
     75%|#######5  | 31.2M/41.5M [03:00<00:27, 393kB/s]
     75%|#######5  | 31.2M/41.5M [03:00<00:27, 3
 86kB/s]
     75%|#######5  | 31.3M/41.5M [03:00<00:26, 401kB/s]
     76%|#######5  | 31.3M/41.5M [03:00<00:28, 370kB/s]
     76%|#######5  | 31.4M/41.5M [03:00<00:43, 243kB/s]
     76%|#######5  | 31.5M/41.5M [03:01<00:36, 287kB/s]
     76%|#######5  | 31.5M/41.5M [03:01<00:27, 376kB/s]
     76%|#######6  | 31.6M/41.5M [03:01<00:30, 345kB/s]
     76%|#######6  | 31.6M/41.5M [03:01<00:29, 349kB/s]
     76%|#######6  | 31.7M/41.5M [03:01<00:30, 338kB/s]
     76%|#######6  | 31.7M/41.5M [03:01<00:30, 339kB/s]
     76%|#######6  | 31.7M/41.5M [03:01<00:30, 332kB/s]
     77%|#######6  | 31.8M/41.5M [03:01<00:29, 344kB/s]
     77%|#######6  | 31.8M/41.5M [03:02<00:30, 330kB/s]
     77%|#######6  | 31.9M/41.5M [03:02<00:29, 340kB/s]
     77%|#######6  | 31.9M/41.5M [03:02<00:28, 351kB/s]
     77%|#######6  | 31.9M/41.5M [03:02<00:28, 355kB/s]
     77%|#######7  | 32.0M/41.5M [03:02<00:27, 358kB/s]
     77%|#######7  | 32.0M/41.5M [03:02<00:29, 342kB/s]
     77%|#######7  | 32.0M/41.5M [03:
 02<00:28, 348kB/s]
     77%|#######7  | 32.1M/41.5M [03:02<00:26, 376kB/s]
     77%|#######7  | 32.1M/41.5M [03:03<00:26, 372kB/s]
     78%|#######7  | 32.2M/41.5M [03:03<00:26, 370kB/s]
     78%|#######7  | 32.2M/41.5M [03:03<00:24, 392kB/s]
     78%|#######7  | 32.3M/41.5M [03:03<00:25, 383kB/s]
     78%|#######7  | 32.3M/41.5M [03:03<00:25, 378kB/s]
     78%|#######7  | 32.4M/41.5M [03:03<00:24, 396kB/s]
     78%|#######8  | 32.4M/41.5M [03:03<00:25, 367kB/s]
     78%|#######8  | 32.4M/41.5M [03:03<00:25, 366kB/s]
     78%|#######8  | 32.5M/41.5M [03:03<00:24, 383kB/s]
     78%|#######8  | 32.5M/41.5M [03:04<00:24, 383kB/s]
     79%|#######8  | 32.6M/41.5M [03:04<00:24, 378kB/s]
     79%|#######8  | 32.6M/41.5M [03:04<00:22, 417kB/s]
     79%|#######8  | 32.7M/41.5M [03:04<00:23, 401kB/s]
     79%|#######8  | 32.7M/41.5M [03:04<00:23, 391kB/s]
     79%|#######8  | 32.8M/41.5M [03:04<00:26, 346kB/s]
     79%|#######9  | 32.8M/41.5M [03:04<00:22, 408kB/s]
     79%|#######9  | 32.9M
 /41.5M [03:04<00:22, 396kB/s]
     79%|#######9  | 32.9M/41.5M [03:05<00:23, 388kB/s]
     79%|#######9  | 33.0M/41.5M [03:05<00:22, 403kB/s]
     80%|#######9  | 33.0M/41.5M [03:05<00:23, 372kB/s]
     80%|#######9  | 33.0M/41.5M [03:05<00:23, 370kB/s]
     80%|#######9  | 33.1M/41.5M [03:05<00:25, 351kB/s]
     80%|#######9  | 33.2M/41.5M [03:05<00:23, 373kB/s]
     80%|########  | 33.2M/41.5M [03:05<00:23, 371kB/s]
     80%|########  | 33.3M/41.5M [03:06<00:22, 385kB/s]
     80%|########  | 33.3M/41.5M [03:06<00:28, 300kB/s]
     81%|########  | 33.4M/41.5M [03:06<00:21, 402kB/s]
     81%|########  | 33.5M/41.5M [03:06<00:22, 376kB/s]
     81%|########  | 33.5M/41.5M [03:06<00:23, 359kB/s]
     81%|########  | 33.6M/41.5M [03:07<00:23, 348kB/s]
     81%|########1 | 33.6M/41.5M [03:07<00:23, 353kB/s]
     81%|########1 | 33.7M/41.5M [03:07<00:22, 358kB/s]
     81%|########1 | 33.8M/41.5M [03:07<00:22, 360kB/s]
     82%|########1 | 33.8M/41.5M [03:07<00:22, 362kB/s]
     82%|######
 ##1 | 33.9M/41.5M [03:07<00:19, 409kB/s]
     82%|########1 | 33.9M/41.5M [03:07<00:19, 400kB/s]
     82%|########1 | 34.0M/41.5M [03:08<00:19, 409kB/s]
     82%|########2 | 34.0M/41.5M [03:08<00:21, 361kB/s]
     82%|########2 | 34.1M/41.5M [03:08<00:18, 417kB/s]
     82%|########2 | 34.1M/41.5M [03:08<00:19, 402kB/s]
     82%|########2 | 34.2M/41.5M [03:08<00:18, 411kB/s]
     83%|########2 | 34.2M/41.5M [03:08<00:18, 420kB/s]
     83%|########2 | 34.3M/41.5M [03:08<00:18, 403kB/s]
     83%|########2 | 34.3M/41.5M [03:09<00:18, 412kB/s]
     83%|########2 | 34.4M/41.5M [03:09<00:17, 422kB/s]
     83%|########2 | 34.4M/41.5M [03:09<00:18, 404kB/s]
     83%|########3 | 34.5M/41.5M [03:09<00:18, 392kB/s]
     83%|########3 | 34.5M/41.5M [03:09<00:17, 428kB/s]
     83%|########3 | 34.6M/41.5M [03:09<00:17, 408kB/s]
     83%|########3 | 34.6M/41.5M [03:09<00:17, 416kB/s]
     84%|########3 | 34.7M/41.5M [03:09<00:16, 425kB/s]
     84%|########3 | 34.7M/41.5M [03:09<00:17, 405kB/s]
    
  84%|########3 | 34.7M/41.5M [03:10<00:17, 394kB/s]
     84%|########3 | 34.8M/41.5M [03:10<00:24, 287kB/s]
     84%|########4 | 34.9M/41.5M [03:10<00:18, 374kB/s]
     84%|########4 | 34.9M/41.5M [03:10<00:17, 389kB/s]
     84%|########4 | 34.9M/41.5M [03:10<00:19, 348kB/s]
     84%|########4 | 35.0M/41.5M [03:10<00:20, 338kB/s]
     84%|########4 | 35.0M/41.5M [03:11<00:27, 245kB/s]
     85%|########4 | 35.1M/41.5M [03:11<00:19, 344kB/s]
     85%|########4 | 35.1M/41.5M [03:11<00:20, 322kB/s]
     85%|########4 | 35.2M/41.5M [03:11<00:22, 294kB/s]
     85%|########4 | 35.2M/41.5M [03:11<00:22, 296kB/s]
     85%|########4 | 35.3M/41.5M [03:11<00:25, 261kB/s]
     85%|########5 | 35.3M/41.5M [03:12<00:24, 270kB/s]
     85%|########5 | 35.3M/41.5M [03:12<00:22, 282kB/s]
     85%|########5 | 35.4M/41.5M [03:12<00:22, 288kB/s]
     85%|########5 | 35.4M/41.5M [03:12<00:23, 277kB/s]
     85%|########5 | 35.4M/41.5M [03:12<00:22, 282kB/s]
     86%|########5 | 35.5M/41.5M [03:12<00:21, 29
 2kB/s]
     86%|########5 | 35.5M/41.5M [03:12<00:21, 295kB/s]
     86%|########5 | 35.6M/41.5M [03:13<00:22, 281kB/s]
     86%|########5 | 35.6M/41.5M [03:13<00:21, 285kB/s]
     86%|########5 | 35.6M/41.5M [03:13<00:20, 295kB/s]
     86%|########5 | 35.7M/41.5M [03:13<00:19, 314kB/s]
     86%|########6 | 35.7M/41.5M [03:13<00:20, 294kB/s]
     86%|########6 | 35.7M/41.5M [03:13<00:21, 277kB/s]
     86%|########6 | 35.8M/41.5M [03:13<00:20, 290kB/s]
     86%|########6 | 35.8M/41.5M [03:13<00:20, 293kB/s]
     86%|########6 | 35.9M/41.5M [03:14<00:19, 298kB/s]
     87%|########6 | 35.9M/41.5M [03:14<00:21, 279kB/s]
     87%|########6 | 35.9M/41.5M [03:14<00:25, 225kB/s]
     87%|########6 | 36.0M/41.5M [03:14<00:19, 293kB/s]
     87%|########6 | 36.0M/41.5M [03:14<00:22, 256kB/s]
     87%|########6 | 36.1M/41.5M [03:14<00:20, 273kB/s]
     87%|########6 | 36.1M/41.5M [03:15<00:21, 258kB/s]
     87%|########7 | 36.1M/41.5M [03:15<00:21, 264kB/s]
     87%|########7 | 36.2M/41.5M [03:1
 5<00:20, 267kB/s]
     87%|########7 | 36.2M/41.5M [03:15<00:19, 284kB/s]
     87%|########7 | 36.3M/41.5M [03:15<00:19, 282kB/s]
     88%|########7 | 36.3M/41.5M [03:15<00:19, 280kB/s]
     88%|########7 | 36.4M/41.5M [03:16<00:18, 292kB/s]
     88%|########7 | 36.4M/41.5M [03:16<00:17, 311kB/s]
     88%|########7 | 36.5M/41.5M [03:16<00:17, 293kB/s]
     88%|########7 | 36.5M/41.5M [03:16<00:18, 277kB/s]
     88%|########8 | 36.5M/41.5M [03:16<00:16, 305kB/s]
     88%|########8 | 36.6M/41.5M [03:16<00:15, 324kB/s]
     88%|########8 | 36.6M/41.5M [03:16<00:17, 300kB/s]
     88%|########8 | 36.7M/41.5M [03:17<00:18, 281kB/s]
     88%|########8 | 36.7M/41.5M [03:17<00:16, 309kB/s]
     89%|########8 | 36.8M/41.5M [03:17<00:24, 203kB/s]
     89%|########8 | 36.8M/41.5M [03:17<00:15, 316kB/s]
     89%|########8 | 36.9M/41.5M [03:17<00:16, 291kB/s]
     89%|########8 | 36.9M/41.5M [03:18<00:17, 274kB/s]
     89%|########9 | 37.0M/41.5M [03:18<00:18, 261kB/s]
     89%|########9 | 37.0M/
 41.5M [03:18<00:17, 265kB/s]
     89%|########9 | 37.1M/41.5M [03:18<00:17, 268kB/s]
     89%|########9 | 37.1M/41.5M [03:18<00:17, 270kB/s]
     90%|########9 | 37.2M/41.5M [03:18<00:15, 285kB/s]
     90%|########9 | 37.2M/41.5M [03:19<00:15, 282kB/s]
     90%|########9 | 37.3M/41.5M [03:19<00:15, 294kB/s]
     90%|########9 | 37.3M/41.5M [03:19<00:14, 311kB/s]
     90%|########9 | 37.3M/41.5M [03:19<00:14, 295kB/s]
     90%|######### | 37.4M/41.5M [03:19<00:14, 299kB/s]
     90%|######### | 37.4M/41.5M [03:19<00:14, 299kB/s]
     90%|######### | 37.5M/41.5M [03:20<00:13, 318kB/s]
     90%|######### | 37.5M/41.5M [03:20<00:14, 298kB/s]
     90%|######### | 37.5M/41.5M [03:20<00:13, 302kB/s]
     91%|######### | 37.6M/41.5M [03:20<00:13, 301kB/s]
     91%|######### | 37.6M/41.5M [03:20<00:12, 321kB/s]
     91%|######### | 37.6M/41.5M [03:20<00:13, 298kB/s]
     91%|######### | 37.7M/41.5M [03:20<00:13, 302kB/s]
     91%|######### | 37.7M/41.5M [03:20<00:13, 301kB/s]
     91%|#######
 ##1| 37.8M/41.5M [03:21<00:12, 321kB/s]
     91%|#########1| 37.8M/41.5M [03:21<00:12, 298kB/s]
     91%|#########1| 37.8M/41.5M [03:21<00:12, 302kB/s]
     91%|#########1| 37.9M/41.5M [03:21<00:12, 301kB/s]
     91%|#########1| 37.9M/41.5M [03:21<00:11, 322kB/s]
     91%|#########1| 38.0M/41.5M [03:21<00:12, 298kB/s]
     92%|#########1| 38.0M/41.5M [03:21<00:12, 303kB/s]
     92%|#########1| 38.0M/41.5M [03:22<00:11, 302kB/s]
     92%|#########1| 38.1M/41.5M [03:22<00:11, 322kB/s]
     92%|#########1| 38.1M/41.5M [03:22<00:11, 316kB/s]
     92%|#########1| 38.2M/41.5M [03:22<00:11, 315kB/s]
     92%|#########2| 38.2M/41.5M [03:22<00:11, 311kB/s]
     92%|#########2| 38.2M/41.5M [03:22<00:10, 328kB/s]
     92%|#########2| 38.3M/41.5M [03:22<00:10, 321kB/s]
     92%|#########2| 38.3M/41.5M [03:22<00:10, 319kB/s]
     93%|#########2| 38.4M/41.5M [03:23<00:09, 349kB/s]
     93%|#########2| 38.4M/41.5M [03:23<00:09, 355kB/s]
     93%|#########2| 38.5M/41.5M [03:23<00:09, 340kB/s]
     
 93%|#########2| 38.5M/41.5M [03:23<00:13, 232kB/s]
     93%|#########3| 38.6M/41.5M [03:23<00:08, 372kB/s]
     93%|#########3| 38.7M/41.5M [03:24<00:08, 343kB/s]
     93%|#########3| 38.7M/41.5M [03:24<00:08, 323kB/s]
     93%|#########3| 38.8M/41.5M [03:24<00:12, 235kB/s]
     94%|#########3| 38.9M/41.5M [03:24<00:08, 335kB/s]
     94%|#########3| 38.9M/41.5M [03:24<00:09, 296kB/s]
     94%|#########3| 38.9M/41.5M [03:25<00:09, 281kB/s]
     94%|#########3| 39.0M/41.5M [03:25<00:09, 285kB/s]
     94%|#########4| 39.0M/41.5M [03:25<00:09, 277kB/s]
     94%|#########4| 39.0M/41.5M [03:25<00:09, 268kB/s]
     94%|#########4| 39.1M/41.5M [03:25<00:09, 263kB/s]
     94%|#########4| 39.1M/41.5M [03:25<00:09, 273kB/s]
     94%|#########4| 39.2M/41.5M [03:25<00:08, 283kB/s]
     94%|#########4| 39.2M/41.5M [03:26<00:08, 271kB/s]
     95%|#########4| 39.2M/41.5M [03:26<00:08, 265kB/s]
     95%|#########4| 39.3M/41.5M [03:26<00:08, 276kB/s]
     95%|#########4| 39.3M/41.5M [03:26<00:08, 267
 kB/s]
     95%|#########4| 39.3M/41.5M [03:26<00:08, 260kB/s]
     95%|#########4| 39.4M/41.5M [03:26<00:08, 270kB/s]
     95%|#########4| 39.4M/41.5M [03:26<00:07, 283kB/s]
     95%|#########5| 39.4M/41.5M [03:26<00:07, 273kB/s]
     95%|#########5| 39.5M/41.5M [03:27<00:08, 265kB/s]
     95%|#########5| 39.5M/41.5M [03:27<00:07, 273kB/s]
     95%|#########5| 39.5M/41.5M [03:27<00:07, 286kB/s]
     95%|#########5| 39.6M/41.5M [03:27<00:07, 275kB/s]
     95%|#########5| 39.6M/41.5M [03:27<00:07, 266kB/s]
     96%|#########5| 39.6M/41.5M [03:27<00:06, 292kB/s]
     96%|#########5| 39.7M/41.5M [03:27<00:06, 302kB/s]
     96%|#########5| 39.7M/41.5M [03:28<00:06, 302kB/s]
     96%|#########5| 39.8M/41.5M [03:28<00:06, 285kB/s]
     96%|#########5| 39.8M/41.5M [03:28<00:05, 305kB/s]
     96%|#########6| 39.8M/41.5M [03:28<00:05, 311kB/s]
     96%|#########6| 39.9M/41.5M [03:28<00:05, 290kB/s]
     96%|#########6| 39.9M/41.5M [03:28<00:05, 295kB/s]
     96%|#########6| 40.0M/41.5M [03:28
 <00:05, 318kB/s]
     96%|#########6| 40.0M/41.5M [03:28<00:04, 333kB/s]
     97%|#########6| 40.0M/41.5M [03:29<00:04, 323kB/s]
     97%|#########6| 40.1M/41.5M [03:29<00:04, 300kB/s]
     97%|#########6| 40.1M/41.5M [03:29<00:04, 333kB/s]
     97%|#########6| 40.2M/41.5M [03:29<00:04, 332kB/s]
     97%|#########6| 40.2M/41.5M [03:29<00:04, 322kB/s]
     97%|#########7| 40.2M/41.5M [03:29<00:04, 318kB/s]
     97%|#########7| 40.3M/41.5M [03:29<00:03, 346kB/s]
     97%|#########7| 40.4M/41.5M [03:30<00:03, 360kB/s]
     97%|#########7| 40.4M/41.5M [03:30<00:03, 341kB/s]
     97%|#########7| 40.4M/41.5M [03:30<00:03, 349kB/s]
     98%|#########7| 40.5M/41.5M [03:30<00:02, 374kB/s]
     98%|#########7| 40.5M/41.5M [03:30<00:02, 392kB/s]
     98%|#########7| 40.6M/41.5M [03:30<00:02, 381kB/s]
     98%|#########7| 40.6M/41.5M [03:30<00:02, 396kB/s]
     98%|#########8| 40.7M/41.5M [03:30<00:01, 426kB/s]
     98%|#########8| 40.8M/41.5M [03:31<00:01, 465kB/s]
     98%|#########8| 40.8M/4
 1.5M [03:31<00:01, 450kB/s]
     99%|#########8| 40.9M/41.5M [03:31<00:01, 462kB/s]
     99%|#########8| 41.0M/41.5M [03:31<00:01, 509kB/s]
     99%|#########8| 41.1M/41.5M [03:31<00:00, 560kB/s]
     99%|#########9| 41.1M/41.5M [03:31<00:00, 520kB/s]
     99%|#########9| 41.2M/41.5M [03:32<00:00, 375kB/s]
    100%|#########9| 41.4M/41.5M [03:32<00:00, 618kB/s]
    100%|#########9| 41.4M/41.5M [03:32<00:00, 603kB/s]
    100%|##########| 41.5M/41.5M [03:32<00:00, 205kB/s]
+
      0%|          | 0.00/41.5M [00:00<?, ?B/s]
      0%|          | 16.0k/41.5M [00:00<07:38, 94.8kB/s]
      0%|          | 48.0k/41.5M [00:00<04:49, 150kB/s] 
      0%|          | 104k/41.5M [00:00<03:06, 232kB/s] 
      1%|          | 216k/41.5M [00:00<01:47, 401kB/s]
      1%|          | 328k/41.5M [00:00<01:27, 495kB/s]
      1%|1         | 456k/41.5M [00:01<01:13, 583kB/s]
      1%|1         | 584k/41.5M [00:01<01:07, 639kB/s]
      2%|1         | 720k/41.5M [00:01<01:01, 691kB/s]
      2%|2         | 864k/41.5M [00:01<00:57, 741kB/s]
      2%|2         | 0.98M/41.5M [00:01<00:54, 774kB/s]
      3%|2         | 1.14M/41.5M [00:01<00:51, 826kB/s]
      3%|3         | 1.30M/41.5M [00:02<00:48, 876kB/s]
      4%|3         | 1.47M/41.5M [00:02<00:46, 911kB/s]
      4%|3         | 1.65M/41.5M [00:02<00:43, 963kB/s]
      4%|4         | 1.83M/41.5M [00:02<00:41, 1.00MB/s]
      5%|4         | 1.96M/41.5M [00:02<00:44, 940kB/s] 
      5%|5         | 2.15M/41.5M [00:02<00:41, 998kB/s
 ]
      6%|5         | 2.33M/41.5M [00:03<00:40, 1.02MB/s]
      6%|6         | 2.52M/41.5M [00:03<00:38, 1.06MB/s]
      7%|6         | 2.70M/41.5M [00:03<00:37, 1.08MB/s]
      7%|6         | 2.89M/41.5M [00:03<00:36, 1.09MB/s]
      7%|7         | 3.08M/41.5M [00:03<00:36, 1.11MB/s]
      8%|7         | 3.26M/41.5M [00:03<00:36, 1.10MB/s]
      8%|8         | 3.45M/41.5M [00:04<00:35, 1.11MB/s]
      9%|8         | 3.63M/41.5M [00:04<00:35, 1.12MB/s]
      9%|9         | 3.82M/41.5M [00:04<00:35, 1.12MB/s]
     10%|9         | 4.00M/41.5M [00:04<00:35, 1.11MB/s]
     10%|#         | 4.19M/41.5M [00:04<00:35, 1.12MB/s]
     11%|#         | 4.38M/41.5M [00:05<00:34, 1.12MB/s]
     11%|#         | 4.56M/41.5M [00:05<00:34, 1.12MB/s]
     11%|#1        | 4.74M/41.5M [00:05<00:34, 1.11MB/s]
     12%|#1        | 4.93M/41.5M [00:05<00:34, 1.12MB/s]
     12%|#2        | 5.12M/41.5M [00:05<00:33, 1.12MB/s]
     13%|#2        | 5.30M/41.5M [00:05<00:33, 1.13MB/s]
     13%|#3        | 5.48M
 /41.5M [00:06<00:33, 1.11MB/s]
     14%|#3        | 5.67M/41.5M [00:06<00:33, 1.12MB/s]
     14%|#4        | 5.86M/41.5M [00:06<00:33, 1.12MB/s]
     15%|#4        | 6.05M/41.5M [00:06<00:33, 1.13MB/s]
     15%|#5        | 6.23M/41.5M [00:06<00:32, 1.13MB/s]
     15%|#5        | 6.41M/41.5M [00:06<00:32, 1.11MB/s]
     16%|#5        | 6.60M/41.5M [00:07<00:32, 1.12MB/s]
     16%|#6        | 6.79M/41.5M [00:07<00:32, 1.12MB/s]
     17%|#6        | 6.98M/41.5M [00:07<00:32, 1.13MB/s]
     17%|#7        | 7.16M/41.5M [00:07<00:31, 1.13MB/s]
     18%|#7        | 7.34M/41.5M [00:07<00:32, 1.12MB/s]
     18%|#8        | 7.53M/41.5M [00:07<00:31, 1.12MB/s]
     19%|#8        | 7.72M/41.5M [00:08<00:31, 1.12MB/s]
     19%|#9        | 7.91M/41.5M [00:08<00:31, 1.13MB/s]
     20%|#9        | 8.09M/41.5M [00:08<00:31, 1.13MB/s]
     20%|#9        | 8.28M/41.5M [00:08<00:30, 1.13MB/s]
     20%|##        | 8.47M/41.5M [00:08<00:30, 1.13MB/s]
     21%|##        | 8.61M/41.5M [00:09<00:32, 1.05MB/
 s]
     21%|##1       | 8.74M/41.5M [00:09<00:35, 972kB/s] 
     22%|##1       | 8.93M/41.5M [00:09<00:33, 1.02MB/s]
     22%|##1       | 9.12M/41.5M [00:09<00:32, 1.05MB/s]
     22%|##2       | 9.30M/41.5M [00:09<00:31, 1.08MB/s]
     23%|##2       | 9.50M/41.5M [00:09<00:30, 1.11MB/s]
     23%|##3       | 9.69M/41.5M [00:10<00:29, 1.12MB/s]
     24%|##3       | 9.88M/41.5M [00:10<00:29, 1.12MB/s]
     24%|##4       | 10.1M/41.5M [00:10<00:29, 1.12MB/s]
     25%|##4       | 10.2M/41.5M [00:10<00:31, 1.04MB/s]
     25%|##4       | 10.3M/41.5M [00:10<00:33, 970kB/s] 
     25%|##5       | 10.5M/41.5M [00:10<00:31, 1.02MB/s]
     26%|##5       | 10.7M/41.5M [00:11<00:30, 1.05MB/s]
     26%|##6       | 10.9M/41.5M [00:11<00:29, 1.08MB/s]
     27%|##6       | 11.1M/41.5M [00:11<00:28, 1.11MB/s]
     27%|##7       | 11.3M/41.5M [00:11<00:28, 1.11MB/s]
     28%|##7       | 11.5M/41.5M [00:11<00:28, 1.12MB/s]
     28%|##8       | 11.7M/41.5M [00:11<00:27, 1.12MB/s]
     29%|##8       | 11.8
 M/41.5M [00:12<00:27, 1.13MB/s]
     29%|##8       | 12.0M/41.5M [00:12<00:27, 1.13MB/s]
     29%|##9       | 12.2M/41.5M [00:12<00:27, 1.13MB/s]
     30%|##9       | 12.3M/41.5M [00:12<00:31, 981kB/s] 
     30%|###       | 12.5M/41.5M [00:12<00:28, 1.06MB/s]
     30%|###       | 12.6M/41.5M [00:13<00:31, 955kB/s] 
     31%|###       | 12.7M/41.5M [00:13<00:35, 838kB/s]
     31%|###1      | 12.9M/41.5M [00:13<00:36, 827kB/s]
     31%|###1      | 13.0M/41.5M [00:13<00:37, 805kB/s]
     32%|###1      | 13.1M/41.5M [00:13<00:36, 804kB/s]
     32%|###1      | 13.3M/41.5M [00:13<00:36, 804kB/s]
     32%|###2      | 13.4M/41.5M [00:14<00:36, 817kB/s]
     33%|###2      | 13.5M/41.5M [00:14<00:36, 813kB/s]
     33%|###2      | 13.7M/41.5M [00:14<00:36, 810kB/s]
     33%|###3      | 13.8M/41.5M [00:14<00:36, 806kB/s]
     34%|###3      | 13.9M/41.5M [00:14<00:35, 805kB/s]
     34%|###3      | 14.1M/41.5M [00:14<00:35, 804kB/s]
     34%|###4      | 14.2M/41.5M [00:15<00:35, 804kB/s]
     35%
 |###4      | 14.3M/41.5M [00:15<00:35, 803kB/s]
     35%|###4      | 14.5M/41.5M [00:15<00:35, 803kB/s]
     35%|###5      | 14.6M/41.5M [00:15<00:38, 732kB/s]
     35%|###5      | 14.7M/41.5M [00:15<00:41, 682kB/s]
     36%|###5      | 14.8M/41.5M [00:15<00:39, 718kB/s]
     36%|###5      | 14.9M/41.5M [00:16<00:40, 686kB/s]
     36%|###6      | 15.0M/41.5M [00:16<00:41, 664kB/s]
     36%|###6      | 15.1M/41.5M [00:16<00:39, 706kB/s]
     37%|###6      | 15.3M/41.5M [00:16<00:37, 735kB/s]
     37%|###7      | 15.4M/41.5M [00:16<00:36, 755kB/s]
     37%|###7      | 15.5M/41.5M [00:17<00:35, 769kB/s]
     38%|###7      | 15.7M/41.5M [00:17<00:34, 793kB/s]
     38%|###8      | 15.8M/41.5M [00:17<00:33, 796kB/s]
     38%|###8      | 15.9M/41.5M [00:17<00:33, 798kB/s]
     39%|###8      | 16.1M/41.5M [00:17<00:33, 799kB/s]
     39%|###9      | 16.2M/41.5M [00:17<00:33, 800kB/s]
     39%|###9      | 16.3M/41.5M [00:18<00:32, 815kB/s]
     40%|###9      | 16.5M/41.5M [00:18<00:30, 860kB/
 s]
     40%|###9      | 16.6M/41.5M [00:18<00:28, 915kB/s]
     40%|####      | 16.7M/41.5M [00:18<00:27, 937kB/s]
     41%|####      | 16.8M/41.5M [00:18<00:29, 887kB/s]
     41%|####      | 16.9M/41.5M [00:18<00:33, 761kB/s]
     41%|####      | 17.0M/41.5M [00:18<00:36, 713kB/s]
     41%|####1     | 17.1M/41.5M [00:19<00:34, 741kB/s]
     42%|####1     | 17.3M/41.5M [00:19<00:30, 824kB/s]
     42%|####1     | 17.4M/41.5M [00:19<00:28, 876kB/s]
     42%|####2     | 17.5M/41.5M [00:19<00:29, 851kB/s]
     43%|####2     | 17.7M/41.5M [00:19<00:29, 835kB/s]
     43%|####2     | 17.8M/41.5M [00:19<00:30, 825kB/s]
     43%|####3     | 17.9M/41.5M [00:20<00:29, 831kB/s]
     44%|####3     | 18.1M/41.5M [00:20<00:29, 823kB/s]
     44%|####3     | 18.2M/41.5M [00:20<00:29, 817kB/s]
     44%|####4     | 18.3M/41.5M [00:20<00:29, 812kB/s]
     45%|####4     | 18.5M/41.5M [00:20<00:31, 763kB/s]
     45%|####4     | 18.6M/41.5M [00:20<00:31, 774kB/s]
     45%|####5     | 18.7M/41.5M [00:21<00
 :28, 845kB/s]
     45%|####5     | 18.9M/41.5M [00:21<00:28, 832kB/s]
     46%|####5     | 19.0M/41.5M [00:21<00:28, 823kB/s]
     46%|####6     | 19.1M/41.5M [00:21<00:30, 771kB/s]
     46%|####6     | 19.3M/41.5M [00:21<00:27, 840kB/s]
     47%|####6     | 19.4M/41.5M [00:21<00:27, 828kB/s]
     47%|####7     | 19.5M/41.5M [00:22<00:29, 776kB/s]
     47%|####7     | 19.7M/41.5M [00:22<00:27, 844kB/s]
     48%|####7     | 19.8M/41.5M [00:22<00:26, 845kB/s]
     48%|####8     | 20.0M/41.5M [00:22<00:26, 861kB/s]
     48%|####8     | 20.1M/41.5M [00:22<00:26, 857kB/s]
     49%|####8     | 20.2M/41.5M [00:23<00:26, 855kB/s]
     49%|####9     | 20.4M/41.5M [00:23<00:25, 867kB/s]
     50%|####9     | 20.5M/41.5M [00:23<00:25, 876kB/s]
     50%|####9     | 20.7M/41.5M [00:23<00:24, 896kB/s]
     50%|#####     | 20.9M/41.5M [00:23<00:22, 962kB/s]
     50%|#####     | 20.9M/41.5M [00:23<00:23, 916kB/s]
     51%|#####     | 21.0M/41.5M [00:23<00:26, 802kB/s]
     51%|#####1    | 21.2M/41.5
 M [00:24<00:23, 904kB/s]
     51%|#####1    | 21.3M/41.5M [00:24<00:21, 996kB/s]
     52%|#####1    | 21.5M/41.5M [00:24<00:20, 1.01MB/s]
     52%|#####2    | 21.7M/41.5M [00:24<00:20, 1.02MB/s]
     53%|#####2    | 21.9M/41.5M [00:24<00:19, 1.04MB/s]
     53%|#####3    | 22.0M/41.5M [00:24<00:17, 1.13MB/s]
     53%|#####3    | 22.2M/41.5M [00:25<00:18, 1.09MB/s]
     54%|#####3    | 22.3M/41.5M [00:25<00:21, 950kB/s] 
     54%|#####4    | 22.5M/41.5M [00:25<00:18, 1.10MB/s]
     55%|#####4    | 22.6M/41.5M [00:25<00:16, 1.21MB/s]
     55%|#####5    | 22.9M/41.5M [00:25<00:15, 1.23MB/s]
     56%|#####5    | 23.1M/41.5M [00:25<00:15, 1.26MB/s]
     56%|#####6    | 23.3M/41.5M [00:25<00:13, 1.40MB/s]
     57%|#####6    | 23.4M/41.5M [00:26<00:14, 1.33MB/s]
     57%|#####6    | 23.6M/41.5M [00:26<00:14, 1.27MB/s]
     57%|#####7    | 23.8M/41.5M [00:26<00:13, 1.42MB/s]
     58%|#####7    | 24.1M/41.5M [00:26<00:12, 1.47MB/s]
     59%|#####8    | 24.3M/41.5M [00:26<00:11, 1.53MB/s]
    
  59%|#####9    | 24.6M/41.5M [00:26<00:10, 1.70MB/s]
     60%|#####9    | 24.8M/41.5M [00:26<00:10, 1.61MB/s]
     60%|######    | 25.0M/41.5M [00:27<00:11, 1.56MB/s]
     61%|######    | 25.2M/41.5M [00:27<00:09, 1.74MB/s]
     62%|######1   | 25.5M/41.5M [00:27<00:09, 1.81MB/s]
     62%|######2   | 25.9M/41.5M [00:27<00:08, 2.02MB/s]
     63%|######2   | 26.1M/41.5M [00:27<00:08, 1.92MB/s]
     63%|######3   | 26.3M/41.5M [00:27<00:08, 1.83MB/s]
     64%|######4   | 26.6M/41.5M [00:27<00:07, 2.08MB/s]
     65%|######5   | 27.0M/41.5M [00:28<00:06, 2.32MB/s]
     66%|######5   | 27.2M/41.5M [00:28<00:06, 2.20MB/s]
     66%|######6   | 27.4M/41.5M [00:28<00:07, 2.10MB/s]
     67%|######7   | 27.8M/41.5M [00:28<00:06, 2.37MB/s]
     68%|######8   | 28.2M/41.5M [00:28<00:05, 2.66MB/s]
     69%|######8   | 28.5M/41.5M [00:28<00:05, 2.49MB/s]
     69%|######9   | 28.8M/41.5M [00:28<00:05, 2.39MB/s]
     70%|#######   | 29.2M/41.5M [00:28<00:04, 2.70MB/s]
     71%|#######1  | 29.6M/41.5M
  [00:29<00:03, 3.16MB/s]
     72%|#######2  | 30.0M/41.5M [00:29<00:04, 2.80MB/s]
     73%|#######2  | 30.2M/41.5M [00:29<00:04, 2.66MB/s]
     74%|#######4  | 30.7M/41.5M [00:29<00:03, 3.00MB/s]
     75%|#######5  | 31.3M/41.5M [00:29<00:02, 3.60MB/s]
     76%|#######6  | 31.6M/41.5M [00:29<00:03, 3.20MB/s]
     77%|#######6  | 31.9M/41.5M [00:29<00:03, 3.04MB/s]
     78%|#######8  | 32.5M/41.5M [00:29<00:02, 3.42MB/s]
     80%|#######9  | 33.1M/41.5M [00:30<00:02, 3.97MB/s]
     81%|########  | 33.5M/41.5M [00:30<00:02, 3.57MB/s]
     82%|########1 | 33.8M/41.5M [00:30<00:02, 3.39MB/s]
     83%|########3 | 34.5M/41.5M [00:30<00:01, 4.07MB/s]
     84%|########4 | 34.9M/41.5M [00:30<00:01, 4.03MB/s]
     85%|########4 | 35.3M/41.5M [00:30<00:01, 3.80MB/s]
     87%|########6 | 35.9M/41.5M [00:30<00:01, 4.45MB/s]
     88%|########7 | 36.3M/41.5M [00:30<00:01, 4.37MB/s]
     89%|########8 | 36.8M/41.5M [00:31<00:01, 4.12MB/s]
     90%|######### | 37.5M/41.5M [00:31<00:00, 4.95MB/s]
   
   92%|#########1| 38.0M/41.5M [00:31<00:00, 4.87MB/s]
     93%|#########2| 38.5M/41.5M [00:31<00:00, 4.56MB/s]
     95%|#########4| 39.3M/41.5M [00:31<00:00, 5.44MB/s]
     96%|#########5| 39.8M/41.5M [00:31<00:00, 5.33MB/s]
     97%|#########7| 40.3M/41.5M [00:31<00:00, 5.01MB/s]
     99%|#########9| 41.2M/41.5M [00:31<00:00, 5.80MB/s]
    100%|##########| 41.5M/41.5M [00:31<00:00, 1.36MB/s]
 
 
 
@@ -283,11 +283,6 @@ Look up prediction top 1 index in 1000 class synset.
 
 
 
-.. rst-class:: sphx-glr-timing
-
-   **Total running time of the script:** ( 3 minutes  56.368 seconds)
-
-
 .. _sphx_glr_download_how_to_compile_models_from_oneflow.py:
 
 
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 591107d87..b7e9d0c31 100644
--- a/docs/_sources/how_to/compile_models/from_paddle.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_paddle.rst.txt
@@ -201,7 +201,7 @@ Look up prediction top 1 index in 1000 class synset.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  5.058 seconds)
+   **Total running time of the script:** ( 1 minutes  6.750 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 c415f532d..0fb75cb0f 100644
--- a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
@@ -79,7 +79,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]
     34%|###3      | 15.1M/44.7M [00:00<00:00, 158MB/s]
     82%|########2 | 36.7M/44.7M [00:00<00:00, 199MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 200MB/s]
+
      0%|          | 0.00/44.7M [00:00<?, ?B/s]
     20%|##        | 9.11M/44.7M [00:00<00:00, 95.5MB/s]
     58%|#####7    | 25.8M/44.7M [00:00<00:00, 140MB/s] 
     87%|########7 | 39.1M/44.7M [00:00<00:00, 138MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 126MB/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 01054e987..67e1626ed 100644
--- a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
@@ -372,7 +372,7 @@ Run the corresponding model on tensorflow
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  4.608 seconds)
+   **Total running time of the script:** ( 1 minutes  1.335 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 667de7060..342323b05 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,15 +5,15 @@
 
 Computation times
 =================
-**08:45.039** total execution time for **how_to_compile_models** files:
+**05:45.314** total execution time for **how_to_compile_models** files:
 
-- **03:56.368**: :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)
-- **01:05.058**: :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)
-- **01:04.608**: :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``)
-- **00:55.953**: :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)
-- **00:25.238**: :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)
-- **00:21.929**: :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)
-- **00:21.064**: :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)
-- **00:18.515**: :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)
-- **00:13.939**: :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)
-- **00:02.367**: :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)
+- **01:06.750**: :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)
+- **01:01.335**: :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``)
+- **00:57.209**: :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)
+- **00:56.086**: :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)
+- **00:25.758**: :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)
+- **00:22.005**: :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)
+- **00:21.522**: :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)
+- **00:19.299**: :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)
+- **00:12.821**: :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)
+- **00:02.528**: :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)
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 3a8bfc313..e7332e52b 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
@@ -393,7 +393,7 @@ Execute on TVM
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      16.5411      16.4917      17.0716      15.9784       0.3933   
+      16.1856      16.0276      16.8945      15.7889       0.4071   
                
 
 
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 472340353..49641c4e4 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
@@ -108,7 +108,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]
      6%|6         | 10.5M/170M [00:00<00:01, 110MB/s]
     14%|#4        | 24.3M/170M [00:00<00:01, 130MB/s]
     24%|##4       | 41.6M/170M [00:00<00:00, 154MB/s]
     33%|###3      | 56.2M/170M [00:00<00:00, 151MB/s]
     43%|####2     | 72.2M/170M [00:00<00:00, 157MB/s]
     51%|#####1    | 87.2M/170M [00:00<00:00, 150MB/s]
     62%|######2   | 106M/170M [00:00<00:00, 165MB/s] 
     75%|#######5  | 128M/170M [00:00<00:00, 185MB/s]
     88%|########8 | 150M/170M [00:00<00:00, 199MB/s]
    100%|##########| 170M/170M [00:01<00:00, 175MB/s]
+
      0%|          | 0.00/170M [00:00<?, ?B/s]
      9%|8         | 14.8M/170M [00:00<00:01, 155MB/s]
     17%|#7        | 29.6M/170M [00:00<00:00, 152MB/s]
     26%|##5       | 44.1M/170M [00:00<00:00, 148MB/s]
     37%|###6      | 62.8M/170M [00:00<00:00, 166MB/s]
     46%|####6     | 78.7M/170M [00:00<00:00, 161MB/s]
     58%|#####8    | 99.3M/170M [00:00<00:00, 179MB/s]
     69%|######8   | 117M/170M [00:00<00:00, 168MB/s] 
     78%|#######8  | 133M/170M [00:00<00:00, 160MB/s]
     89%|########9 | 152M/170M [00:00<00:00, 172MB/s]
     99%|#########9| 168M/170M [00:01<00:00, 159MB/s]
    100%|##########| 170M/170M [00:01<00:00, 163MB/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').
@@ -253,7 +253,7 @@ Get boxes with score larger than 0.9
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 3 minutes  4.266 seconds)
+   **Total running time of the script:** ( 3 minutes  9.364 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 dd68a33d6..d0ad092c5 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
@@ -187,7 +187,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]
     18%|#8        | 2.46M/13.6M [00:00<00:00, 25.4MB/s]
     36%|###6      | 4.89M/13.6M [00:00<00:00, 23.9MB/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 53.0MB/s]
+
      0%|          | 0.00/13.6M [00:00<?, ?B/s]
     78%|#######7  | 10.6M/13.6M [00:00<00:00, 111MB/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 122MB/s]
 
 
 
@@ -344,7 +344,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.5770      90.2819      99.6096      90.0963       1.0652   
+      90.3820      90.2666      92.1516      90.1029       0.2942   
                
 
 
@@ -384,7 +384,7 @@ TODO
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  5.073 seconds)
+   **Total running time of the script:** ( 1 minutes  6.167 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 e7c2099c2..e565e2509 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
@@ -351,7 +351,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      119.7476     119.6864     122.9695     118.9579      0.4654   
+      121.7510     121.7453     124.2151     120.4985      0.5468   
                
 
 
@@ -385,7 +385,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  51.960 seconds)
+   **Total running time of the script:** ( 1 minutes  54.000 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 779ddce0d..2d33c1e04 100644
--- a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
@@ -221,7 +221,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  41.666 seconds)
+   **Total running time of the script:** ( 1 minutes  27.006 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 8ed6a09ca..f31fb0512 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
@@ -137,7 +137,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         | 2388/132723 [00:00<00:05, 23875.07KB/s]
      5%|5         | 7085/132723 [00:00<00:03, 37456.77KB/s]
     11%|#1        | 15236/132723 [00:00<00:02, 57566.91KB/s]
     18%|#8        | 24105/132723 [00:00<00:01, 69850.58KB/s]
     25%|##4       | 32968/132723 [00:00<00:01, 76618.78KB/s]
     32%|###1      | 41852/132723 [00:00<00:01, 80770.89KB/s]
     38%|###7      | 49930/132723 [00:00<00:01, 74637.82KB/s]
     44%|####4     | 58782/132723 [00:00<00:00, 78819.81KB/s]
     50%|#####     | 66744/132723 [00:01<00:01, 61068.55KB/s]
     56%|#####6    | 74550/132723 [00:01<00:00, 65303.78KB/s]
     63%|######2   | 83448/132723 [00:01<00:00, 71519.71KB/s]
     70%|######9   | 92289/132723 [00:01<00:00, 76124.67KB/s]
     76%|#######5  | 100283/132723 [00:01<00:00, 51870.75KB/s]
     82%|########2 | 108973/132723 [00:01<00:00, 59299.72KB/s]
     88%|########8 | 116824/132723 [00:01<00:00, 52831.61KB/s]
     93%|#########
 2| 123058/132723 [00:02<00:00, 50357.29KB/s]
     99%|#########8| 131189/132723 [00:02<00:00, 57181.45KB/s]
    100%|##########| 132723/132723 [00:02<00:00, 61712.54KB/s]
+
      0%|          | 0/132723 [00:00<?, ?KB/s]
      3%|3         | 4131/132723 [00:00<00:03, 41305.80KB/s]
      7%|7         | 9887/132723 [00:00<00:02, 50863.44KB/s]
     11%|#1        | 14974/132723 [00:00<00:02, 47819.43KB/s]
     16%|#6        | 21366/132723 [00:00<00:02, 53841.17KB/s]
     22%|##2       | 29408/132723 [00:00<00:01, 63068.46KB/s]
     27%|##6       | 35758/132723 [00:00<00:02, 47288.22KB/s]
     33%|###2      | 43389/132723 [00:00<00:01, 54918.66KB/s]
     37%|###7      | 49428/132723 [00:00<00:01, 50488.64KB/s]
     42%|####1     | 55124/132723 [00:01<00:01, 51451.27KB/s]
     48%|####7     | 63382/132723 [00:01<00:01, 59767.35KB/s]
     53%|#####2    | 69695/132723 [00:01<00:01, 59566.43KB/s]
     59%|#####9    | 78517/132723 [00:01<00:00, 67563.59KB/s]
     66%|######5   | 87245/132723 [00:01<00:00, 73183.11KB/s]
     72%|#######2  | 95980/132723 [00:01<00:00, 77281.50KB/s]
     79%|#######8  | 104773/132723 [00:01<00:00, 80393.03KB/s]
     85%|########5 |
  113458/132723 [00:01<00:00, 77424.50KB/s]
     91%|#########1| 121315/132723 [00:01<00:00, 68655.48KB/s]
     98%|#########7| 130043/132723 [00:02<00:00, 73563.49KB/s]
    100%|##########| 132723/132723 [00:02<00:00, 64075.99KB/s]
 
 
 
@@ -202,7 +202,7 @@ Display result
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  23.376 seconds)
+   **Total running time of the script:** ( 2 minutes  27.641 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 af36e1f26..7c80d0994 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,13 +5,13 @@
 
 Computation times
 =================
-**10:55.828** total execution time for **how_to_deploy_models** files:
+**10:54.829** total execution time for **how_to_deploy_models** files:
 
-- **03:04.266**: :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``)
-- **02:23.376**: :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)
-- **01:51.960**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)
-- **01:41.666**: :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)
-- **01:05.073**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)
-- **00:27.808**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)
-- **00:21.482**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)
-- **00:00.197**: :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``)
+- **03:09.364**: :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``)
+- **02:27.641**: :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)
+- **01:53.1000**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)
+- **01:27.006**: :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)
+- **01:06.167**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)
+- **00:28.509**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)
+- **00:21.942**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)
+- **00:00.201**: :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``)
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 939451c59..ec3e3b96c 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
@@ -423,7 +423,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.zip415e1b66-8998-4e40-9627-9db0836e7cf6 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+    Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip643be7c8-afa9-409d-8c03-15c4020e35e9 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
 
 
 
@@ -525,7 +525,7 @@ Now, to actually convert the entire network, we have written `a pass in Relay <h
 
  .. code-block:: none
 
-      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 43d8772a4..22070a589 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,9 +5,9 @@
 
 Computation times
 =================
-**00:39.026** total execution time for **how_to_extend_tvm** files:
+**00:39.148** total execution time for **how_to_extend_tvm** files:
 
-- **00:35.418**: :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``)
-- **00:02.301**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)
-- **00:01.096**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)
-- **00:00.211**: :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``)
+- **00:35.561**: :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``)
+- **00:02.300**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)
+- **00:01.083**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)
+- **00:00.203**: :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``)
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 103263787..6392904cb 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
@@ -199,10 +199,10 @@ profile the execution time of each passes.
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 6318us [6318us] (45.80%; 45.80%)
-    FoldScaleAxis: 7475us [2us] (54.20%; 54.20%)
-            FoldConstant: 7473us [1541us] (54.18%; 99.97%)
-                    InferType: 5931us [5931us] (43.00%; 79.37%)
+    InferType: 6086us [6086us] (45.31%; 45.31%)
+    FoldScaleAxis: 7346us [2us] (54.69%; 54.69%)
+            FoldConstant: 7344us [1530us] (54.68%; 99.97%)
+                    InferType: 5814us [5814us] (43.28%; 79.17%)
 
 
 
@@ -239,10 +239,10 @@ Refer to following sections and :py:func:`tvm.instrument.pass_instrument` for th
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 6029us [6029us] (44.85%; 44.85%)
-    FoldScaleAxis: 7413us [2us] (55.15%; 55.15%)
-            FoldConstant: 7411us [1551us] (55.13%; 99.97%)
-                    InferType: 5860us [5860us] (43.59%; 79.07%)
+    InferType: 5865us [5865us] (44.51%; 44.51%)
+    FoldScaleAxis: 7310us [2us] (55.49%; 55.49%)
+            FoldConstant: 7308us [1515us] (55.47%; 99.97%)
+                    InferType: 5793us [5793us] (43.97%; 79.27%)
 
 
 
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 cb78f5f11..d66b910d5 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
@@ -295,7 +295,7 @@ latency of convolution.
 
  .. code-block:: none
 
-    Convolution: 54.133592 ms
+    Convolution: 35.960301 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 8cf8fbcc2..5799b1eae 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
@@ -628,7 +628,7 @@ be able to run on our build server
 
  .. code-block:: none
 
-    conv2d with tensor core: 6.953972 ms
+    conv2d with tensor core: 9.098922 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 22b6fc70c..ad2d885ab 100644
--- a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
@@ -118,8 +118,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 
  .. code-block:: none
 
-    Numpy running time: 0.018989
-    Baseline: 3.251616
+    Numpy running time: 0.019147
+    Baseline: 3.417160
 
 
 
@@ -210,7 +210,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 
  .. code-block:: none
 
-    Opt1: 0.309081
+    Opt1: 0.313758
 
 
 
@@ -309,7 +309,7 @@ In this tutorial, we chose to vectorize the inner loop row data since it is cach
 
  .. code-block:: none
 
-    Opt2: 0.346843
+    Opt2: 0.346130
 
 
 
@@ -401,7 +401,7 @@ the access pattern for A matrix is more cache friendly.
 
  .. code-block:: none
 
-    Opt3: 0.119197
+    Opt3: 0.124542
 
 
 
@@ -520,7 +520,7 @@ flattening.
 
  .. code-block:: none
 
-    Opt4: 0.112536
+    Opt4: 0.111089
 
 
 
@@ -638,7 +638,7 @@ write to C when all the block results are ready.
 
  .. code-block:: none
 
-    Opt5: 0.111340
+    Opt5: 0.110496
 
 
 
@@ -759,7 +759,7 @@ Futhermore, we can also utilize multi-core processors to do the thread-level par
 
  .. code-block:: none
 
-    Opt6: 0.145152
+    Opt6: 0.145037
 
 
 
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 2d9699751..a053b9950 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,8 +5,8 @@
 
 Computation times
 =================
-**00:34.904** total execution time for **how_to_optimize_operators** files:
+**00:35.502** total execution time for **how_to_optimize_operators** files:
 
-- **00:32.237**: :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)
-- **00:01.421**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``)
-- **00:01.246**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)
+- **00:32.842**: :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)
+- **00:01.416**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``)
+- **00:01.245**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)
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 e7b7000dc..1627bca81 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,11 +5,11 @@
 
 Computation times
 =================
-**04:56.375** total execution time for **how_to_tune_with_autoscheduler** files:
-
-- **02:20.708**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``)
-- **01:21.069**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)
-- **00:40.592**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)
-- **00:16.430**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)
-- **00:09.005**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)
-- **00:08.570**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)
+**05:00.374** total execution time for **how_to_tune_with_autoscheduler** files:
+
+- **02:23.655**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``)
+- **01:20.937**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)
+- **00:40.288**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)
+- **00:18.253**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)
+- **00:08.736**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)
+- **00:08.506**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)
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 93bf92cc2..3308cc488 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
@@ -222,271 +222,484 @@ 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" = 16;
-      allocate(conv2d_nchw: Pointer(local float32), float32, [7]), storage_scope = local;
-      allocate(pad_temp.shared: Pointer(shared float32), float32, [2592]), storage_scope = shared;
-      allocate(kernel.shared: Pointer(shared float32), float32, [9216]), storage_scope = shared;
-      attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224 {
-        conv2d_nchw_1: Buffer(conv2d_nchw, float32, [1], [], scope="local", align=4)[0] = 0f32
+      attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 28;
+      allocate(conv2d_nchw: Pointer(local float32), float32, [14]), storage_scope = local;
+      allocate(pad_temp.shared: Pointer(shared float32), float32, [72]), storage_scope = shared;
+      allocate(kernel.shared: Pointer(shared float32), float32, [3072]), storage_scope = shared;
+      attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64 {
+        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
-        for (rc.outer.outer: int32, 0, 16) {
-          let cse_var_2: int32 = (rc.outer.outer*1568)
-          let cse_var_1: int32 = (rc.outer.outer*288)
-           {
-            attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            pad_temp.shared_1: Buffer(pad_temp.shared, float32, [2592], [], scope="shared")[threadIdx.x_1] = @tir.if_then_else(((((9 <= floormod(threadIdx.x_1, 81)) && (floormod(threadIdx.x_1, 81) < 72)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), data[((((cse_var_2 + (floordiv(threadIdx.x_1, 81)*49)) + (floordiv(floormod(threadIdx.x_1, 81), 9)*7)) + floormod(threadIdx.x_1, 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            pad_temp.shared_1[(threadIdx.x_1 + 224)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 224), 81)) && (floormod((threadIdx.x_1 + 62), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 8), 9))) && (floormod((threadIdx.x_1 + 8), 9) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 224), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 224), 81), 9)*7)) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            pad_temp.shared_1[(threadIdx.x_1 + 448)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 448), 81)) && (floormod((threadIdx.x_1 + 43), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 7), 9))) && (floormod((threadIdx.x_1 + 7), 9) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 448), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 448), 81), 9)*7)) + floormod((threadIdx.x_1 + 7), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            pad_temp.shared_1[(threadIdx.x_1 + 672)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 672), 81)) && (floormod((threadIdx.x_1 + 24), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 6), 9))) && (floormod((threadIdx.x_1 + 6), 9) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 672), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 672), 81), 9)*7)) + floormod((threadIdx.x_1 + 6), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            pad_temp.shared_1[(threadIdx.x_1 + 896)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 896), 81)) && (floormod((threadIdx.x_1 + 5), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 5), 9))) && (floormod((threadIdx.x_1 + 5), 9) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 896), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 896), 81), 9)*7)) + floormod((threadIdx.x_1 + 5), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            pad_temp.shared_1[(threadIdx.x_1 + 1120)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 1120), 81)) && (floormod((threadIdx.x_1 + 67), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 4), 9))) && (floormod((threadIdx.x_1 + 4), 9) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 1120), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 1120), 81), 9)*7)) + floormod((threadIdx.x_1 + 4), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            pad_temp.shared_1[(threadIdx.x_1 + 1344)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 1344), 81)) && (floormod((threadIdx.x_1 + 48), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 3), 9))) && (floormod((threadIdx.x_1 + 3), 9) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 1344), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 1344), 81), 9)*7)) + floormod((threadIdx.x_1 + 3), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            pad_temp.shared_1[(threadIdx.x_1 + 1568)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 1568), 81)) && (floormod((threadIdx.x_1 + 29), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 2), 9))) && (floormod((threadIdx.x_1 + 2), 9) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 1568), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 1568), 81), 9)*7)) + floormod((threadIdx.x_1 + 2), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            pad_temp.shared_1[(threadIdx.x_1 + 1792)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 1792), 81)) && (floormod((threadIdx.x_1 + 10), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 1), 9))) && (floormod((threadIdx.x_1 + 1), 9) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 1792), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 1792), 81), 9)*7)) + floormod((threadIdx.x_1 + 1), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            pad_temp.shared_1[(threadIdx.x_1 + 2016)] = @tir.if_then_else(((((1 <= floormod((floordiv(threadIdx.x_1, 9) + 8), 9)) && (floormod((threadIdx.x_1 + 72), 81) < 72)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 2016), 81)*49)) + (floormod((floordiv(threadIdx.x_1, 9) + 8), 9)*7)) + floormod(threadIdx.x_1, 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            pad_temp.shared_1[(threadIdx.x_1 + 2240)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 2240), 81)) && (floormod((threadIdx.x_1 + 53), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 8), 9))) && (floormod((threadIdx.x_1 + 8), 9) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 2240), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 2240), 81), 9)*7)) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            if @tir.likely((threadIdx.x_1 < 128), dtype=bool) {
-              pad_temp.shared_1[(threadIdx.x_1 + 2464)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 2464), 81)) && (floormod((threadIdx.x_1 + 34), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 7), 9))) && (floormod((threadIdx.x_1 + 7), 9) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 2464), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 2464), 81), 9)*7)) + floormod((threadIdx.x_1 + 7), 9)) - 8)], 0f32, dtype=float32)
-            }
-            attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1: Buffer(kernel.shared, float32, [9216], [], scope="shared")[threadIdx.x_2] = kernel[(((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 7), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 224), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 14), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 160), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 21), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 96), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 28), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 32), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 35), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 256), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 42), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 192), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 1568)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 49), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 128), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 56), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 64), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 2016)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 32256)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 70), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 224), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 2464)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 77), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 160), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 2688)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 84), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 96), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 2912)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 91), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 32), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 3136)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 98), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 256), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 3360)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 105), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 192), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 3584)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 112), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 128), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 3808)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 119), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 64), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 4032)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 64512)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 4256)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 133), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 224), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 4480)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 140), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 160), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 4704)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 147), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 96), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 4928)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 154), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 32), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 5152)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 161), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 256), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 5376)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 168), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 192), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 5600)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 175), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 128), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 5824)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 182), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 64), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 6048)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 96768)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 6272)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 196), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 224), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 6496)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 203), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 160), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 6720)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 210), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 96), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 6944)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 217), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 32), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 7168)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 224), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 256), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 7392)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 231), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 192), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 7616)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 238), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 128), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 7840)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 245), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 64), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 8064)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 129024)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 8288)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 259), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 224), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 8512)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 266), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 160), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 8736)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 273), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 96), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            kernel.shared_1[(threadIdx.x_2 + 8960)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 280), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 32), 288))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
-            if @tir.likely((threadIdx.x_2 < 32), dtype=bool) {
-              kernel.shared_1[(threadIdx.x_2 + 9184)] = kernel[((((blockIdx.x*147456) + cse_var_1) + floormod((threadIdx.x_2 + 256), 288)) + 142848)]
-            }
-            for (rc.outer.inner: int32, 0, 16) {
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9))]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 12)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 13)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 14)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 15)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 21)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 22)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 23)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 24)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 81)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 82)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 83)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 84)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 85)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 86)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 87)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 90)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 91)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 92)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 93)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 94)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 95)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 96)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 99)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 102)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 103)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 104)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 105)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 3)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 4)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 5)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 6)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 7)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 12)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 13)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 14)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 15)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 16)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 21)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 22)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 23)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 24)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 25)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 82)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 83)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 84)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 85)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 86)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 87)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 88)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 91)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 92)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 93)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 94)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 95)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 96)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 97)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 102)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 103)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 104)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 105)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 106)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 3)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 4)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 5)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 6)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 7)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 8)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 12)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 13)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 14)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 15)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 16)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 17)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 21)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 22)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 23)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 24)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 25)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 26)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 83)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 84)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 85)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 86)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 87)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 88)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 89)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 92)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 93)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 94)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 95)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 96)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 97)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 98)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 102)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
-              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 103)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
-              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 104)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
-              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 105)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
-              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 106)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
-              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 107)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
+        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) {
+          for (ry.outer.outer: int32, 0, 3) {
+            let cse_var_2: int32 = (rc.outer.outer*72)
+            let cse_var_1: int32 = (ry.outer.outer*3)
+             {
+              attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64 {
+                if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+                  pad_temp.shared_1: Buffer(pad_temp.shared, float32, [72], [], scope="shared")[(threadIdx.x_1*4)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod((threadIdx.x_1*4), 9))) && (floormod((threadIdx.x_1*4), 9) < 8)), data[((((((rc.outer.outer*392) + (floordiv((threadIdx.x_1*4), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod((threadIdx.x_1*4), 9)) - 8)], 0f3 [...]
+                }
+                if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+                  pad_temp.shared_1[((threadIdx.x_1*4) + 1)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(((threadIdx.x_1*4) + 1), 9))) && (floormod(((threadIdx.x_1*4) + 1), 9) < 8)), data[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 1), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 1), 9)) - 8)], 0f32, dtype=float32)
+                }
+                if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+                  pad_temp.shared_1[((threadIdx.x_1*4) + 2)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(((threadIdx.x_1*4) + 2), 9))) && (floormod(((threadIdx.x_1*4) + 2), 9) < 8)), data[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 2), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 2), 9)) - 8)], 0f32, dtype=float32)
+                }
+                if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+                  pad_temp.shared_1[((threadIdx.x_1*4) + 3)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(((threadIdx.x_1*4) + 3), 9))) && (floormod(((threadIdx.x_1*4) + 3), 9) < 8)), data[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 3), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 3), 9)) - 8)], 0f32, dtype=float32)
+                }
+              }
+              attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1: Buffer(kernel.shared, float32, [3072], [], scope="shared")[threadIdx.x_2] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 64)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 8), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 64), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 128)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 16), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 128), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 192)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 36864)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 256)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 32), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 256), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 320)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 40), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 320), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 384)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 73728)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 56), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 448), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 512)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 64), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 512), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 576)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 110592)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 640)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 80), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 640), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 704)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 88), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 704), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 768)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 147456)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 832)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 104), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 832), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 112), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 896), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 960)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 184320)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1024)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 128), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1024), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1088)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 136), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1088), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1152)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 221184)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1216)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 152), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1216), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1280)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 160), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1280), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 258048)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1408)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 176), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1408), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1472)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 184), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1472), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1536)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 294912)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1600)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 200), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1600), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1664)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 208), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1664), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1728)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 331776)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 224), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1792), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1856)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 232), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1856), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1920)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 368640)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1984)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 248), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1984), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2048)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 256), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2048), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2112)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 405504)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2176)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 272), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2176), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 280), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2240), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2304)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 442368)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2368)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 296), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2368), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2432)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 304), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2432), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2496)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 479232)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2560)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 320), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2560), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2624)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 328), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2624), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2688)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 516096)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2752)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 344), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2752), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2816)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 352), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2816), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2880)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 552960)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2944)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 368), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2944), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 3008)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 376), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 3008), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[0]*kernel.shared_1[(threadIdx.x*48)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[1]*kernel.shared_1[(threadIdx.x*48)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[2]*kernel.shared_1[(threadIdx.x*48)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[3]*kernel.shared_1[(threadIdx.x*48)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[4]*kernel.shared_1[(threadIdx.x*48)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[5]*kernel.shared_1[(threadIdx.x*48)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[6]*kernel.shared_1[(threadIdx.x*48)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[0]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[54]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[63]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[54]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[63]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[62]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[71]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[62]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[71]*kernel.shared_1[((threadIdx.x*48) + 47)]))
             }
           }
         }
-        compute[((blockIdx.x*1568) + (threadIdx.x*7))] = max((conv2d_nchw_1[0] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
-        compute[(((blockIdx.x*1568) + (threadIdx.x*7)) + 1)] = max((conv2d_nchw_1[1] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
-        compute[(((blockIdx.x*1568) + (threadIdx.x*7)) + 2)] = max((conv2d_nchw_1[2] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
-        compute[(((blockIdx.x*1568) + (threadIdx.x*7)) + 3)] = max((conv2d_nchw_1[3] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
-        compute[(((blockIdx.x*1568) + (threadIdx.x*7)) + 4)] = max((conv2d_nchw_1[4] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
-        compute[(((blockIdx.x*1568) + (threadIdx.x*7)) + 5)] = max((conv2d_nchw_1[5] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
-        compute[(((blockIdx.x*1568) + (threadIdx.x*7)) + 6)] = max((conv2d_nchw_1[6] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
+        for (i1.inner: int32, 0, 2) {
+          for (i3.inner: int32, 0, 7) {
+            compute[(((((floordiv(blockIdx.x, 7)*6272) + (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)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
+          }
+        }
       }
     }
 
@@ -538,7 +751,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 0.226 ms
+    Execution time of this operator: 0.362 ms
 
 
 
@@ -583,20 +796,20 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     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=1)
-    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=32)
+    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=64)
     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=7)
+    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=2)
-    conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=16)
-    conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=3)
+    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=1)
     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)
@@ -604,15 +817,15 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     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=1)
-    compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=32)
+    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=64)
     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=7)
+    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)
     s[conv2d_nchw].compute_at(s[compute], compute_i3_o_i)
     kernel_shared = s.cache_read(kernel, "shared", [conv2d_nchw])
@@ -631,14 +844,14 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     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)
     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=224)
+    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=64)
     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)
+    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=4)
     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=224)
+    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=64)
     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", 512)
     s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "unroll_explicit", True)
 
     CUDA source code:
@@ -656,10 +869,10 @@ 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__(224) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
-      float conv2d_nchw[7];
-      __shared__ float pad_temp_shared[2592];
-      __shared__ float kernel_shared[9216];
+    extern "C" __global__ void __launch_bounds__(64) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
+      float conv2d_nchw[14];
+      __shared__ float pad_temp_shared[72];
+      __shared__ float kernel_shared[3072];
       conv2d_nchw[0] = 0.000000e+00f;
       conv2d_nchw[1] = 0.000000e+00f;
       conv2d_nchw[2] = 0.000000e+00f;
@@ -667,203 +880,420 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
       conv2d_nchw[4] = 0.000000e+00f;
       conv2d_nchw[5] = 0.000000e+00f;
       conv2d_nchw[6] = 0.000000e+00f;
-      for (int rc_outer_outer = 0; rc_outer_outer < 16; ++rc_outer_outer) {
-        __syncthreads();
-        pad_temp_shared[((int)threadIdx.x)] = (((((9 <= (((int)threadIdx.x) % 81)) && ((((int)threadIdx.x) % 81) < 72)) && (1 <= (((int)threadIdx.x) % 9))) && ((((int)threadIdx.x) % 9) < 8)) ? data[(((((rc_outer_outer * 1568) + ((((int)threadIdx.x) / 81) * 49)) + (((((int)threadIdx.x) % 81) / 9) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 224)] = (((((9 <= ((((int)threadIdx.x) + 62) % 81)) && (((((int)threadIdx.x) + 62) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 8) % 9))) && (((((int)threadIdx.x) + 8) % 9) < 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 224) / 81) * 49)) + ((((((int)threadIdx.x) + 62) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 8) % 9)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 448)] = (((((9 <= ((((int)threadIdx.x) + 43) % 81)) && (((((int)threadIdx.x) + 43) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 7) % 9))) && (((((int)threadIdx.x) + 7) % 9) < 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 448) / 81) * 49)) + ((((((int)threadIdx.x) + 43) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 7) % 9)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 672)] = (((((9 <= ((((int)threadIdx.x) + 24) % 81)) && (((((int)threadIdx.x) + 24) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 6) % 9))) && (((((int)threadIdx.x) + 6) % 9) < 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 672) / 81) * 49)) + ((((((int)threadIdx.x) + 24) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 6) % 9)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 896)] = (((((9 <= ((((int)threadIdx.x) + 5) % 81)) && (((((int)threadIdx.x) + 5) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 5) % 9))) && (((((int)threadIdx.x) + 5) % 9) < 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 896) / 81) * 49)) + ((((((int)threadIdx.x) + 5) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 5) % 9)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 1120)] = (((((9 <= ((((int)threadIdx.x) + 67) % 81)) && (((((int)threadIdx.x) + 67) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 4) % 9))) && (((((int)threadIdx.x) + 4) % 9) < 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 1120) / 81) * 49)) + ((((((int)threadIdx.x) + 67) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 4) % 9)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 1344)] = (((((9 <= ((((int)threadIdx.x) + 48) % 81)) && (((((int)threadIdx.x) + 48) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 3) % 9))) && (((((int)threadIdx.x) + 3) % 9) < 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 1344) / 81) * 49)) + ((((((int)threadIdx.x) + 48) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 3) % 9)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 1568)] = (((((9 <= ((((int)threadIdx.x) + 29) % 81)) && (((((int)threadIdx.x) + 29) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 2) % 9))) && (((((int)threadIdx.x) + 2) % 9) < 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 1568) / 81) * 49)) + ((((((int)threadIdx.x) + 29) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 2) % 9)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 1792)] = (((((9 <= ((((int)threadIdx.x) + 10) % 81)) && (((((int)threadIdx.x) + 10) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 1) % 9))) && (((((int)threadIdx.x) + 1) % 9) < 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 1792) / 81) * 49)) + ((((((int)threadIdx.x) + 10) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 1) % 9)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 2016)] = (((((1 <= (((((int)threadIdx.x) / 9) + 8) % 9)) && (((((int)threadIdx.x) + 72) % 81) < 72)) && (1 <= (((int)threadIdx.x) % 9))) && ((((int)threadIdx.x) % 9) < 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 2016) / 81) * 49)) + ((((((int)threadIdx.x) / 9) + 8) % 9) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 2240)] = (((((9 <= ((((int)threadIdx.x) + 53) % 81)) && (((((int)threadIdx.x) + 53) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 8) % 9))) && (((((int)threadIdx.x) + 8) % 9) < 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 2240) / 81) * 49)) + ((((((int)threadIdx.x) + 53) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 8) % 9)) - 8)] : 0.000000e+00f);
-        if (((int)threadIdx.x) < 128) {
-          pad_temp_shared[(((int)threadIdx.x) + 2464)] = (((((9 <= ((((int)threadIdx.x) + 34) % 81)) && (((((int)threadIdx.x) + 34) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 7) % 9))) && (((((int)threadIdx.x) + 7) % 9) < 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 2464) / 81) * 49)) + ((((((int)threadIdx.x) + 34) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 7) % 9)) - 8)] : 0.000000e+00f);
-        }
-        kernel_shared[((int)threadIdx.x)] = kernel[(((((int)blockIdx.x) * 147456) + (rc_outer_outer * 288)) + ((int)threadIdx.x))];
-        kernel_shared[(((int)threadIdx.x) + 224)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 224) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 224) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 448)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 448) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 160) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 672)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 672) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 96) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 896)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 896) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 32))];
-        kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1120) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 256) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1344) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 192) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 1568)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1568) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 128) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1792) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 64))];
-        kernel_shared[(((int)threadIdx.x) + 2016)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 288)) + ((int)threadIdx.x)) + 32256)];
-        kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2240) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 224) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 2464)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2464) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 160) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2688) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 96) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 2912)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2912) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 32))];
-        kernel_shared[(((int)threadIdx.x) + 3136)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3136) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 256) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 3360)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3360) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 192) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 3584)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3584) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 128) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 3808)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3808) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 64))];
-        kernel_shared[(((int)threadIdx.x) + 4032)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 288)) + ((int)threadIdx.x)) + 64512)];
-        kernel_shared[(((int)threadIdx.x) + 4256)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4256) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 224) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 4480)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4480) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 160) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 4704)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4704) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 96) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 4928)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4928) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 32))];
-        kernel_shared[(((int)threadIdx.x) + 5152)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 5152) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 256) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 5376)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 5376) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 192) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 5600)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 5600) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 128) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 5824)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 5824) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 64))];
-        kernel_shared[(((int)threadIdx.x) + 6048)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 288)) + ((int)threadIdx.x)) + 96768)];
-        kernel_shared[(((int)threadIdx.x) + 6272)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 6272) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 224) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 6496)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 6496) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 160) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 6720)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 6720) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 96) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 6944)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 6944) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 32))];
-        kernel_shared[(((int)threadIdx.x) + 7168)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 7168) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 256) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 7392)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 7392) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 192) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 7616)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 7616) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 128) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 7840)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 7840) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 64))];
-        kernel_shared[(((int)threadIdx.x) + 8064)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 288)) + ((int)threadIdx.x)) + 129024)];
-        kernel_shared[(((int)threadIdx.x) + 8288)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 8288) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 224) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 8512)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 8512) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 160) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 8736)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 8736) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 96) % 288))];
-        kernel_shared[(((int)threadIdx.x) + 8960)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 8960) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 32))];
-        if (((int)threadIdx.x) < 32) {
-          kernel_shared[(((int)threadIdx.x) + 9184)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 256)) + 142848)];
+      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) {
+        for (int ry_outer_outer = 0; ry_outer_outer < 3; ++ry_outer_outer) {
+          __syncthreads();
+          if (((int)threadIdx.x) < 18) {
+            pad_temp_shared[(((int)threadIdx.x) * 4)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= ((((int)threadIdx.x) * 4) % 9))) && (((((int)threadIdx.x) * 4) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) * 4) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)threadIdx.x) * 4) % 9)) - 8)] : 0.000000e+00f);
+          }
+          if (((int)threadIdx.x) < 18) {
+            pad_temp_shared[((((int)threadIdx.x) * 4) + 1)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 1) % 9))) && ((((((int)threadIdx.x) * 4) + 1) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 1) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 1) % 9)) - 8)] : 0.000000e+00f);
+          }
+          if (((int)threadIdx.x) < 18) {
+            pad_temp_shared[((((int)threadIdx.x) * 4) + 2)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 2) % 9))) && ((((((int)threadIdx.x) * 4) + 2) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 2) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 2) % 9)) - 8)] : 0.000000e+00f);
+          }
+          if (((int)threadIdx.x) < 18) {
+            pad_temp_shared[((((int)threadIdx.x) * 4) + 3)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 3) % 9))) && ((((((int)threadIdx.x) * 4) + 3) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 3) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 3) % 9)) - 8)] : 0.000000e+00f);
+          }
+          kernel_shared[((int)threadIdx.x)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 64)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 64) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 128)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 128) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 192)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 36864)];
+          kernel_shared[(((int)threadIdx.x) + 256)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 256) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 320)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 320) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 384)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 73728)];
+          kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 448) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 512)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 512) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 576)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 110592)];
+          kernel_shared[(((int)threadIdx.x) + 640)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 640) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 704)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 704) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 768)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 147456)];
+          kernel_shared[(((int)threadIdx.x) + 832)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 832) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 896) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 960)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 184320)];
+          kernel_shared[(((int)threadIdx.x) + 1024)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1024) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1088)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1088) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1152)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 221184)];
+          kernel_shared[(((int)threadIdx.x) + 1216)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1216) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1280)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1280) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 258048)];
+          kernel_shared[(((int)threadIdx.x) + 1408)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1408) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1472)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1472) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1536)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 294912)];
+          kernel_shared[(((int)threadIdx.x) + 1600)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1600) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1664)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1664) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1728)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 331776)];
+          kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1792) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1856)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1856) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1920)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 368640)];
+          kernel_shared[(((int)threadIdx.x) + 1984)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1984) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2048)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2048) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2112)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 405504)];
+          kernel_shared[(((int)threadIdx.x) + 2176)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2176) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2240) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2304)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 442368)];
+          kernel_shared[(((int)threadIdx.x) + 2368)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2368) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2432)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2432) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2496)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 479232)];
+          kernel_shared[(((int)threadIdx.x) + 2560)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2560) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2624)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2624) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 516096)];
+          kernel_shared[(((int)threadIdx.x) + 2752)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2752) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2816)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2816) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2880)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 552960)];
+          kernel_shared[(((int)threadIdx.x) + 2944)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2944) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 3008)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3008) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          __syncthreads();
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[0] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[1] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[2] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[3] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[4] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[5] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[6] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[0] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
         }
-        __syncthreads();
-        for (int rc_outer_inner = 0; rc_outer_inner < 16; ++rc_outer_inner) {
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9))] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 12)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 13)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 14)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 15)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 21)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 22)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 23)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 24)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 81)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 82)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 83)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 84)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 85)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 86)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 87)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 90)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 91)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 92)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 93)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 94)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 95)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 96)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 99)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 102)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 103)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 104)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 105)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 3)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 4)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 5)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 6)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 7)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 12)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 13)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 14)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 15)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 16)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 21)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 22)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 23)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 24)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 25)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 82)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 83)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 84)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 85)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 86)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 87)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 88)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 91)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 92)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 93)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 94)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 95)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 96)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 97)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 102)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 103)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 104)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 105)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 106)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 3)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 4)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 5)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 6)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 7)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 8)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 12)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 13)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 14)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 15)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 16)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 17)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 21)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 22)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 23)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 24)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 25)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 26)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 83)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 84)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 85)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 86)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 87)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 88)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 89)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 92)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 93)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 94)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 95)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 96)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 97)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 98)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 102)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 103)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 104)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 105)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 106)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 107)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
+      }
+      for (int i1_inner = 0; i1_inner < 2; ++i1_inner) {
+        for (int i3_inner = 0; i3_inner < 7; ++i3_inner) {
+          compute[((((((((int)blockIdx.x) / 7) * 6272) + (((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) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
         }
       }
-      compute[((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7))] = max((conv2d_nchw[0] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
-      compute[(((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7)) + 1)] = max((conv2d_nchw[1] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
-      compute[(((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7)) + 2)] = max((conv2d_nchw[2] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
-      compute[(((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7)) + 3)] = max((conv2d_nchw[3] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
-      compute[(((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7)) + 4)] = max((conv2d_nchw[4] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
-      compute[(((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7)) + 5)] = max((conv2d_nchw[5] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
-      compute[(((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7)) + 6)] = max((conv2d_nchw[6] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
     }
 
 
@@ -921,7 +1351,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  20.708 seconds)
+   **Total running time of the script:** ( 2 minutes  23.655 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 32a6226f7..89cf3ff5b 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
@@ -614,7 +614,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.8713       9.8602       9.9208       9.8330       0.0367   
+       9.9611       9.9576      10.0352       9.8905       0.0591   
                
 
 
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 bbe8d196b..ff77ad610 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
@@ -633,7 +633,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)  
-      786.3667     784.3729     792.5266     782.2005      4.4451   
+      763.7746     763.9377     764.6339     762.7523      0.7767   
                
 
 
@@ -658,7 +658,7 @@ Other Tips
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  21.069 seconds)
+   **Total running time of the script:** ( 1 minutes  20.937 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 30fa07a78..0c95dd9af 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
@@ -362,26 +362,29 @@ 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_8: placeholder_15: Buffer(placeholder_13, int32, [33], []), placeholder_5: placeholder_16: Buffer(placeholder_10, float32, [128, 256], []), placeholder_9: placeholder_17: Buffer(placeholder_14, float32, [128, 512], []), placeholder_6: placeholder_18: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_7: placeholder_19: Buffer(placeholder_12, int32, [4916], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], [])} {
-      for (i0.outer.i1.outer.fused: int32, 0, 256) "parallel" {
-        allocate(compute_4: Pointer(global float32), float32, [256]), storage_scope = global {
-          for (i.outer.inner: int32, 0, 8) {
-            for (nb_j.inner: int32, 0, 2) {
+      preflattened_buffer_map = {placeholder_5: placeholder_15: Buffer(placeholder_10, float32, [128, 256], []), placeholder_9: placeholder_16: Buffer(placeholder_14, float32, [128, 512], []), placeholder_6: placeholder_17: Buffer(placeholder_11, float32, [4916, 16, 1], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_7: placeholder_18: Buffer(placeholder_12, int32, [4916], []), placeholder_8: placeholder_19: Buffer(placeholder_13, int32, [33], [])} {
+      for (i0.outer: int32, 0, 32) "parallel" {
+        allocate(compute_4: Pointer(global float32), float32, [128]), storage_scope = global;
+        for (i1.outer: int32, 0, 16) {
+          for (nb_j.inner: int32, 0, 2) {
+            for (i.inner.init: int32, 0, 4) {
               for (j.init: int32, 0, 16) {
-                compute_5: Buffer(compute_4, float32, [256], [])[(((i.outer.inner*32) + (nb_j.inner*16)) + j.init)] = 0f32
+                compute_5: Buffer(compute_4, float32, [128], [])[(((i.inner.init*32) + (nb_j.inner*16)) + j.init)] = 0f32
               }
-              for (elem_idx: int32, 0, let cse_var_1: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
+            }
+            for (elem_idx: int32, 0, let cse_var_1: int32 = ((i1.outer*2) + nb_j.inner) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
+              for (i.inner: int32, 0, 4) {
                 for (j: int32, 0, 16) {
-                  let cse_var_3: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
-                  let cse_var_2: int32 = (((i.outer.inner*32) + (nb_j.inner*16)) + j)
-                  compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[(((floordiv(i0.outer.i1.outer.fused, 16)*2048) + (i.outer.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
+                  let cse_var_3: int32 = ((i1.outer*2) + nb_j.inner)
+                  let cse_var_2: int32 = (((i.inner*32) + (nb_j.inner*16)) + j)
+                  compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[(((i0.outer*1024) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
                 }
               }
             }
           }
-          for (i0.inner: int32, 0, 8) {
+          for (i0.inner: int32, 0, 4) {
             for (i1.inner: int32, 0, 32) {
-              let cse_var_4: int32 = ((((floordiv(i0.outer.i1.outer.fused, 16)*4096) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32)) + i1.inner)
+              let cse_var_4: int32 = ((((i0.outer*2048) + (i0.inner*512)) + (i1.outer*32)) + i1.inner)
               compute[cse_var_4] = max((compute_5[((i0.inner*32) + i1.inner)] + placeholder_4[cse_var_4]), 0f32)
             }
           }
@@ -437,7 +440,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 2.220 ms
+    Execution time of this operator: 1.263 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 a2ad149e5..6b0a7f61a 100644
--- a/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
 
 Computation times
 =================
-**00:44.457** total execution time for **how_to_tune_with_autotvm** files:
+**00:44.752** total execution time for **how_to_tune_with_autotvm** files:
 
-- **00:43.554**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)
-- **00:00.237**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)
-- **00:00.223**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``)
-- **00:00.222**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``)
-- **00:00.222**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_arm.py` (``tune_relay_arm.py``)
+- **00:43.862**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)
+- **00:00.236**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)
+- **00:00.219**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``)
+- **00:00.218**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_arm.py` (``tune_relay_arm.py``)
+- **00:00.216**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``)
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 62595251a..bdba2bcf3 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
@@ -859,8 +859,8 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, 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: 109.93/109.93   result: MeasureResult(costs=(0.002105879854166667,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7977416515350342, timestamp=1650936839.9238315)       [('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/109.93     result: Traceback (most recent call last):
+    No: 6   GFLOPS: 42.36/42.36     result: MeasureResult(costs=(0.005465203736842106,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.606165885925293, timestamp=1650937070.1503174)        [('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/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -983,7 +983,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, 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/109.93     result: Traceback (most recent call last):
+    No: 8   GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1106,7 +1106,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, 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/109.93     result: Traceback (most recent call last):
+    No: 9   GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1229,7 +1229,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, 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/109.93     result: Traceback (most recent call last):
+    No: 10  GFLOPS: 0.00/42.36      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
@@ -1247,7 +1247,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/109.93     result: Traceback (most recent call last):
+    No: 11  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1370,7 +1370,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, 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/109.93     result: Traceback (most recent call last):
+    No: 12  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1493,7 +1493,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, 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/109.93     result: Traceback (most recent call last):
+    No: 13  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1616,7 +1616,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, 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/109.93     result: Traceback (most recent call last):
+    No: 14  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1739,7 +1739,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, 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/109.93     result: Traceback (most recent call last):
+    No: 15  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1862,7 +1862,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, 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/109.93     result: Traceback (most recent call last):
+    No: 16  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1985,7 +1985,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, 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/109.93     result: Traceback (most recent call last):
+    No: 17  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -2108,7 +2108,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, 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/109.93     result: Traceback (most recent call last):
+    No: 18  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -2231,7 +2231,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, 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/109.93     result: Traceback (most recent call last):
+    No: 19  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 721, in __call__
         yield remote, remote.load_module(os.path.split(build_result.filename)[1])
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 685, in run_through_rpc
@@ -2319,7 +2319,7 @@ for this template
       15: _PyEval_EvalFrameDefault
       14: 0x0000000000537c30
       13: _PyObject_FastCallKeywords
-      12: 0x00007fbade038fa2
+      12: 0x00007fac9015cfa2
       11: _ctypes_callproc
       10: ffi_call
       9: ffi_call_unix64
@@ -2384,7 +2384,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.30/144.30   result: MeasureResult(costs=(0.00160425705,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.437206745147705, timestamp=1650936866.4114358)       [('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: 144.01/144.01   result: MeasureResult(costs=(0.0016075883400000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4201436042785645, timestamp=1650937096.660884)       [('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
 
 
 
@@ -2437,7 +2437,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
-    Time cost of this operator: 0.001959
+    Time cost of this operator: 0.002048
 
 
 
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 25a7e9a5c..6bf46887d 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
@@ -292,10 +292,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  315.3     98.755   (1, 2, 10, 10, 3)  2       1        
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.073     0.962    (1, 6, 10, 10)     1       1        
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.901     0.282    (1, 1, 10, 10, 3)  1       1        
-    Total_time                                    -                                             319.274   -        -                  -       -        
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  308.9     98.704   (1, 2, 10, 10, 3)  2       1        
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.156     1.009    (1, 6, 10, 10)     1       1        
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.901     0.288    (1, 1, 10, 10, 3)  1       1        
+    Total_time                                    -                                             312.957   -        -                  -       -        
 
 
 
@@ -357,10 +357,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  530.1     99.337   (1, 3, 10, 10, 2)  2       1        
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       2.302     0.431    (1, 6, 10, 10)     1       1        
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         1.238     0.232    (1, 1, 10, 10, 3)  1       1        
-    Total_time                                    -                                             533.641   -        -                  -       -        
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  82.6      96.877   (1, 6, 10, 10, 1)  2       1        
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.74      2.04     (1, 6, 10, 10)     1       1        
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.923     1.082    (1, 1, 10, 10, 3)  1       1        
+    Total_time                                    -                                             85.263    -        -                  -       -        
 
 
 
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 e3aa8c0d6..94587b3ac 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,10 +5,10 @@
 
 Computation times
 =================
-**00:45.151** total execution time for **how_to_work_with_microtvm** files:
+**00:44.948** total execution time for **how_to_work_with_microtvm** files:
 
-- **00:40.964**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)
-- **00:03.573**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)
-- **00:00.206**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_ethosu.py` (``micro_ethosu.py``)
-- **00:00.204**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_reference_vm.py` (``micro_reference_vm.py``)
-- **00:00.204**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tvmc.py` (``micro_tvmc.py``)
+- **00:40.735**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)
+- **00:03.619**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)
+- **00:00.199**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_ethosu.py` (``micro_ethosu.py``)
+- **00:00.198**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_reference_vm.py` (``micro_reference_vm.py``)
+- **00:00.197**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tvmc.py` (``micro_tvmc.py``)
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 6db038b1c..6ae092e52 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,8 +5,8 @@
 
 Computation times
 =================
-**00:08.750** total execution time for **how_to_work_with_relay** files:
+**00:09.235** total execution time for **how_to_work_with_relay** files:
 
-- **00:07.001**: :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)
-- **00:01.532**: :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)
-- **00:00.217**: :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``)
+- **00:07.266**: :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)
+- **00:01.749**: :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)
+- **00:00.220**: :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``)
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 80b1e55ea..0a0953378 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,13 +5,13 @@
 
 Computation times
 =================
-**00:05.720** total execution time for **how_to_work_with_schedules** files:
+**00:05.880** total execution time for **how_to_work_with_schedules** files:
 
-- **00:02.105**: :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)
-- **00:01.131**: :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)
-- **00:00.732**: :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)
-- **00:00.721**: :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)
-- **00:00.316**: :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)
-- **00:00.245**: :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``)
-- **00:00.242**: :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)
-- **00:00.227**: :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)
+- **00:02.178**: :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)
+- **00:01.185**: :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)
+- **00:00.751**: :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)
+- **00:00.743**: :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)
+- **00:00.310**: :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)
+- **00:00.241**: :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)
+- **00:00.241**: :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``)
+- **00:00.230**: :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)
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 2da13c2ba..9aa703477 100644
--- a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
@@ -318,7 +318,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/tmppsyx6sox/input0.cc'\nsource_filename = \"/tmp/tmppsyx6sox/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/tmppiuuyk25/input0.cc'\nsource_filename = \"/tmp/tmppiuuyk25/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 c7f261dba..40c9d5111 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,7 +5,7 @@
 
 Computation times
 =================
-**00:20.799** total execution time for **topic_vta_tutorials_autotvm** files:
+**00:20.737** total execution time for **topic_vta_tutorials_autotvm** files:
 
-- **00:20.589**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``)
-- **00:00.210**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``)
+- **00:20.530**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``)
+- **00:00.207**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``)
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 92118568f..6f32af65a 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
@@ -265,7 +265,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.82s!
+    resnet18_v1 inference graph built in 22.39s!
 
 
 
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 400b5a241..51b41addf 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
@@ -301,7 +301,7 @@ The compilation steps are:
 
     /workspace/python/tvm/relay/build_module.py:439: 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.21s!
+    yolov3-tiny inference graph built in 15.49s!
 
 
 
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 6df87efee..ba73517f3 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,7 +5,7 @@
 
 Computation times
 =================
-**01:29.079** total execution time for **topic_vta_tutorials_frontend** files:
+**01:30.100** total execution time for **topic_vta_tutorials_frontend** files:
 
-- **00:47.320**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)
-- **00:41.759**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``)
+- **00:47.621**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)
+- **00:42.479**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``)
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 9be1b6312..26bf06a9d 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,7 +5,7 @@
 
 Computation times
 =================
-**00:03.566** total execution time for **topic_vta_tutorials_optimize** files:
+**00:03.624** total execution time for **topic_vta_tutorials_optimize** files:
 
-- **00:03.010**: :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)
-- **00:00.556**: :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``)
+- **00:03.050**: :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)
+- **00:00.573**: :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``)
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 4631f7bb5..4dfd63bac 100644
--- a/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
@@ -5,7 +5,7 @@
 
 Computation times
 =================
-**00:01.017** total execution time for **topic_vta_tutorials** files:
+**00:01.036** total execution time for **topic_vta_tutorials** files:
 
-- **00:00.515**: :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``)
-- **00:00.502**: :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``)
+- **00:00.524**: :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``)
+- **00:00.511**: :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``)
diff --git a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
index 3bc194c7e..29b734ff1 100644
--- a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
@@ -306,7 +306,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 92.947 ms
+    Execution time of this operator: 93.331 ms
 
 
 
diff --git a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
index 798e4e09a..a46568344 100644
--- a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
@@ -268,7 +268,7 @@ standard deviation.
 
  .. code-block:: none
 
-    {'mean': 492.4868204800009, 'median': 492.43825864999735, 'std': 0.4381604603750263}
+    {'mean': 496.4294251400008, 'median': 496.22082280000086, 'std': 1.1677423414462251}
 
 
 
@@ -482,31 +482,31 @@ the tuning data to.
 
  .. code-block:: none
 
-
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  1/25]  Current/Best:    8.81/  23.32 GFLOPS | Progress: (4/10) | 5.78 s
    [Task  1/25]  Current/Best:    8.59/  23.32 GFLOPS | Progress: (8/10) | 7.97 s
    [Task  1/25]  Current/Best:    5.75/  23.32 GFLOPS | Progress: (10/10) | 12.13 s Done.
-
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  2/25]  Current/Best:   19.39/  19.39 GFLOPS | Progress: (4/10) | 1.98 s
    [Task  2/25]  Current/Best:   17.85/  19.39 GFLOPS | Progress: (8/10) | 3.11 s
    [Task  2/25]  Current/Best:    6.46/  19.39 GFLOPS | Progress: (10/10) | 3.69 s Done.
-
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  3/25]  Current/Best:   11.55/  14.59 GFLOPS | Progress: (4/10) | 3.41 s
    [Task  3/25]  Current/Best:   24.32/  24.32 GFLOPS | Progress: (8/10) | 4.94 s
    [Task  3/25]  Current/Best:    9.93/  24.32 GFLOPS | Progress: (10/10) | 7.93 s Done.
-
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  4/25]  Current/Best:   15.46/  15.46 GFLOPS | Progress: (4/10) | 2.51 s
    [Task  4/25]  Current/Best:   12.56/  17.59 GFLOPS | Progress: (8/10) | 3.99 s
    [Task  4/25]  Current/Best:    5.64/  19.94 GFLOPS | Progress: (10/10) | 4.79 s Done.
-
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  5/25]  Current/Best:   13.03/  13.03 GFLOPS | Progress: (4/10) | 3.20 s
    [Task  5/25]  Current/Best:   12.66/  18.52 GFLOPS | Progress: (8/10) | 5.39 s
    [Task  5/25]  Current/Best:   11.51/  18.91 GFLOPS | Progress: (10/10) | 6.06 s Done.
-
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  6/25]  Current/Best:    5.93/  15.41 GFLOPS | Progress: (4/10) | 3.28 s
    [Task  6/25]  Current/Best:    5.77/  18.06 GFLOPS | Progress: (8/10) | 5.41 s
    [Task  6/25]  Current/Best:   10.47/  18.06 GFLOPS | Progress: (10/10) | 6.36 s Done.
-
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  7/25]  Current/Best:   16.93/  17.74 GFLOPS | Progress: (4/10) | 2.86 s
    [Task  7/25]  Current/Best:   13.99/  18.38 GFLOPS | Progress: (8/10) | 4.81 s
    [Task  7/25]  Current/Best:   21.74/  21.74 GFLOPS | Progress: (10/10) | 5.53 s Done.
-
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  8/25]  Current/Best:   12.01/  17.15 GFLOPS | Progress: (4/10) | 2.95 s
    [Task  8/25]  Current/Best:   13.12/  17.15 GFLOPS | Progress: (8/10) | 5.91 s
    [Task  8/25]  Current/Best:   17.31/  17.31 GFLOPS | Progress: (10/10) | 7.03 s Done.
-
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  9/25]  Current/Best:    3.32/  16.32 GFLOPS | Progress: (4/10) | 3.41 s
    [Task  9/25]  Current/Best:   13.01/  16.32 GFLOPS | Progress: (8/10) | 10.12 s
    [Task  9/25]  Current/Best:   10.76/  16.32 GFLOPS | Progress: (10/10) | 11.08 s Done.
-
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 10/25]  Current/Best:   13.54/  16.50 GFLOPS | Progress: (4/10) | 2.37 s
    [Task 10/25]  Current/Best:   11.51/  18.69 GFLOPS | Progress: (8/10) | 4.06 s
    [Task 10/25]  Current/Best:    5.84/  18.69 GFLOPS | Progress: (10/10) | 4.89 s Done.
-
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 11/25]  Current/Best:   13.98/  14.22 GFLOPS | Progress: (4/10) | 3.13 s
    [Task 11/25]  Current/Best:   13.20/  16.23 GFLOPS | Progress: (8/10) | 5.17 s
    [Task 11/25]  Current/Best:   23.28/  23.28 GFLOPS | Progress: (10/10) | 5.89 s Done.
-
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 12/25]  Current/Best:   10.52/  13.23 GFLOPS | Progress: (4/10) | 6.51 s
    [Task 12/25]  Current/Best:    4.60/  18.53 GFLOPS | Progress: (8/10) | 8.54 s
    [Task 12/25]  Current/Best:    4.40/  18.53 GFLOPS | Progress: (10/10) | 9.86 s Done.
-
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 13/25]  Current/Best:   17.57/  17.67 GFLOPS | Progress: (4/10) | 3.80 s
    [Task 13/25]  Current/Best:    7.74/  17.67 GFLOPS | Progress: (8/10) | 7.60 s
    [Task 13/25]  Current/Best:    6.16/  17.67 GFLOPS | Progress: (10/10) | 8.89 s Done.
-
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 14/25]  Current/Best:    4.24/  15.93 GFLOPS | Progress: (4/10) | 6.99 s
    [Task 14/25]  Current/Best:   17.58/  19.02 GFLOPS | Progress: (8/10) | 13.83 s
    [Task 14/25]  Current/Best:   15.23/  19.02 GFLOPS | Progress: (10/10) | 15.24 s Done.
-
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 15/25]  Current/Best:   10.79/  18.06 GFLOPS | Progress: (4/10) | 3.35 s
    [Task 15/25]  Current/Best:   23.65/  23.65 GFLOPS | Progress: (8/10) | 5.46 s
    [Task 15/25]  Current/Best:   19.54/  23.65 GFLOPS | Progress: (10/10) | 6.51 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 16/25]  Current/Best:   23.10/  23.10 GFLOPS | Progress: (4/10) | 2.61 s
    [Task 16/25]  Current/Best:   15.10/  23.10 GFLOPS | Progress: (8/10) | 3.99 s
    [Task 16/25]  Current/Best:   18.53/  23.10 GFLOPS | Progress: (10/10) | 4.59 s Done.
-
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 17/25]  Current/Best:   15.74/  15.74 GFLOPS | Progress: (4/10) | 3.25 s
    [Task 17/25]  Current/Best:    9.71/  18.72 GFLOPS | Progress: (8/10) | 5.69 s
    [Task 17/25]  Current/Best:   12.29/  18.72 GFLOPS | Progress: (10/10) | 6.74 s Done.
-
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 18/25]  Current/Best:   12.83/  18.30 GFLOPS | Progress: (4/10) | 2.99 s
    [Task 18/25]  Current/Best:   12.57/  18.30 GFLOPS | Progress: (8/10) | 5.61 s
    [Task 18/25]  Current/Best:   17.81/  18.30 GFLOPS | Progress: (10/10) | 6.52 s Done.
-
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 19/25]  Current/Best:   17.05/  21.46 GFLOPS | Progress: (4/10) | 4.55 s
    [Task 19/25]  Current/Best:    8.24/  21.46 GFLOPS | Progress: (8/10) | 7.30 s
    [Task 19/25]  Current/Best:   18.85/  21.46 GFLOPS | Progress: (10/10) | 8.41 s Done.
-
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 20/25]  Current/Best:   14.15/  14.15 GFLOPS | Progress: (4/10) | 3.00 s Done.
-
    [Task 20/25]  Current/Best:   17.39/  17.39 GFLOPS | Progress: (8/10) | 5.26 s
    [Task 20/25]  Current/Best:   15.19/  17.39 GFLOPS | Progress: (10/10) | 6.21 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 21/25]  Current/Best:   12.53/  12.53 GFLOPS | Progress: (4/10) | 3.90 s
    [Task 21/25]  Current/Best:   17.49/  17.49 GFLOPS | Progress: (8/10) | 6.07 s
    [Task 21/25]  Current/Best:   11.74/  18.91 GFLOPS | Progress: (10/10) | 7.45 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 22/25]  Current/Best:   10.25/  17.74 GFLOPS | Progress: (4/10) | 2.97 s
    [Task 22/25]  Current/Best:   10.68/  20.07 GFLOPS | Progress: (8/10) | 5.69 s
    [Task 22/25]  Current/Best:    8.91/  20.07 GFLOPS | Progress: (10/10) | 6.36 s Done.
-
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 23/25]  Current/Best:   13.12/  22.55 GFLOPS | Progress: (4/10) | 2.88 s
    [Task 23/25]  Current/Best:   18.22/  22.55 GFLOPS | Progress: (8/10) | 4.91 s
    [Task 23/25]  Current/Best:   22.97/  22.97 GFLOPS | Progress: (10/10) | 5.96 s Done.
-
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 24/25]  Current/Best:    9.58/   9.58 GFLOPS | Progress: (4/10) | 13.51 s
    [Task 24/25]  Current/Best:    7.57/   9.58 GFLOPS | Progress: (8/10) | 20.20 s
    [Task 24/25]  Current/Best:    8.48/   9.64 GFLOPS | Progress: (10/10) | 20.70 s
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s Done.
+
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  1/25]  Current/Best:   23.14/  23.64 GFLOPS | Progress: (4/10) | 5.37 s
    [Task  1/25]  Current/Best:    7.07/  23.64 GFLOPS | Progress: (8/10) | 8.96 s
    [Task  1/25]  Current/Best:    6.49/  23.64 GFLOPS | Progress: (10/10) | 11.09 s Done.
+
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  2/25]  Current/Best:   14.88/  14.88 GFLOPS | Progress: (4/10) | 3.28 s
    [Task  2/25]  Current/Best:    8.54/  15.42 GFLOPS | Progress: (8/10) | 4.68 s
    [Task  2/25]  Current/Best:    5.88/  15.42 GFLOPS | Progress: (10/10) | 5.51 s Done.
+
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  3/25]  Current/Best:   14.21/  19.29 GFLOPS | Progress: (4/10) | 3.41 s
    [Task  3/25]  Current/Best:   15.65/  19.29 GFLOPS | Progress: (8/10) | 5.16 s
    [Task  3/25]  Current/Best:   24.23/  24.23 GFLOPS | Progress: (10/10) | 6.51 s Done.
+
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  4/25]  Current/Best:   20.07/  20.07 GFLOPS | Progress: (4/10) | 5.43 s
    [Task  4/25]  Current/Best:   10.38/  20.07 GFLOPS | Progress: (8/10) | 7.68 s
    [Task  4/25]  Current/Best:   12.82/  20.07 GFLOPS | Progress: (10/10) | 8.73 s Done.
+
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  5/25]  Current/Best:   20.78/  20.78 GFLOPS | Progress: (4/10) | 2.57 s
    [Task  5/25]  Current/Best:   14.92/  20.78 GFLOPS | Progress: (8/10) | 4.28 s
    [Task  5/25]  Current/Best:   18.05/  20.78 GFLOPS | Progress: (10/10) | 5.04 s Done.
+
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  6/25]  Current/Best:    9.11/  16.77 GFLOPS | Progress: (4/10) | 2.86 s
    [Task  6/25]  Current/Best:   10.71/  16.77 GFLOPS | Progress: (8/10) | 5.34 s
    [Task  6/25]  Current/Best:   11.12/  16.77 GFLOPS | Progress: (10/10) | 10.99 s Done.
+
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  7/25]  Current/Best:   15.87/  18.53 GFLOPS | Progress: (4/10) | 2.85 s
    [Task  7/25]  Current/Best:   15.49/  21.70 GFLOPS | Progress: (8/10) | 5.88 s
    [Task  7/25]  Current/Best:    6.08/  21.70 GFLOPS | Progress: (10/10) | 6.87 s Done.
+
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  8/25]  Current/Best:   11.54/  18.08 GFLOPS | Progress: (4/10) | 3.65 s
    [Task  8/25]  Current/Best:   15.74/  18.08 GFLOPS | Progress: (8/10) | 12.24 s
    [Task  8/25]  Current/Best:   16.19/  18.08 GFLOPS | Progress: (10/10) | 13.48 s Done.
+
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  9/25]  Current/Best:   19.99/  21.44 GFLOPS | Progress: (4/10) | 2.40 s
    [Task  9/25]  Current/Best:    7.61/  21.44 GFLOPS | Progress: (8/10) | 4.64 s
    [Task  9/25]  Current/Best:   12.44/  21.44 GFLOPS | Progress: (10/10) | 5.37 s Done.
+
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 10/25]  Current/Best:   11.96/  13.02 GFLOPS | Progress: (4/10) | 2.79 s
    [Task 10/25]  Current/Best:   11.88/  14.11 GFLOPS | Progress: (8/10) | 5.88 s
    [Task 10/25]  Current/Best:   13.15/  14.11 GFLOPS | Progress: (10/10) | 6.55 s Done.
+
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 11/25]  Current/Best:   17.85/  17.85 GFLOPS | Progress: (4/10) | 3.47 s
    [Task 11/25]  Current/Best:    8.43/  22.49 GFLOPS | Progress: (8/10) | 6.12 s
    [Task 11/25]  Current/Best:   10.94/  22.49 GFLOPS | Progress: (10/10) | 7.33 s Done.
+
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 12/25]  Current/Best:    6.06/  18.40 GFLOPS | Progress: (4/10) | 3.08 s
    [Task 12/25]  Current/Best:   12.52/  18.40 GFLOPS | Progress: (8/10) | 6.45 s
    [Task 12/25]  Current/Best:   12.74/  18.40 GFLOPS | Progress: (10/10) | 8.63 s Done.
+
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 13/25]  Current/Best:   16.83/  16.83 GFLOPS | Progress: (4/10) | 3.52 s
    [Task 13/25]  Current/Best:   11.71/  18.94 GFLOPS | Progress: (8/10) | 5.57 s
    [Task 13/25]  Current/Best:    6.21/  22.80 GFLOPS | Progress: (10/10) | 6.67 s Done.
+
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 14/25]  Current/Best:   22.14/  22.14 GFLOPS | Progress: (4/10) | 3.23 s
    [Task 14/25]  Current/Best:   17.83/  22.14 GFLOPS | Progress: (8/10) | 5.07 s
    [Task 14/25]  Current/Best:   13.24/  22.14 GFLOPS | Progress: (10/10) | 6.32 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 15/25]  Current/Best:   15.00/  15.00 GFLOPS | Progress: (4/10) | 4.07 s Done.
+
    [Task 15/25]  Current/Best:   22.23/  22.23 GFLOPS | Progress: (8/10) | 5.53 s
    [Task 15/25]  Current/Best:   15.12/  22.23 GFLOPS | Progress: (10/10) | 6.48 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 16/25]  Current/Best:   13.56/  18.32 GFLOPS | Progress: (4/10) | 2.88 s
    [Task 16/25]  Current/Best:    7.41/  18.32 GFLOPS | Progress: (8/10) | 6.56 s
    [Task 16/25]  Current/Best:   12.02/  18.32 GFLOPS | Progress: (10/10) | 7.32 s Done.
+
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 17/25]  Current/Best:   20.01/  20.01 GFLOPS | Progress: (4/10) | 3.28 s
    [Task 17/25]  Current/Best:   14.02/  20.20 GFLOPS | Progress: (8/10) | 5.73 s
    [Task 17/25]  Current/Best:    8.30/  20.20 GFLOPS | Progress: (10/10) | 7.13 s Done.
+
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 18/25]  Current/Best:   11.38/  17.94 GFLOPS | Progress: (4/10) | 4.06 s
    [Task 18/25]  Current/Best:    6.20/  17.94 GFLOPS | Progress: (8/10) | 6.33 s
    [Task 18/25]  Current/Best:    4.37/  17.94 GFLOPS | Progress: (10/10) | 7.46 s Done.
+
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 19/25]  Current/Best:   12.79/  12.79 GFLOPS | Progress: (4/10) | 5.92 s
    [Task 19/25]  Current/Best:   13.65/  19.14 GFLOPS | Progress: (8/10) | 9.27 s
    [Task 19/25]  Current/Best:   10.59/  19.14 GFLOPS | Progress: (10/10) | 12.04 s Done.
+
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 20/25]  Current/Best:    7.23/  16.59 GFLOPS | Progress: (4/10) | 2.98 s
    [Task 20/25]  Current/Best:    4.84/  16.59 GFLOPS | Progress: (8/10) | 6.04 s
    [Task 20/25]  Current/Best:    5.35/  16.59 GFLOPS | Progress: (10/10) | 7.49 s Done.
+
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 21/25]  Current/Best:    2.73/  14.55 GFLOPS | Progress: (4/10) | 2.66 s
    [Task 21/25]  Current/Best:    9.35/  17.27 GFLOPS | Progress: (8/10) | 4.56 s
    [Task 21/25]  Current/Best:   14.23/  17.27 GFLOPS | Progress: (10/10) | 5.47 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 22/25]  Current/Best:    9.26/  20.62 GFLOPS | Progress: (4/10) | 5.88 s
    [Task 22/25]  Current/Best:   10.81/  21.31 GFLOPS | Progress: (8/10) | 7.72 s
    [Task 22/25]  Current/Best:    1.56/  21.31 GFLOPS | Progress: (10/10) | 9.03 s Done.
+
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 23/25]  Current/Best:   18.82/  18.82 GFLOPS | Progress: (4/10) | 4.21 s
    [Task 23/25]  Current/Best:   20.08/  20.08 GFLOPS | Progress: (8/10) | 6.40 s
    [Task 23/25]  Current/Best:   11.15/  20.08 GFLOPS | Progress: (10/10) | 7.61 s Done.
+
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 24/25]  Current/Best:    2.89/   2.89 GFLOPS | Progress: (4/10) | 11.59 s
    [Task 24/25]  Current/Best:    3.35/   7.74 GFLOPS | Progress: (8/10) | 17.65 s
    [Task 24/25]  Current/Best:    0.00/   7.74 GFLOPS | Progress: (10/10) | 34.94 s
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s Done.
      Done.
      Done.
-
    [Task 25/25]  Current/Best:    5.68/   5.68 GFLOPS | Progress: (4/10) | 32.00 s
    [Task 25/25]  Current/Best:    8.24/   9.82 GFLOPS | Progress: (8/10) | 38.79 s
    [Task 25/25]  Current/Best:    0.00/   9.82 GFLOPS | Progress: (10/10) | 54.72 s
+
    [Task 25/25]  Current/Best:    5.17/   5.17 GFLOPS | Progress: (4/10) | 32.46 s
    [Task 25/25]  Current/Best:    9.44/   9.74 GFLOPS | Progress: (8/10) | 48.93 s
    [Task 25/25]  Current/Best:    3.02/   9.74 GFLOPS | Progress: (10/10) | 67.62 s
 
 
 The output from this tuning process will look something like this:
@@ -656,8 +656,8 @@ improvement in comparing the optimized model to the unoptimized model.
 
  .. code-block:: none
 
-    optimized: {'mean': 433.01461281, 'median': 432.68143335000104, 'std': 1.9273175029829053}
-    unoptimized: {'mean': 492.4868204800009, 'median': 492.43825864999735, 'std': 0.4381604603750263}
+    optimized: {'mean': 443.5760590899963, 'median': 443.406954149998, 'std': 1.9480041987469117}
+    unoptimized: {'mean': 496.4294251400008, 'median': 496.22082280000086, 'std': 1.1677423414462251}
 
 
 
@@ -677,7 +677,7 @@ profiling/benchmarking.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 7 minutes  12.025 seconds)
+   **Total running time of the script:** ( 7 minutes  55.864 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 c65295593..fb5a58f23 100644
--- a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
@@ -235,7 +235,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    1.32e-07 secs/op
+    1.316e-07 secs/op
 
 
 
diff --git a/docs/_sources/tutorial/intro_topi.rst.txt b/docs/_sources/tutorial/intro_topi.rst.txt
index f48a99c86..1e8c0b466 100644
--- a/docs/_sources/tutorial/intro_topi.rst.txt
+++ b/docs/_sources/tutorial/intro_topi.rst.txt
@@ -233,7 +233,7 @@ As you can see, scheduled stages of computation have been accumulated and we can
 
  .. code-block:: none
 
-    [stage(a, placeholder(a, 0xe9c4930)), stage(b, placeholder(b, 0x22cd5c80)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min [...]
+    [stage(a, placeholder(a, 0x1af7f540)), stage(b, placeholder(b, 0x23af8a40)), 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 07aa99838..ed3527683 100644
--- a/docs/_sources/tutorial/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorial/sg_execution_times.rst.txt
@@ -5,17 +5,17 @@
 
 Computation times
 =================
-**09:42.057** total execution time for **tutorial** files:
+**10:29.797** total execution time for **tutorial** files:
 
-- **07:12.025**: :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)
-- **00:58.931**: :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)
-- **00:43.680**: :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``)
-- **00:26.124**: :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)
-- **00:19.220**: :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)
-- **00:00.994**: :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)
-- **00:00.718**: :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)
-- **00:00.202**: :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
-- **00:00.044**: :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``)
-- **00:00.041**: :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``)
-- **00:00.039**: :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)
-- **00:00.039**: :ref:`sphx_glr_tutorial_install.py` (``install.py``)
+- **07:55.864**: :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)
+- **00:59.037**: :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)
+- **00:41.755**: :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``)
+- **00:26.436**: :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)
+- **00:24.263**: :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)
+- **00:01.282**: :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)
+- **00:00.730**: :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)
+- **00:00.229**: :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
+- **00:00.053**: :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``)
+- **00:00.050**: :ref:`sphx_glr_tutorial_install.py` (``install.py``)
+- **00:00.049**: :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)
+- **00:00.048**: :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``)
diff --git a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
index 581781aad..721196848 100644
--- a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
+++ b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
@@ -243,7 +243,7 @@ helper function to run a profile of the TVM generated code.
 
  .. code-block:: none
 
-    Numpy running time: 0.000008
+    Numpy running time: 0.000009
     naive: 0.000006
 
 
@@ -438,10 +438,10 @@ We can now compare the different schedules
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                   numpy    7.665929999802756e-06                    1.0
-                   naive    5.851100000000001e-06     0.7632602959002429
-                parallel               6.125e-06       0.798989815998528
-                  vector    2.4549399999999996e-05    3.2024033614488587
+                   numpy    8.64503999991939e-06                     1.0
+                   naive              5.8548e-06      0.6772438299943775
+                parallel              6.1012e-06      0.7057457224092532
+                  vector    2.4558099999999998e-05    2.8407156011110404
 
 
 
@@ -830,7 +830,7 @@ matrix multiplication.
 
  .. code-block:: none
 
-    Numpy running time: 0.018267
+    Numpy running time: 0.018150
 
 
 
@@ -886,7 +886,7 @@ optimizations.
 
  .. code-block:: none
 
-    none: 3.242492
+    none: 3.266304
 
 
 
@@ -985,7 +985,7 @@ schedule.
 
  .. code-block:: none
 
-    blocking: 0.309330
+    blocking: 0.304851
 
 
 
@@ -1077,7 +1077,7 @@ already cache friendly from our previous optimizations.
 
  .. code-block:: none
 
-    vectorization: 0.344343
+    vectorization: 0.335431
     @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], []),
@@ -1149,7 +1149,7 @@ more cache friendly.
 
  .. code-block:: none
 
-    loop permutation: 0.115844
+    loop permutation: 0.121138
     @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], []),
@@ -1246,7 +1246,7 @@ optimized schedule.
 
  .. code-block:: none
 
-    array packing: 0.109139
+    array packing: 0.111152
     @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], []),
@@ -1337,7 +1337,7 @@ to `C` when all the block results are ready.
 
  .. code-block:: none
 
-    block caching: 0.110247
+    block caching: 0.110875
     @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], []),
@@ -1421,7 +1421,7 @@ of thread-level parallelization.
 
  .. code-block:: none
 
-    parallelization: 0.144142
+    parallelization: 0.143373
     @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], []),
@@ -1500,13 +1500,13 @@ working, we can compare the results.
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                    none            3.2424923103                     1.0
-                blocking            0.3093295244     0.09539869174628217
-           vectorization            0.3443432062     0.10619707720082175
-        loop permutation            0.1158436554     0.03572673249895294
-           array packing     0.10913912640000001     0.03365902397156412
-           block caching     0.11024721629999998    0.034000764149784445
-         parallelization     0.14414179659999998     0.04445401339646162
+                    none      3.2663040311000002                     1.0
+                blocking            0.3048511204     0.09333213243389797
+           vectorization            0.3354305102       0.102694209420253
+        loop permutation     0.12113848660000001     0.03708732728079937
+           array packing     0.11115164500000001     0.03402979145286951
+           block caching     0.11087545829999998     0.03394523511721602
+         parallelization            0.1433726599     0.04389446252855895
 
 
 
diff --git a/docs/commit_hash b/docs/commit_hash
index da2aa5373..79e030af8 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-871d4ef679df49538d8a24baab333024d3593ee0
+ce29f02f4cacec8ed346d5f70508cce928b623de
diff --git a/docs/how_to/compile_models/from_mxnet.html b/docs/how_to/compile_models/from_mxnet.html
index 825d6173e..aff4a99c7 100644
--- a/docs/how_to/compile_models/from_mxnet.html
+++ b/docs/how_to/compile_models/from_mxnet.html
@@ -401,7 +401,7 @@
 </div>
 <img alt="../../_images/sphx_glr_from_mxnet_001.png" class="sphx-glr-single-img" src="../../_images/sphx_glr_from_mxnet_001.png" />
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zipa78b8a1c-9489-4097-96cf-30b2630fc516 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip29d4075e-110f-445b-b318-7aa7a7631f39 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 82e079da8..bec8e6bcb 100644
--- a/docs/how_to/compile_models/from_oneflow.html
+++ b/docs/how_to/compile_models/from_oneflow.html
@@ -406,1220 +406,206 @@ 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;07:51, 92.3kB/s]
-  0%|          | 48.0k/41.5M [00:00&lt;04:57, 146kB/s]
-  0%|          | 80.0k/41.5M [00:00&lt;04:26, 163kB/s]
-  0%|          | 136k/41.5M [00:00&lt;03:12, 226kB/s]
-  0%|          | 208k/41.5M [00:01&lt;03:21, 215kB/s]
-  1%|1         | 536k/41.5M [00:01&lt;01:03, 673kB/s]
-  1%|1         | 632k/41.5M [00:01&lt;01:07, 638kB/s]
-  2%|1         | 704k/41.5M [00:01&lt;01:57, 364kB/s]
-  2%|1         | 792k/41.5M [00:02&lt;01:48, 393kB/s]
-  2%|2         | 880k/41.5M [00:02&lt;01:41, 418kB/s]
-  3%|2         | 1.08M/41.5M [00:02&lt;01:40, 423kB/s]
-  3%|2         | 1.24M/41.5M [00:03&lt;01:50, 380kB/s]
-  3%|3         | 1.35M/41.5M [00:03&lt;01:55, 364kB/s]
-  4%|3         | 1.58M/41.5M [00:03&lt;01:19, 526kB/s]
-  4%|3         | 1.65M/41.5M [00:04&lt;01:22, 504kB/s]
-  4%|4         | 1.71M/41.5M [00:04&lt;01:46, 390kB/s]
-  4%|4         | 1.76M/41.5M [00:04&lt;01:53, 367kB/s]
-  4%|4         | 1.80M/41.5M [00:04&lt;02:00, 346kB/s]
-  4%|4         | 1.84M/41.5M [00:05&lt;02:10, 318kB/s]
-  5%|4         | 1.88M/41.5M [00:05&lt;02:20, 295kB/s]
-  5%|4         | 1.91M/41.5M [00:05&lt;02:36, 265kB/s]
-  5%|4         | 1.95M/41.5M [00:05&lt;02:42, 255kB/s]
-  5%|4         | 2.00M/41.5M [00:05&lt;02:38, 261kB/s]
-  5%|4         | 2.04M/41.5M [00:05&lt;02:44, 252kB/s]
-  5%|5         | 2.09M/41.5M [00:06&lt;02:39, 259kB/s]
-  5%|5         | 2.13M/41.5M [00:06&lt;02:36, 264kB/s]
-  5%|5         | 2.16M/41.5M [00:06&lt;04:40, 147kB/s]
-  6%|5         | 2.30M/41.5M [00:06&lt;02:19, 294kB/s]
-  6%|5         | 2.35M/41.5M [00:07&lt;02:21, 289kB/s]
-  6%|5         | 2.39M/41.5M [00:07&lt;02:29, 274kB/s]
-  6%|5         | 2.43M/41.5M [00:07&lt;02:35, 263kB/s]
-  6%|5         | 2.46M/41.5M [00:07&lt;03:35, 190kB/s]
-  6%|6         | 2.52M/41.5M [00:08&lt;03:05, 221kB/s]
-  6%|6         | 2.55M/41.5M [00:08&lt;03:13, 211kB/s]
-  6%|6         | 2.57M/41.5M [00:08&lt;04:29, 152kB/s]
-  6%|6         | 2.61M/41.5M [00:08&lt;04:00, 169kB/s]
-  6%|6         | 2.63M/41.5M [00:09&lt;04:40, 145kB/s]
-  6%|6         | 2.66M/41.5M [00:09&lt;05:21, 127kB/s]
-  6%|6         | 2.67M/41.5M [00:09&lt;05:43, 119kB/s]
-  6%|6         | 2.69M/41.5M [00:09&lt;07:34, 89.6kB/s]
-  7%|6         | 2.71M/41.5M [00:10&lt;06:45, 100kB/s]
-  7%|6         | 2.73M/41.5M [00:10&lt;07:41, 88.0kB/s]
-  7%|6         | 2.74M/41.5M [00:10&lt;08:32, 79.2kB/s]
-  7%|6         | 2.76M/41.5M [00:10&lt;08:45, 77.3kB/s]
-  7%|6         | 2.77M/41.5M [00:10&lt;08:22, 80.7kB/s]
-  7%|6         | 2.79M/41.5M [00:11&lt;08:31, 79.3kB/s]
-  7%|6         | 2.80M/41.5M [00:11&lt;09:17, 72.8kB/s]
-  7%|6         | 2.81M/41.5M [00:11&lt;10:52, 62.2kB/s]
-  7%|6         | 2.84M/41.5M [00:11&lt;08:48, 76.7kB/s]
-  7%|6         | 2.85M/41.5M [00:12&lt;08:23, 80.5kB/s]
-  7%|6         | 2.87M/41.5M [00:12&lt;08:05, 83.5kB/s]
-  7%|6         | 2.88M/41.5M [00:12&lt;07:52, 85.7kB/s]
-  7%|6         | 2.90M/41.5M [00:12&lt;11:00, 61.2kB/s]
-  7%|7         | 2.93M/41.5M [00:13&lt;07:39, 88.0kB/s]
-  7%|7         | 2.95M/41.5M [00:13&lt;08:26, 79.8kB/s]
-  7%|7         | 2.96M/41.5M [00:13&lt;08:09, 82.6kB/s]
-  7%|7         | 2.98M/41.5M [00:13&lt;07:55, 84.9kB/s]
-  7%|7         | 2.99M/41.5M [00:13&lt;07:45, 86.7kB/s]
-  7%|7         | 3.01M/41.5M [00:14&lt;09:43, 69.2kB/s]
-  7%|7         | 3.04M/41.5M [00:14&lt;09:29, 70.8kB/s]
-  7%|7         | 3.06M/41.5M [00:14&lt;08:45, 76.7kB/s]
-  7%|7         | 3.08M/41.5M [00:15&lt;08:49, 76.1kB/s]
-  7%|7         | 3.09M/41.5M [00:15&lt;09:09, 73.3kB/s]
-  7%|7         | 3.09M/41.5M [00:15&lt;10:05, 66.5kB/s]
-  7%|7         | 3.11M/41.5M [00:15&lt;09:10, 73.1kB/s]
-  8%|7         | 3.12M/41.5M [00:15&lt;10:12, 65.7kB/s]
-  8%|7         | 3.13M/41.5M [00:15&lt;09:10, 73.0kB/s]
-  8%|7         | 3.15M/41.5M [00:16&lt;08:33, 78.4kB/s]
-  8%|7         | 3.16M/41.5M [00:16&lt;08:08, 82.2kB/s]
-  8%|7         | 3.18M/41.5M [00:16&lt;07:52, 85.0kB/s]
-  8%|7         | 3.20M/41.5M [00:16&lt;07:41, 87.0kB/s]
-  8%|7         | 3.21M/41.5M [00:16&lt;07:33, 88.4kB/s]
-  8%|7         | 3.23M/41.5M [00:17&lt;07:28, 89.4kB/s]
-  8%|7         | 3.25M/41.5M [00:17&lt;06:26, 104kB/s]
-  8%|7         | 3.27M/41.5M [00:17&lt;07:08, 93.6kB/s]
-  8%|7         | 3.28M/41.5M [00:17&lt;06:42, 99.6kB/s]
-  8%|7         | 3.30M/41.5M [00:17&lt;06:51, 97.2kB/s]
-  8%|7         | 3.31M/41.5M [00:17&lt;06:58, 95.6kB/s]
-  8%|8         | 3.33M/41.5M [00:18&lt;07:03, 94.4kB/s]
-  8%|8         | 3.34M/41.5M [00:18&lt;07:07, 93.7kB/s]
-  8%|8         | 3.36M/41.5M [00:18&lt;07:09, 93.1kB/s]
-  8%|8         | 3.38M/41.5M [00:18&lt;06:40, 99.8kB/s]
-  8%|8         | 3.39M/41.5M [00:18&lt;06:50, 97.3kB/s]
-  8%|8         | 3.41M/41.5M [00:18&lt;06:03, 110kB/s]
-  8%|8         | 3.43M/41.5M [00:19&lt;06:22, 104kB/s]
-  8%|8         | 3.45M/41.5M [00:19&lt;06:37, 100kB/s]
-  8%|8         | 3.47M/41.5M [00:19&lt;05:56, 112kB/s]
-  8%|8         | 3.48M/41.5M [00:19&lt;06:16, 106kB/s]
-  8%|8         | 3.51M/41.5M [00:19&lt;05:45, 115kB/s]
-  9%|8         | 3.53M/41.5M [00:20&lt;05:26, 122kB/s]
-  9%|8         | 3.55M/41.5M [00:20&lt;05:52, 113kB/s]
-  9%|8         | 3.57M/41.5M [00:20&lt;05:30, 120kB/s]
-  9%|8         | 3.59M/41.5M [00:20&lt;05:16, 126kB/s]
-  9%|8         | 3.62M/41.5M [00:20&lt;05:07, 129kB/s]
-  9%|8         | 3.64M/41.5M [00:20&lt;05:01, 132kB/s]
-  9%|8         | 3.67M/41.5M [00:21&lt;04:29, 147kB/s]
-  9%|8         | 3.70M/41.5M [00:21&lt;04:34, 144kB/s]
-  9%|8         | 3.73M/41.5M [00:21&lt;04:13, 156kB/s]
-  9%|9         | 3.75M/41.5M [00:21&lt;04:22, 151kB/s]
-  9%|9         | 3.78M/41.5M [00:21&lt;04:06, 160kB/s]
-  9%|9         | 3.81M/41.5M [00:22&lt;03:56, 167kB/s]
-  9%|9         | 3.84M/41.5M [00:22&lt;04:09, 159kB/s]
-  9%|9         | 3.87M/41.5M [00:22&lt;03:57, 166kB/s]
-  9%|9         | 3.89M/41.5M [00:22&lt;04:27, 147kB/s]
-  9%|9         | 3.92M/41.5M [00:22&lt;03:53, 168kB/s]
- 10%|9         | 3.95M/41.5M [00:22&lt;04:07, 159kB/s]
- 10%|9         | 3.97M/41.5M [00:23&lt;04:17, 153kB/s]
- 10%|9         | 3.99M/41.5M [00:23&lt;04:25, 148kB/s]
- 10%|9         | 4.02M/41.5M [00:23&lt;05:08, 127kB/s]
- 10%|9         | 4.06M/41.5M [00:23&lt;03:38, 179kB/s]
- 10%|9         | 4.09M/41.5M [00:23&lt;03:54, 167kB/s]
- 10%|9         | 4.11M/41.5M [00:24&lt;04:07, 158kB/s]
- 10%|9         | 4.13M/41.5M [00:24&lt;05:16, 124kB/s]
- 10%|#         | 4.16M/41.5M [00:24&lt;04:41, 139kB/s]
- 10%|#         | 4.18M/41.5M [00:24&lt;04:43, 138kB/s]
- 10%|#         | 4.20M/41.5M [00:24&lt;05:09, 126kB/s]
- 10%|#         | 4.23M/41.5M [00:25&lt;05:01, 129kB/s]
- 10%|#         | 4.25M/41.5M [00:25&lt;04:56, 132kB/s]
- 10%|#         | 4.27M/41.5M [00:25&lt;04:52, 133kB/s]
- 10%|#         | 4.30M/41.5M [00:25&lt;04:23, 148kB/s]
- 10%|#         | 4.32M/41.5M [00:25&lt;04:29, 145kB/s]
- 10%|#         | 4.35M/41.5M [00:25&lt;04:32, 143kB/s]
- 11%|#         | 4.38M/41.5M [00:26&lt;04:34, 142kB/s]
- 11%|#         | 4.40M/41.5M [00:26&lt;04:36, 140kB/s]
- 11%|#         | 4.42M/41.5M [00:26&lt;04:13, 154kB/s]
- 11%|#         | 4.45M/41.5M [00:26&lt;04:21, 149kB/s]
- 11%|#         | 4.48M/41.5M [00:26&lt;04:26, 145kB/s]
- 11%|#         | 4.50M/41.5M [00:26&lt;04:06, 157kB/s]
- 11%|#         | 4.53M/41.5M [00:27&lt;04:16, 151kB/s]
- 11%|#         | 4.55M/41.5M [00:27&lt;03:59, 162kB/s]
- 11%|#1        | 4.59M/41.5M [00:27&lt;04:11, 154kB/s]
- 11%|#1        | 4.62M/41.5M [00:27&lt;03:58, 162kB/s]
- 11%|#1        | 4.64M/41.5M [00:27&lt;03:46, 171kB/s]
- 11%|#1        | 4.68M/41.5M [00:28&lt;03:44, 172kB/s]
- 11%|#1        | 4.71M/41.5M [00:28&lt;03:39, 176kB/s]
- 11%|#1        | 4.74M/41.5M [00:28&lt;03:36, 178kB/s]
- 12%|#1        | 4.77M/41.5M [00:28&lt;03:34, 180kB/s]
- 12%|#1        | 4.80M/41.5M [00:28&lt;03:13, 199kB/s]
- 12%|#1        | 4.83M/41.5M [00:29&lt;04:10, 153kB/s]
- 12%|#1        | 4.88M/41.5M [00:29&lt;03:12, 200kB/s]
- 12%|#1        | 4.90M/41.5M [00:29&lt;03:31, 181kB/s]
- 12%|#1        | 4.92M/41.5M [00:29&lt;03:43, 172kB/s]
- 12%|#1        | 4.95M/41.5M [00:29&lt;04:18, 148kB/s]
- 12%|#2        | 4.98M/41.5M [00:29&lt;03:29, 183kB/s]
- 12%|#2        | 5.01M/41.5M [00:30&lt;04:00, 159kB/s]
- 12%|#2        | 5.03M/41.5M [00:30&lt;03:55, 163kB/s]
- 12%|#2        | 5.05M/41.5M [00:30&lt;05:21, 119kB/s]
- 12%|#2        | 5.09M/41.5M [00:30&lt;04:21, 146kB/s]
- 12%|#2        | 5.11M/41.5M [00:30&lt;04:47, 133kB/s]
- 12%|#2        | 5.13M/41.5M [00:31&lt;04:44, 134kB/s]
- 12%|#2        | 5.15M/41.5M [00:31&lt;04:45, 133kB/s]
- 12%|#2        | 5.16M/41.5M [00:31&lt;04:55, 129kB/s]
- 13%|#2        | 5.19M/41.5M [00:31&lt;04:48, 132kB/s]
- 13%|#2        | 5.21M/41.5M [00:31&lt;04:20, 146kB/s]
- 13%|#2        | 5.23M/41.5M [00:31&lt;04:35, 138kB/s]
- 13%|#2        | 5.25M/41.5M [00:32&lt;04:35, 138kB/s]
- 13%|#2        | 5.27M/41.5M [00:32&lt;04:35, 138kB/s]
- 13%|#2        | 5.30M/41.5M [00:32&lt;04:09, 152kB/s]
- 13%|#2        | 5.31M/41.5M [00:32&lt;04:26, 142kB/s]
- 13%|#2        | 5.34M/41.5M [00:32&lt;04:29, 141kB/s]
- 13%|#2        | 5.36M/41.5M [00:32&lt;04:07, 153kB/s]
- 13%|#2        | 5.38M/41.5M [00:32&lt;04:25, 143kB/s]
- 13%|#3        | 5.40M/41.5M [00:33&lt;04:28, 141kB/s]
- 13%|#3        | 5.42M/41.5M [00:33&lt;04:03, 155kB/s]
- 13%|#3        | 5.45M/41.5M [00:33&lt;03:54, 161kB/s]
- 13%|#3        | 5.46M/41.5M [00:33&lt;04:09, 151kB/s]
- 13%|#3        | 5.48M/41.5M [00:33&lt;05:18, 119kB/s]
- 13%|#3        | 5.51M/41.5M [00:33&lt;04:08, 152kB/s]
- 13%|#3        | 5.53M/41.5M [00:34&lt;04:16, 147kB/s]
- 13%|#3        | 5.55M/41.5M [00:34&lt;04:21, 144kB/s]
- 13%|#3        | 5.58M/41.5M [00:34&lt;04:24, 142kB/s]
- 14%|#3        | 5.61M/41.5M [00:34&lt;04:02, 155kB/s]
- 14%|#3        | 5.62M/41.5M [00:34&lt;05:18, 118kB/s]
- 14%|#3        | 5.64M/41.5M [00:34&lt;05:39, 111kB/s]
- 14%|#3        | 5.67M/41.5M [00:35&lt;06:07, 102kB/s]
- 14%|#3        | 5.71M/41.5M [00:35&lt;04:42, 133kB/s]
- 14%|#3        | 5.73M/41.5M [00:35&lt;06:25, 97.4kB/s]
- 14%|#3        | 5.76M/41.5M [00:36&lt;05:59, 104kB/s]
- 14%|#3        | 5.77M/41.5M [00:36&lt;06:08, 102kB/s]
- 14%|#3        | 5.79M/41.5M [00:36&lt;07:48, 79.9kB/s]
- 14%|#4        | 5.81M/41.5M [00:36&lt;06:44, 92.4kB/s]
- 14%|#4        | 5.83M/41.5M [00:37&lt;08:21, 74.5kB/s]
- 14%|#4        | 5.84M/41.5M [00:37&lt;07:58, 78.2kB/s]
- 14%|#4        | 5.86M/41.5M [00:37&lt;07:39, 81.4kB/s]
- 14%|#4        | 5.88M/41.5M [00:37&lt;07:25, 83.9kB/s]
- 14%|#4        | 5.89M/41.5M [00:38&lt;09:08, 68.0kB/s]
- 14%|#4        | 5.90M/41.5M [00:38&lt;09:53, 62.9kB/s]
- 14%|#4        | 5.91M/41.5M [00:38&lt;10:35, 58.7kB/s]
- 14%|#4        | 5.91M/41.5M [00:38&lt;11:13, 55.4kB/s]
- 14%|#4        | 5.93M/41.5M [00:38&lt;09:31, 65.3kB/s]
- 14%|#4        | 5.94M/41.5M [00:39&lt;10:22, 59.8kB/s]
- 14%|#4        | 5.95M/41.5M [00:39&lt;09:00, 68.9kB/s]
- 14%|#4        | 5.96M/41.5M [00:39&lt;12:51, 48.3kB/s]
- 14%|#4        | 5.98M/41.5M [00:39&lt;10:32, 58.9kB/s]
- 14%|#4        | 5.99M/41.5M [00:39&lt;09:12, 67.3kB/s]
- 14%|#4        | 6.00M/41.5M [00:40&lt;10:04, 61.6kB/s]
- 14%|#4        | 6.01M/41.5M [00:40&lt;10:50, 57.2kB/s]
- 15%|#4        | 6.02M/41.5M [00:40&lt;09:14, 67.0kB/s]
- 15%|#4        | 6.03M/41.5M [00:40&lt;10:10, 60.9kB/s]
- 15%|#4        | 6.05M/41.5M [00:40&lt;08:52, 69.8kB/s]
- 15%|#4        | 6.05M/41.5M [00:40&lt;09:51, 62.8kB/s]
- 15%|#4        | 6.07M/41.5M [00:41&lt;09:17, 66.6kB/s]
- 15%|#4        | 6.09M/41.5M [00:41&lt;08:23, 73.7kB/s]
- 15%|#4        | 6.09M/41.5M [00:41&lt;08:45, 70.6kB/s]
- 15%|#4        | 6.12M/41.5M [00:41&lt;07:26, 83.0kB/s]
- 15%|#4        | 6.13M/41.5M [00:41&lt;07:13, 85.5kB/s]
- 15%|#4        | 6.15M/41.5M [00:42&lt;07:04, 87.3kB/s]
- 15%|#4        | 6.16M/41.5M [00:42&lt;06:48, 90.7kB/s]
- 15%|#4        | 6.18M/41.5M [00:42&lt;06:17, 98.1kB/s]
- 15%|#4        | 6.20M/41.5M [00:42&lt;05:59, 103kB/s]
- 15%|#4        | 6.21M/41.5M [00:42&lt;05:44, 107kB/s]
- 15%|#5        | 6.23M/41.5M [00:42&lt;05:32, 111kB/s]
- 15%|#5        | 6.24M/41.5M [00:43&lt;05:53, 104kB/s]
- 15%|#5        | 6.26M/41.5M [00:43&lt;05:29, 112kB/s]
- 15%|#5        | 6.28M/41.5M [00:43&lt;05:05, 121kB/s]
- 15%|#5        | 6.30M/41.5M [00:43&lt;05:15, 117kB/s]
- 15%|#5        | 6.33M/41.5M [00:43&lt;04:58, 123kB/s]
- 15%|#5        | 6.35M/41.5M [00:43&lt;04:48, 128kB/s]
- 15%|#5        | 6.38M/41.5M [00:44&lt;04:41, 131kB/s]
- 15%|#5        | 6.39M/41.5M [00:44&lt;06:20, 96.8kB/s]
- 15%|#5        | 6.43M/41.5M [00:44&lt;04:08, 148kB/s]
- 16%|#5        | 6.45M/41.5M [00:44&lt;04:13, 145kB/s]
- 16%|#5        | 6.48M/41.5M [00:44&lt;04:17, 143kB/s]
- 16%|#5        | 6.50M/41.5M [00:45&lt;05:18, 115kB/s]
- 16%|#5        | 6.52M/41.5M [00:45&lt;04:57, 123kB/s]
- 16%|#5        | 6.54M/41.5M [00:45&lt;05:19, 115kB/s]
- 16%|#5        | 6.56M/41.5M [00:45&lt;05:02, 121kB/s]
- 16%|#5        | 6.58M/41.5M [00:45&lt;05:24, 113kB/s]
- 16%|#5        | 6.60M/41.5M [00:46&lt;05:31, 110kB/s]
- 16%|#5        | 6.62M/41.5M [00:46&lt;05:18, 115kB/s]
- 16%|#6        | 6.64M/41.5M [00:46&lt;05:27, 112kB/s]
- 16%|#6        | 6.66M/41.5M [00:46&lt;06:52, 88.5kB/s]
- 16%|#6        | 6.68M/41.5M [00:46&lt;06:32, 93.1kB/s]
- 16%|#6        | 6.70M/41.5M [00:47&lt;05:21, 113kB/s]
- 16%|#6        | 6.72M/41.5M [00:47&lt;05:39, 107kB/s]
- 16%|#6        | 6.73M/41.5M [00:47&lt;07:35, 80.1kB/s]
- 16%|#6        | 6.77M/41.5M [00:47&lt;06:10, 98.3kB/s]
- 16%|#6        | 6.78M/41.5M [00:48&lt;06:16, 96.7kB/s]
- 16%|#6        | 6.80M/41.5M [00:48&lt;06:21, 95.5kB/s]
- 16%|#6        | 6.81M/41.5M [00:48&lt;06:54, 87.7kB/s]
- 16%|#6        | 6.83M/41.5M [00:48&lt;08:06, 74.7kB/s]
- 16%|#6        | 6.84M/41.5M [00:48&lt;08:13, 73.7kB/s]
- 17%|#6        | 6.86M/41.5M [00:49&lt;07:45, 78.1kB/s]
- 17%|#6        | 6.88M/41.5M [00:49&lt;07:24, 81.6kB/s]
- 17%|#6        | 6.89M/41.5M [00:49&lt;07:10, 84.3kB/s]
- 17%|#6        | 6.91M/41.5M [00:49&lt;06:59, 86.4kB/s]
- 17%|#6        | 6.92M/41.5M [00:49&lt;06:52, 87.9kB/s]
- 17%|#6        | 6.94M/41.5M [00:50&lt;06:46, 89.0kB/s]
- 17%|#6        | 6.95M/41.5M [00:50&lt;06:43, 89.8kB/s]
- 17%|#6        | 6.97M/41.5M [00:50&lt;06:40, 90.4kB/s]
- 17%|#6        | 6.98M/41.5M [00:50&lt;06:38, 90.8kB/s]
- 17%|#6        | 7.00M/41.5M [00:50&lt;06:37, 91.1kB/s]
- 17%|#6        | 7.02M/41.5M [00:51&lt;07:51, 76.7kB/s]
- 17%|#6        | 7.05M/41.5M [00:51&lt;06:14, 96.4kB/s]
- 17%|#7        | 7.06M/41.5M [00:51&lt;06:19, 95.2kB/s]
- 17%|#7        | 7.08M/41.5M [00:51&lt;06:22, 94.2kB/s]
- 17%|#7        | 7.09M/41.5M [00:51&lt;06:25, 93.6kB/s]
- 17%|#7        | 7.11M/41.5M [00:52&lt;06:27, 93.1kB/s]
- 17%|#7        | 7.12M/41.5M [00:52&lt;08:21, 71.8kB/s]
- 17%|#7        | 7.16M/41.5M [00:52&lt;06:46, 88.5kB/s]
- 17%|#7        | 7.17M/41.5M [00:52&lt;06:43, 89.2kB/s]
- 17%|#7        | 7.19M/41.5M [00:53&lt;06:40, 89.7kB/s]
- 17%|#7        | 7.20M/41.5M [00:53&lt;06:38, 90.3kB/s]
- 17%|#7        | 7.22M/41.5M [00:53&lt;06:36, 90.7kB/s]
- 17%|#7        | 7.23M/41.5M [00:53&lt;06:34, 91.0kB/s]
- 17%|#7        | 7.25M/41.5M [00:53&lt;06:33, 91.2kB/s]
- 18%|#7        | 7.27M/41.5M [00:53&lt;06:58, 85.7kB/s]
- 18%|#7        | 7.28M/41.5M [00:54&lt;06:50, 87.4kB/s]
- 18%|#7        | 7.30M/41.5M [00:54&lt;06:44, 88.7kB/s]
- 18%|#7        | 7.31M/41.5M [00:54&lt;06:13, 95.9kB/s]
- 18%|#7        | 7.33M/41.5M [00:54&lt;06:18, 94.6kB/s]
- 18%|#7        | 7.34M/41.5M [00:54&lt;06:22, 93.6kB/s]
- 18%|#7        | 7.36M/41.5M [00:54&lt;06:24, 93.1kB/s]
- 18%|#7        | 7.38M/41.5M [00:55&lt;06:26, 92.6kB/s]
- 18%|#7        | 7.39M/41.5M [00:55&lt;06:27, 92.4kB/s]
- 18%|#7        | 7.41M/41.5M [00:55&lt;05:37, 106kB/s]
- 18%|#7        | 7.44M/41.5M [00:55&lt;05:09, 116kB/s]
- 18%|#7        | 7.45M/41.5M [00:55&lt;05:29, 108kB/s]
- 18%|#8        | 7.48M/41.5M [00:56&lt;05:04, 117kB/s]
- 18%|#8        | 7.50M/41.5M [00:56&lt;06:15, 94.8kB/s]
- 18%|#8        | 7.53M/41.5M [00:56&lt;06:20, 93.6kB/s]
- 18%|#8        | 7.57M/41.5M [00:56&lt;05:02, 117kB/s]
- 18%|#8        | 7.59M/41.5M [00:57&lt;05:35, 106kB/s]
- 18%|#8        | 7.60M/41.5M [00:57&lt;05:46, 103kB/s]
- 18%|#8        | 7.62M/41.5M [00:57&lt;05:55, 99.8kB/s]
- 18%|#8        | 7.63M/41.5M [00:57&lt;06:03, 97.7kB/s]
- 18%|#8        | 7.65M/41.5M [00:57&lt;06:09, 96.0kB/s]
- 18%|#8        | 7.66M/41.5M [00:58&lt;08:57, 66.0kB/s]
- 19%|#8        | 7.70M/41.5M [00:58&lt;06:22, 92.5kB/s]
- 19%|#8        | 7.72M/41.5M [00:58&lt;06:23, 92.3kB/s]
- 19%|#8        | 7.73M/41.5M [00:58&lt;06:24, 92.1kB/s]
- 19%|#8        | 7.75M/41.5M [00:59&lt;06:24, 92.0kB/s]
- 19%|#8        | 7.77M/41.5M [00:59&lt;06:24, 92.0kB/s]
- 19%|#8        | 7.78M/41.5M [00:59&lt;06:24, 91.9kB/s]
- 19%|#8        | 7.80M/41.5M [00:59&lt;06:24, 91.9kB/s]
- 19%|#8        | 7.81M/41.5M [01:00&lt;08:16, 71.2kB/s]
- 19%|#8        | 7.84M/41.5M [01:00&lt;05:58, 98.4kB/s]
- 19%|#8        | 7.86M/41.5M [01:00&lt;06:04, 96.7kB/s]
- 19%|#8        | 7.88M/41.5M [01:00&lt;06:54, 84.9kB/s]
- 19%|#9        | 7.89M/41.5M [01:01&lt;08:29, 69.1kB/s]
- 19%|#9        | 7.91M/41.5M [01:01&lt;08:30, 68.9kB/s]
- 19%|#9        | 7.94M/41.5M [01:01&lt;09:58, 58.7kB/s]
- 19%|#9        | 7.95M/41.5M [01:02&lt;11:32, 50.8kB/s]
- 19%|#9        | 7.98M/41.5M [01:02&lt;09:00, 65.0kB/s]
- 19%|#9        | 7.98M/41.5M [01:02&lt;09:32, 61.4kB/s]
- 19%|#9        | 8.00M/41.5M [01:02&lt;08:37, 67.8kB/s]
- 19%|#9        | 8.01M/41.5M [01:03&lt;09:19, 62.7kB/s]
- 19%|#9        | 8.02M/41.5M [01:03&lt;09:59, 58.5kB/s]
- 19%|#9        | 8.03M/41.5M [01:03&lt;09:14, 63.3kB/s]
- 19%|#9        | 8.04M/41.5M [01:03&lt;09:19, 62.7kB/s]
- 19%|#9        | 8.05M/41.5M [01:03&lt;10:05, 57.9kB/s]
- 19%|#9        | 8.06M/41.5M [01:03&lt;08:37, 67.7kB/s]
- 19%|#9        | 8.08M/41.5M [01:04&lt;08:21, 69.8kB/s]
- 19%|#9        | 8.09M/41.5M [01:04&lt;08:37, 67.7kB/s]
- 20%|#9        | 8.10M/41.5M [01:04&lt;08:21, 69.9kB/s]
- 20%|#9        | 8.11M/41.5M [01:04&lt;08:37, 67.7kB/s]
- 20%|#9        | 8.13M/41.5M [01:04&lt;07:01, 82.9kB/s]
- 20%|#9        | 8.15M/41.5M [01:05&lt;06:48, 85.5kB/s]
- 20%|#9        | 8.16M/41.5M [01:05&lt;06:40, 87.3kB/s]
- 20%|#9        | 8.18M/41.5M [01:05&lt;06:34, 88.6kB/s]
- 20%|#9        | 8.20M/41.5M [01:05&lt;06:01, 96.4kB/s]
- 20%|#9        | 8.21M/41.5M [01:05&lt;05:33, 105kB/s]
- 20%|#9        | 8.23M/41.5M [01:05&lt;05:19, 109kB/s]
- 20%|#9        | 8.24M/41.5M [01:06&lt;07:31, 77.2kB/s]
- 20%|#9        | 8.27M/41.5M [01:06&lt;05:30, 105kB/s]
- 20%|#9        | 8.29M/41.5M [01:06&lt;05:42, 102kB/s]
- 20%|##        | 8.30M/41.5M [01:06&lt;07:31, 77.1kB/s]
- 20%|##        | 8.33M/41.5M [01:07&lt;06:20, 91.5kB/s]
- 20%|##        | 8.34M/41.5M [01:07&lt;06:19, 91.6kB/s]
- 20%|##        | 8.36M/41.5M [01:07&lt;07:08, 81.1kB/s]
- 20%|##        | 8.38M/41.5M [01:07&lt;06:54, 83.8kB/s]
- 20%|##        | 8.39M/41.5M [01:08&lt;08:38, 67.0kB/s]
- 20%|##        | 8.41M/41.5M [01:08&lt;06:52, 84.2kB/s]
- 20%|##        | 8.43M/41.5M [01:08&lt;06:42, 86.1kB/s]
- 20%|##        | 8.45M/41.5M [01:08&lt;07:06, 81.2kB/s]
- 20%|##        | 8.46M/41.5M [01:08&lt;06:52, 83.9kB/s]
- 20%|##        | 8.48M/41.5M [01:09&lt;06:42, 86.1kB/s]
- 20%|##        | 8.49M/41.5M [01:09&lt;06:02, 95.5kB/s]
- 21%|##        | 8.51M/41.5M [01:09&lt;06:06, 94.4kB/s]
- 21%|##        | 8.52M/41.5M [01:09&lt;06:09, 93.6kB/s]
- 21%|##        | 8.54M/41.5M [01:09&lt;06:11, 93.1kB/s]
- 21%|##        | 8.55M/41.5M [01:09&lt;06:12, 92.7kB/s]
- 21%|##        | 8.57M/41.5M [01:10&lt;06:13, 92.4kB/s]
- 21%|##        | 8.59M/41.5M [01:10&lt;06:14, 92.2kB/s]
- 21%|##        | 8.60M/41.5M [01:10&lt;06:14, 92.1kB/s]
- 21%|##        | 8.62M/41.5M [01:10&lt;05:33, 103kB/s]
- 21%|##        | 8.63M/41.5M [01:10&lt;05:08, 112kB/s]
- 21%|##        | 8.65M/41.5M [01:10&lt;05:23, 107kB/s]
- 21%|##        | 8.66M/41.5M [01:10&lt;05:10, 111kB/s]
- 21%|##        | 8.68M/41.5M [01:11&lt;07:22, 77.8kB/s]
- 21%|##        | 8.70M/41.5M [01:11&lt;06:16, 91.4kB/s]
- 21%|##1       | 8.73M/41.5M [01:11&lt;04:52, 117kB/s]
- 21%|##1       | 8.74M/41.5M [01:12&lt;07:19, 78.1kB/s]
- 21%|##1       | 8.77M/41.5M [01:12&lt;05:06, 112kB/s]
- 21%|##1       | 8.79M/41.5M [01:12&lt;05:21, 107kB/s]
- 21%|##1       | 8.80M/41.5M [01:12&lt;05:34, 103kB/s]
- 21%|##1       | 8.82M/41.5M [01:12&lt;06:08, 93.1kB/s]
- 21%|##1       | 8.84M/41.5M [01:12&lt;06:51, 83.2kB/s]
- 21%|##1       | 8.85M/41.5M [01:13&lt;06:40, 85.5kB/s]
- 21%|##1       | 8.87M/41.5M [01:13&lt;08:19, 68.5kB/s]
- 21%|##1       | 8.89M/41.5M [01:13&lt;08:18, 68.6kB/s]
- 21%|##1       | 8.91M/41.5M [01:14&lt;06:50, 83.3kB/s]
- 22%|##1       | 8.93M/41.5M [01:14&lt;07:57, 71.6kB/s]
- 22%|##1       | 8.95M/41.5M [01:14&lt;08:20, 68.2kB/s]
- 22%|##1       | 8.95M/41.5M [01:14&lt;08:18, 68.5kB/s]
- 22%|##1       | 8.97M/41.5M [01:15&lt;10:15, 55.4kB/s]
- 22%|##1       | 8.99M/41.5M [01:15&lt;07:47, 72.9kB/s]
- 22%|##1       | 9.01M/41.5M [01:15&lt;08:27, 67.1kB/s]
- 22%|##1       | 9.02M/41.5M [01:15&lt;07:48, 72.6kB/s]
- 22%|##1       | 9.03M/41.5M [01:15&lt;07:51, 72.2kB/s]
- 22%|##1       | 9.05M/41.5M [01:16&lt;08:00, 70.8kB/s]
- 22%|##1       | 9.06M/41.5M [01:16&lt;07:25, 76.3kB/s]
- 22%|##1       | 9.08M/41.5M [01:16&lt;07:01, 80.6kB/s]
- 22%|##1       | 9.09M/41.5M [01:16&lt;07:24, 76.3kB/s]
- 22%|##1       | 9.10M/41.5M [01:16&lt;07:32, 75.1kB/s]
- 22%|##1       | 9.11M/41.5M [01:17&lt;09:23, 60.3kB/s]
- 22%|##1       | 9.12M/41.5M [01:17&lt;07:24, 76.3kB/s]
- 22%|##2       | 9.14M/41.5M [01:17&lt;11:58, 47.2kB/s]
- 22%|##2       | 9.15M/41.5M [01:18&lt;13:38, 41.4kB/s]
- 22%|##2       | 9.16M/41.5M [01:18&lt;15:40, 36.0kB/s]
- 22%|##2       | 9.18M/41.5M [01:18&lt;12:25, 45.4kB/s]
- 22%|##2       | 9.19M/41.5M [01:19&lt;12:24, 45.5kB/s]
- 22%|##2       | 9.20M/41.5M [01:19&lt;12:22, 45.6kB/s]
- 22%|##2       | 9.20M/41.5M [01:19&lt;12:21, 45.7kB/s]
- 22%|##2       | 9.21M/41.5M [01:19&lt;12:20, 45.7kB/s]
- 22%|##2       | 9.22M/41.5M [01:19&lt;12:19, 45.8kB/s]
- 22%|##2       | 9.23M/41.5M [01:19&lt;12:18, 45.8kB/s]
- 22%|##2       | 9.23M/41.5M [01:20&lt;12:18, 45.8kB/s]
- 22%|##2       | 9.24M/41.5M [01:20&lt;12:17, 45.8kB/s]
- 22%|##2       | 9.26M/41.5M [01:20&lt;09:30, 59.2kB/s]
- 22%|##2       | 9.27M/41.5M [01:20&lt;08:11, 68.8kB/s]
- 22%|##2       | 9.29M/41.5M [01:20&lt;07:26, 75.5kB/s]
- 22%|##2       | 9.30M/41.5M [01:21&lt;08:25, 66.8kB/s]
- 22%|##2       | 9.31M/41.5M [01:21&lt;07:34, 74.2kB/s]
- 23%|##2       | 9.34M/41.5M [01:21&lt;06:02, 93.1kB/s]
- 23%|##2       | 9.35M/41.5M [01:21&lt;06:03, 92.7kB/s]
- 23%|##2       | 9.37M/41.5M [01:21&lt;06:04, 92.4kB/s]
- 23%|##2       | 9.39M/41.5M [01:21&lt;05:17, 106kB/s]
- 23%|##2       | 9.41M/41.5M [01:22&lt;05:30, 102kB/s]
- 23%|##2       | 9.44M/41.5M [01:22&lt;04:26, 126kB/s]
- 23%|##2       | 9.46M/41.5M [01:22&lt;04:19, 130kB/s]
- 23%|##2       | 9.50M/41.5M [01:22&lt;03:30, 160kB/s]
- 23%|##2       | 9.52M/41.5M [01:22&lt;04:01, 139kB/s]
- 23%|##3       | 9.56M/41.5M [01:22&lt;03:06, 180kB/s]
- 23%|##3       | 9.59M/41.5M [01:23&lt;03:20, 167kB/s]
- 23%|##3       | 9.62M/41.5M [01:23&lt;03:14, 172kB/s]
- 23%|##3       | 9.64M/41.5M [01:23&lt;03:26, 162kB/s]
- 23%|##3       | 9.66M/41.5M [01:23&lt;03:35, 155kB/s]
- 23%|##3       | 9.68M/41.5M [01:24&lt;05:19, 104kB/s]
- 23%|##3       | 9.70M/41.5M [01:24&lt;04:56, 112kB/s]
- 23%|##3       | 9.73M/41.5M [01:24&lt;04:14, 131kB/s]
- 24%|##3       | 9.76M/41.5M [01:24&lt;04:10, 133kB/s]
- 24%|##3       | 9.77M/41.5M [01:24&lt;04:34, 121kB/s]
- 24%|##3       | 9.80M/41.5M [01:24&lt;04:23, 126kB/s]
- 24%|##3       | 9.81M/41.5M [01:25&lt;06:09, 89.9kB/s]
- 24%|##3       | 9.83M/41.5M [01:25&lt;06:28, 85.4kB/s]
- 24%|##3       | 9.87M/41.5M [01:25&lt;04:18, 128kB/s]
- 24%|##3       | 9.88M/41.5M [01:25&lt;04:39, 118kB/s]
- 24%|##3       | 9.90M/41.5M [01:26&lt;04:58, 111kB/s]
- 24%|##3       | 9.92M/41.5M [01:26&lt;04:58, 111kB/s]
- 24%|##3       | 9.94M/41.5M [01:26&lt;04:52, 113kB/s]
- 24%|##3       | 9.95M/41.5M [01:26&lt;05:09, 107kB/s]
- 24%|##4       | 9.98M/41.5M [01:26&lt;05:04, 108kB/s]
- 24%|##4       | 9.99M/41.5M [01:26&lt;04:57, 111kB/s]
- 24%|##4       | 10.0M/41.5M [01:27&lt;04:56, 111kB/s]
- 24%|##4       | 10.0M/41.5M [01:27&lt;04:51, 113kB/s]
- 24%|##4       | 10.0M/41.5M [01:27&lt;07:06, 77.3kB/s]
- 24%|##4       | 10.1M/41.5M [01:27&lt;04:39, 118kB/s]
- 24%|##4       | 10.1M/41.5M [01:28&lt;04:55, 111kB/s]
- 24%|##4       | 10.1M/41.5M [01:28&lt;04:38, 118kB/s]
- 24%|##4       | 10.1M/41.5M [01:28&lt;04:55, 111kB/s]
- 25%|##4       | 10.2M/41.5M [01:28&lt;04:37, 118kB/s]
- 25%|##4       | 10.2M/41.5M [01:28&lt;04:24, 124kB/s]
- 25%|##4       | 10.2M/41.5M [01:29&lt;06:08, 88.9kB/s]
- 25%|##4       | 10.3M/41.5M [01:29&lt;04:16, 128kB/s]
- 25%|##4       | 10.3M/41.5M [01:29&lt;04:12, 130kB/s]
- 25%|##4       | 10.3M/41.5M [01:29&lt;04:33, 120kB/s]
- 25%|##4       | 10.3M/41.5M [01:29&lt;04:50, 113kB/s]
- 25%|##4       | 10.3M/41.5M [01:30&lt;04:45, 115kB/s]
- 25%|##4       | 10.4M/41.5M [01:30&lt;04:28, 122kB/s]
- 25%|##5       | 10.4M/41.5M [01:30&lt;04:18, 126kB/s]
- 25%|##5       | 10.4M/41.5M [01:30&lt;04:11, 130kB/s]
- 25%|##5       | 10.4M/41.5M [01:30&lt;04:35, 118kB/s]
- 25%|##5       | 10.4M/41.5M [01:30&lt;04:22, 124kB/s]
- 25%|##5       | 10.5M/41.5M [01:31&lt;04:13, 128kB/s]
- 25%|##5       | 10.5M/41.5M [01:31&lt;04:08, 131kB/s]
- 25%|##5       | 10.5M/41.5M [01:31&lt;04:32, 119kB/s]
- 25%|##5       | 10.5M/41.5M [01:31&lt;04:20, 125kB/s]
- 25%|##5       | 10.5M/41.5M [01:31&lt;04:12, 129kB/s]
- 25%|##5       | 10.6M/41.5M [01:32&lt;04:06, 131kB/s]
- 26%|##5       | 10.6M/41.5M [01:32&lt;03:40, 147kB/s]
- 26%|##5       | 10.6M/41.5M [01:32&lt;05:09, 105kB/s]
- 26%|##5       | 10.7M/41.5M [01:32&lt;05:08, 105kB/s]
- 26%|##5       | 10.7M/41.5M [01:33&lt;03:46, 143kB/s]
- 26%|##5       | 10.7M/41.5M [01:33&lt;03:47, 142kB/s]
- 26%|##5       | 10.8M/41.5M [01:33&lt;03:49, 141kB/s]
- 26%|##5       | 10.8M/41.5M [01:33&lt;03:50, 140kB/s]
- 26%|##6       | 10.8M/41.5M [01:33&lt;03:51, 139kB/s]
- 26%|##6       | 10.8M/41.5M [01:33&lt;03:51, 139kB/s]
- 26%|##6       | 10.9M/41.5M [01:34&lt;03:31, 152kB/s]
- 26%|##6       | 10.9M/41.5M [01:34&lt;03:37, 148kB/s]
- 26%|##6       | 10.9M/41.5M [01:34&lt;04:22, 122kB/s]
- 26%|##6       | 10.9M/41.5M [01:34&lt;05:25, 98.6kB/s]
- 26%|##6       | 11.0M/41.5M [01:35&lt;03:34, 149kB/s]
- 26%|##6       | 11.0M/41.5M [01:35&lt;03:52, 138kB/s]
- 27%|##6       | 11.0M/41.5M [01:35&lt;03:58, 134kB/s]
- 27%|##6       | 11.0M/41.5M [01:35&lt;03:56, 135kB/s]
- 27%|##6       | 11.0M/41.5M [01:35&lt;03:55, 136kB/s]
- 27%|##6       | 11.1M/41.5M [01:35&lt;03:54, 136kB/s]
- 27%|##6       | 11.1M/41.5M [01:36&lt;04:37, 115kB/s]
- 27%|##6       | 11.1M/41.5M [01:36&lt;03:36, 147kB/s]
- 27%|##6       | 11.1M/41.5M [01:36&lt;03:45, 141kB/s]
- 27%|##6       | 11.2M/41.5M [01:36&lt;03:47, 140kB/s]
- 27%|##6       | 11.2M/41.5M [01:36&lt;03:48, 139kB/s]
- 27%|##7       | 11.2M/41.5M [01:37&lt;03:48, 139kB/s]
- 27%|##7       | 11.2M/41.5M [01:37&lt;03:49, 138kB/s]
- 27%|##7       | 11.3M/41.5M [01:37&lt;04:59, 106kB/s]
- 27%|##7       | 11.3M/41.5M [01:37&lt;03:33, 148kB/s]
- 27%|##7       | 11.3M/41.5M [01:37&lt;03:37, 145kB/s]
- 27%|##7       | 11.4M/41.5M [01:38&lt;03:40, 143kB/s]
- 27%|##7       | 11.4M/41.5M [01:38&lt;03:43, 142kB/s]
- 27%|##7       | 11.4M/41.5M [01:38&lt;03:44, 140kB/s]
- 28%|##7       | 11.4M/41.5M [01:38&lt;03:45, 140kB/s]
- 28%|##7       | 11.5M/41.5M [01:38&lt;03:26, 152kB/s]
- 28%|##7       | 11.5M/41.5M [01:39&lt;04:43, 111kB/s]
- 28%|##7       | 11.5M/41.5M [01:39&lt;03:28, 151kB/s]
- 28%|##7       | 11.5M/41.5M [01:39&lt;03:33, 147kB/s]
- 28%|##7       | 11.6M/41.5M [01:39&lt;03:37, 144kB/s]
- 28%|##7       | 11.6M/41.5M [01:39&lt;04:02, 129kB/s]
- 28%|##7       | 11.6M/41.5M [01:39&lt;03:42, 141kB/s]
- 28%|##8       | 11.6M/41.5M [01:40&lt;03:43, 140kB/s]
- 28%|##8       | 11.6M/41.5M [01:40&lt;03:44, 139kB/s]
- 28%|##8       | 11.7M/41.5M [01:40&lt;03:24, 153kB/s]
- 28%|##8       | 11.7M/41.5M [01:40&lt;03:30, 148kB/s]
- 28%|##8       | 11.7M/41.5M [01:40&lt;03:16, 159kB/s]
- 28%|##8       | 11.7M/41.5M [01:40&lt;03:24, 152kB/s]
- 28%|##8       | 11.8M/41.5M [01:41&lt;03:15, 160kB/s]
- 28%|##8       | 11.8M/41.5M [01:41&lt;03:28, 149kB/s]
- 28%|##8       | 11.8M/41.5M [01:41&lt;03:17, 157kB/s]
- 29%|##8       | 11.8M/41.5M [01:41&lt;03:05, 167kB/s]
- 29%|##8       | 11.9M/41.5M [01:41&lt;03:18, 157kB/s]
- 29%|##8       | 11.9M/41.5M [01:41&lt;03:09, 164kB/s]
- 29%|##8       | 11.9M/41.5M [01:41&lt;03:04, 168kB/s]
- 29%|##8       | 11.9M/41.5M [01:42&lt;03:16, 158kB/s]
- 29%|##8       | 11.9M/41.5M [01:42&lt;03:09, 163kB/s]
- 29%|##8       | 12.0M/41.5M [01:42&lt;03:00, 172kB/s]
- 29%|##8       | 12.0M/41.5M [01:42&lt;02:57, 175kB/s]
- 29%|##8       | 12.0M/41.5M [01:42&lt;02:54, 177kB/s]
- 29%|##9       | 12.0M/41.5M [01:42&lt;02:50, 182kB/s]
- 29%|##9       | 12.1M/41.5M [01:42&lt;02:35, 198kB/s]
- 29%|##9       | 12.1M/41.5M [01:43&lt;02:39, 193kB/s]
- 29%|##9       | 12.1M/41.5M [01:43&lt;02:42, 189kB/s]
- 29%|##9       | 12.1M/41.5M [01:43&lt;02:40, 191kB/s]
- 29%|##9       | 12.2M/41.5M [01:43&lt;02:29, 205kB/s]
- 29%|##9       | 12.2M/41.5M [01:43&lt;02:34, 198kB/s]
- 29%|##9       | 12.2M/41.5M [01:43&lt;02:39, 193kB/s]
- 30%|##9       | 12.2M/41.5M [01:43&lt;02:28, 207kB/s]
- 30%|##9       | 12.3M/41.5M [01:43&lt;02:18, 222kB/s]
- 30%|##9       | 12.3M/41.5M [01:44&lt;03:24, 149kB/s]
- 30%|##9       | 12.4M/41.5M [01:44&lt;02:33, 199kB/s]
- 30%|##9       | 12.4M/41.5M [01:44&lt;02:37, 194kB/s]
- 30%|##9       | 12.4M/41.5M [01:44&lt;02:37, 194kB/s]
- 30%|##9       | 12.4M/41.5M [01:44&lt;02:39, 191kB/s]
- 30%|###       | 12.5M/41.5M [01:45&lt;02:41, 188kB/s]
- 30%|###       | 12.5M/41.5M [01:45&lt;02:29, 203kB/s]
- 30%|###       | 12.5M/41.5M [01:45&lt;02:35, 196kB/s]
- 30%|###       | 12.5M/41.5M [01:45&lt;02:38, 191kB/s]
- 30%|###       | 12.6M/41.5M [01:45&lt;02:24, 210kB/s]
- 30%|###       | 12.6M/41.5M [01:45&lt;02:19, 217kB/s]
- 30%|###       | 12.6M/41.5M [01:45&lt;02:16, 221kB/s]
- 31%|###       | 12.7M/41.5M [01:46&lt;02:13, 227kB/s]
- 31%|###       | 12.7M/41.5M [01:46&lt;02:11, 230kB/s]
- 31%|###       | 12.7M/41.5M [01:46&lt;02:19, 216kB/s]
- 31%|###       | 12.8M/41.5M [01:46&lt;02:12, 228kB/s]
- 31%|###       | 12.8M/41.5M [01:46&lt;02:09, 232kB/s]
- 31%|###       | 12.8M/41.5M [01:46&lt;03:13, 155kB/s]
- 31%|###1      | 12.9M/41.5M [01:47&lt;02:15, 221kB/s]
- 31%|###1      | 12.9M/41.5M [01:47&lt;02:22, 210kB/s]
- 31%|###1      | 12.9M/41.5M [01:47&lt;02:28, 202kB/s]
- 31%|###1      | 13.0M/41.5M [01:47&lt;02:32, 197kB/s]
- 31%|###1      | 13.0M/41.5M [01:47&lt;03:39, 136kB/s]
- 31%|###1      | 13.0M/41.5M [01:48&lt;02:24, 207kB/s]
- 32%|###1      | 13.1M/41.5M [01:48&lt;02:38, 188kB/s]
- 32%|###1      | 13.1M/41.5M [01:48&lt;03:37, 137kB/s]
- 32%|###1      | 13.1M/41.5M [01:48&lt;02:57, 168kB/s]
- 32%|###1      | 13.2M/41.5M [01:48&lt;03:05, 160kB/s]
- 32%|###1      | 13.2M/41.5M [01:49&lt;03:12, 154kB/s]
- 32%|###1      | 13.2M/41.5M [01:49&lt;03:18, 149kB/s]
- 32%|###1      | 13.2M/41.5M [01:49&lt;03:22, 146kB/s]
- 32%|###1      | 13.2M/41.5M [01:49&lt;03:32, 140kB/s]
- 32%|###1      | 13.3M/41.5M [01:49&lt;03:35, 138kB/s]
- 32%|###2      | 13.3M/41.5M [01:49&lt;03:43, 133kB/s]
- 32%|###2      | 13.3M/41.5M [01:50&lt;03:40, 134kB/s]
- 32%|###2      | 13.3M/41.5M [01:50&lt;03:38, 135kB/s]
- 32%|###2      | 13.4M/41.5M [01:50&lt;03:36, 136kB/s]
- 32%|###2      | 13.4M/41.5M [01:50&lt;03:19, 148kB/s]
- 32%|###2      | 13.4M/41.5M [01:50&lt;03:08, 156kB/s]
- 32%|###2      | 13.4M/41.5M [01:50&lt;03:16, 150kB/s]
- 32%|###2      | 13.4M/41.5M [01:50&lt;03:01, 162kB/s]
- 32%|###2      | 13.5M/41.5M [01:51&lt;02:56, 166kB/s]
- 33%|###2      | 13.5M/41.5M [01:51&lt;03:07, 156kB/s]
- 33%|###2      | 13.5M/41.5M [01:51&lt;03:15, 150kB/s]
- 33%|###2      | 13.5M/41.5M [01:51&lt;03:04, 159kB/s]
- 33%|###2      | 13.6M/41.5M [01:51&lt;02:54, 168kB/s]
- 33%|###2      | 13.6M/41.5M [01:52&lt;04:18, 113kB/s]
- 33%|###2      | 13.7M/41.5M [01:52&lt;02:37, 186kB/s]
- 33%|###2      | 13.7M/41.5M [01:52&lt;03:55, 124kB/s]
- 33%|###3      | 13.7M/41.5M [01:52&lt;02:57, 164kB/s]
- 33%|###3      | 13.8M/41.5M [01:53&lt;03:14, 150kB/s]
- 33%|###3      | 13.8M/41.5M [01:53&lt;03:18, 147kB/s]
- 33%|###3      | 13.8M/41.5M [01:53&lt;03:21, 144kB/s]
- 33%|###3      | 13.8M/41.5M [01:53&lt;03:53, 124kB/s]
- 33%|###3      | 13.8M/41.5M [01:53&lt;03:46, 128kB/s]
- 33%|###3      | 13.9M/41.5M [01:54&lt;03:42, 130kB/s]
- 33%|###3      | 13.9M/41.5M [01:54&lt;03:38, 132kB/s]
- 34%|###3      | 13.9M/41.5M [01:54&lt;03:36, 134kB/s]
- 34%|###3      | 13.9M/41.5M [01:54&lt;03:34, 135kB/s]
- 34%|###3      | 14.0M/41.5M [01:54&lt;03:13, 149kB/s]
- 34%|###3      | 14.0M/41.5M [01:55&lt;03:17, 146kB/s]
- 34%|###3      | 14.0M/41.5M [01:55&lt;03:03, 157kB/s]
- 34%|###3      | 14.0M/41.5M [01:55&lt;03:10, 151kB/s]
- 34%|###3      | 14.1M/41.5M [01:55&lt;02:58, 161kB/s]
- 34%|###3      | 14.1M/41.5M [01:55&lt;03:06, 154kB/s]
- 34%|###4      | 14.1M/41.5M [01:55&lt;02:56, 163kB/s]
- 34%|###4      | 14.2M/41.5M [01:56&lt;02:49, 169kB/s]
- 34%|###4      | 14.2M/41.5M [01:56&lt;02:45, 173kB/s]
- 34%|###4      | 14.2M/41.5M [01:56&lt;02:42, 176kB/s]
- 34%|###4      | 14.3M/41.5M [01:56&lt;02:39, 179kB/s]
- 34%|###4      | 14.3M/41.5M [01:56&lt;02:27, 194kB/s]
- 35%|###4      | 14.3M/41.5M [01:56&lt;02:29, 191kB/s]
- 35%|###4      | 14.4M/41.5M [01:57&lt;02:20, 202kB/s]
- 35%|###4      | 14.4M/41.5M [01:57&lt;02:24, 197kB/s]
- 35%|###4      | 14.4M/41.5M [01:57&lt;03:00, 157kB/s]
- 35%|###4      | 14.5M/41.5M [01:57&lt;02:19, 202kB/s]
- 35%|###4      | 14.5M/41.5M [01:57&lt;02:24, 196kB/s]
- 35%|###4      | 14.5M/41.5M [01:57&lt;02:24, 196kB/s]
- 35%|###5      | 14.5M/41.5M [01:58&lt;02:27, 192kB/s]
- 35%|###5      | 14.6M/41.5M [01:58&lt;02:29, 189kB/s]
- 35%|###5      | 14.6M/41.5M [01:58&lt;02:31, 186kB/s]
- 35%|###5      | 14.6M/41.5M [01:58&lt;02:32, 184kB/s]
- 35%|###5      | 14.6M/41.5M [01:58&lt;02:30, 188kB/s]
- 35%|###5      | 14.7M/41.5M [01:58&lt;02:18, 204kB/s]
- 35%|###5      | 14.7M/41.5M [01:58&lt;02:22, 197kB/s]
- 35%|###5      | 14.7M/41.5M [01:59&lt;02:26, 192kB/s]
- 36%|###5      | 14.8M/41.5M [01:59&lt;02:17, 204kB/s]
- 36%|###5      | 14.8M/41.5M [01:59&lt;02:18, 202kB/s]
- 36%|###5      | 14.8M/41.5M [01:59&lt;02:10, 214kB/s]
- 36%|###5      | 14.8M/41.5M [01:59&lt;02:16, 204kB/s]
- 36%|###5      | 14.9M/41.5M [01:59&lt;02:21, 197kB/s]
- 36%|###5      | 14.9M/41.5M [02:00&lt;02:14, 207kB/s]
- 36%|###5      | 14.9M/41.5M [02:00&lt;02:05, 222kB/s]
- 36%|###6      | 15.0M/41.5M [02:00&lt;02:11, 211kB/s]
- 36%|###6      | 15.0M/41.5M [02:00&lt;02:17, 202kB/s]
- 36%|###6      | 15.0M/41.5M [02:00&lt;02:22, 195kB/s]
- 36%|###6      | 15.0M/41.5M [02:00&lt;02:14, 206kB/s]
- 36%|###6      | 15.1M/41.5M [02:00&lt;02:09, 213kB/s]
- 36%|###6      | 15.1M/41.5M [02:01&lt;02:11, 210kB/s]
- 36%|###6      | 15.1M/41.5M [02:01&lt;02:07, 217kB/s]
- 37%|###6      | 15.2M/41.5M [02:01&lt;02:04, 221kB/s]
- 37%|###6      | 15.2M/41.5M [02:01&lt;02:01, 227kB/s]
- 37%|###6      | 15.2M/41.5M [02:01&lt;02:08, 214kB/s]
- 37%|###6      | 15.3M/41.5M [02:01&lt;02:05, 219kB/s]
- 37%|###6      | 15.3M/41.5M [02:02&lt;02:55, 156kB/s]
- 37%|###7      | 15.4M/41.5M [02:02&lt;01:56, 235kB/s]
- 37%|###7      | 15.4M/41.5M [02:02&lt;02:03, 221kB/s]
- 37%|###7      | 15.5M/41.5M [02:02&lt;02:03, 221kB/s]
- 37%|###7      | 15.5M/41.5M [02:02&lt;02:08, 212kB/s]
- 37%|###7      | 15.5M/41.5M [02:03&lt;02:05, 217kB/s]
- 37%|###7      | 15.6M/41.5M [02:03&lt;02:01, 225kB/s]
- 38%|###7      | 15.6M/41.5M [02:03&lt;02:06, 214kB/s]
- 38%|###7      | 15.6M/41.5M [02:03&lt;02:02, 222kB/s]
- 38%|###7      | 15.6M/41.5M [02:03&lt;01:59, 228kB/s]
- 38%|###7      | 15.7M/41.5M [02:03&lt;01:58, 228kB/s]
- 38%|###7      | 15.7M/41.5M [02:03&lt;01:58, 229kB/s]
- 38%|###7      | 15.8M/41.5M [02:04&lt;01:57, 229kB/s]
- 38%|###8      | 15.8M/41.5M [02:04&lt;01:48, 249kB/s]
- 38%|###8      | 15.8M/41.5M [02:04&lt;01:48, 248kB/s]
- 38%|###8      | 15.9M/41.5M [02:04&lt;01:48, 247kB/s]
- 38%|###8      | 15.9M/41.5M [02:04&lt;01:49, 245kB/s]
- 38%|###8      | 15.9M/41.5M [02:04&lt;01:59, 224kB/s]
- 38%|###8      | 16.0M/41.5M [02:05&lt;01:48, 247kB/s]
- 39%|###8      | 16.0M/41.5M [02:05&lt;01:48, 247kB/s]
- 39%|###8      | 16.0M/41.5M [02:05&lt;01:48, 246kB/s]
- 39%|###8      | 16.1M/41.5M [02:05&lt;01:49, 244kB/s]
- 39%|###8      | 16.1M/41.5M [02:05&lt;01:48, 245kB/s]
- 39%|###8      | 16.1M/41.5M [02:05&lt;01:48, 245kB/s]
- 39%|###8      | 16.1M/41.5M [02:05&lt;01:48, 246kB/s]
- 39%|###8      | 16.2M/41.5M [02:05&lt;01:48, 244kB/s]
- 39%|###9      | 16.2M/41.5M [02:06&lt;01:48, 245kB/s]
- 39%|###9      | 16.2M/41.5M [02:06&lt;01:48, 245kB/s]
- 39%|###9      | 16.3M/41.5M [02:06&lt;02:32, 173kB/s]
- 39%|###9      | 16.3M/41.5M [02:06&lt;01:44, 253kB/s]
- 39%|###9      | 16.4M/41.5M [02:06&lt;01:45, 250kB/s]
- 40%|###9      | 16.4M/41.5M [02:06&lt;01:55, 228kB/s]
- 40%|###9      | 16.4M/41.5M [02:07&lt;02:02, 214kB/s]
- 40%|###9      | 16.5M/41.5M [02:07&lt;01:58, 222kB/s]
- 40%|###9      | 16.5M/41.5M [02:07&lt;02:59, 146kB/s]
- 40%|###9      | 16.6M/41.5M [02:07&lt;01:48, 241kB/s]
- 40%|###9      | 16.6M/41.5M [02:07&lt;02:11, 199kB/s]
- 40%|####      | 16.6M/41.5M [02:08&lt;02:13, 195kB/s]
- 40%|####      | 16.7M/41.5M [02:08&lt;02:07, 204kB/s]
- 40%|####      | 16.7M/41.5M [02:08&lt;02:11, 198kB/s]
- 40%|####      | 16.7M/41.5M [02:08&lt;02:13, 194kB/s]
- 40%|####      | 16.8M/41.5M [02:08&lt;02:07, 204kB/s]
- 40%|####      | 16.8M/41.5M [02:09&lt;02:10, 198kB/s]
- 41%|####      | 16.8M/41.5M [02:09&lt;02:13, 194kB/s]
- 41%|####      | 16.9M/41.5M [02:09&lt;02:06, 204kB/s]
- 41%|####      | 16.9M/41.5M [02:09&lt;02:09, 198kB/s]
- 41%|####      | 16.9M/41.5M [02:09&lt;02:04, 207kB/s]
- 41%|####      | 17.0M/41.5M [02:10&lt;02:08, 199kB/s]
- 41%|####      | 17.0M/41.5M [02:10&lt;02:02, 210kB/s]
- 41%|####1     | 17.0M/41.5M [02:10&lt;01:58, 216kB/s]
- 41%|####1     | 17.1M/41.5M [02:10&lt;01:57, 217kB/s]
- 41%|####1     | 17.1M/41.5M [02:10&lt;01:55, 221kB/s]
- 41%|####1     | 17.2M/41.5M [02:10&lt;01:46, 240kB/s]
- 41%|####1     | 17.2M/41.5M [02:11&lt;01:47, 237kB/s]
- 42%|####1     | 17.2M/41.5M [02:11&lt;01:48, 235kB/s]
- 42%|####1     | 17.3M/41.5M [02:11&lt;01:42, 247kB/s]
- 42%|####1     | 17.3M/41.5M [02:11&lt;01:38, 258kB/s]
- 42%|####1     | 17.4M/41.5M [02:11&lt;01:36, 261kB/s]
- 42%|####1     | 17.4M/41.5M [02:11&lt;01:39, 255kB/s]
- 42%|####1     | 17.4M/41.5M [02:11&lt;01:49, 231kB/s]
- 42%|####2     | 17.5M/41.5M [02:12&lt;01:42, 245kB/s]
- 42%|####2     | 17.5M/41.5M [02:12&lt;01:38, 255kB/s]
- 42%|####2     | 17.6M/41.5M [02:12&lt;01:36, 261kB/s]
- 42%|####2     | 17.6M/41.5M [02:12&lt;01:34, 266kB/s]
- 43%|####2     | 17.7M/41.5M [02:12&lt;01:33, 269kB/s]
- 43%|####2     | 17.7M/41.5M [02:13&lt;01:27, 285kB/s]
- 43%|####2     | 17.8M/41.5M [02:13&lt;01:24, 296kB/s]
- 43%|####2     | 17.8M/41.5M [02:13&lt;01:21, 303kB/s]
- 43%|####3     | 17.9M/41.5M [02:13&lt;01:16, 323kB/s]
- 43%|####3     | 17.9M/41.5M [02:13&lt;01:08, 362kB/s]
- 43%|####3     | 18.0M/41.5M [02:13&lt;01:26, 285kB/s]
- 44%|####3     | 18.1M/41.5M [02:14&lt;01:00, 406kB/s]
- 44%|####3     | 18.1M/41.5M [02:14&lt;01:06, 367kB/s]
- 44%|####3     | 18.2M/41.5M [02:14&lt;01:04, 380kB/s]
- 44%|####3     | 18.2M/41.5M [02:14&lt;01:03, 387kB/s]
- 44%|####4     | 18.3M/41.5M [02:14&lt;01:03, 383kB/s]
- 44%|####4     | 18.3M/41.5M [02:14&lt;01:11, 338kB/s]
- 44%|####4     | 18.4M/41.5M [02:15&lt;01:07, 360kB/s]
- 44%|####4     | 18.5M/41.5M [02:15&lt;01:01, 395kB/s]
- 45%|####4     | 18.5M/41.5M [02:15&lt;01:00, 400kB/s]
- 45%|####4     | 18.5M/41.5M [02:15&lt;01:03, 381kB/s]
- 45%|####4     | 18.6M/41.5M [02:15&lt;01:01, 392kB/s]
- 45%|####4     | 18.7M/41.5M [02:15&lt;00:57, 419kB/s]
- 45%|####5     | 18.7M/41.5M [02:15&lt;00:57, 417kB/s]
- 45%|####5     | 18.8M/41.5M [02:15&lt;00:57, 411kB/s]
- 45%|####5     | 18.8M/41.5M [02:16&lt;01:00, 396kB/s]
- 46%|####5     | 18.9M/41.5M [02:16&lt;00:53, 440kB/s]
- 46%|####5     | 18.9M/41.5M [02:16&lt;00:54, 432kB/s]
- 46%|####5     | 19.0M/41.5M [02:16&lt;00:56, 421kB/s]
- 46%|####5     | 19.0M/41.5M [02:16&lt;00:55, 421kB/s]
- 46%|####6     | 19.1M/41.5M [02:16&lt;00:53, 440kB/s]
- 46%|####6     | 19.2M/41.5M [02:16&lt;00:54, 431kB/s]
- 46%|####6     | 19.2M/41.5M [02:17&lt;00:55, 421kB/s]
- 46%|####6     | 19.3M/41.5M [02:17&lt;00:55, 421kB/s]
- 47%|####6     | 19.3M/41.5M [02:17&lt;01:17, 301kB/s]
- 47%|####6     | 19.4M/41.5M [02:17&lt;01:05, 354kB/s]
- 47%|####6     | 19.5M/41.5M [02:17&lt;00:54, 427kB/s]
- 47%|####7     | 19.5M/41.5M [02:17&lt;00:56, 409kB/s]
- 47%|####7     | 19.6M/41.5M [02:17&lt;00:57, 397kB/s]
- 47%|####7     | 19.6M/41.5M [02:18&lt;01:00, 382kB/s]
- 47%|####7     | 19.6M/41.5M [02:18&lt;01:02, 369kB/s]
- 47%|####7     | 19.7M/41.5M [02:18&lt;01:05, 349kB/s]
- 48%|####7     | 19.7M/41.5M [02:18&lt;01:01, 371kB/s]
- 48%|####7     | 19.8M/41.5M [02:18&lt;01:02, 365kB/s]
- 48%|####7     | 19.8M/41.5M [02:18&lt;01:00, 374kB/s]
- 48%|####7     | 19.9M/41.5M [02:18&lt;00:58, 388kB/s]
- 48%|####8     | 19.9M/41.5M [02:19&lt;00:56, 399kB/s]
- 48%|####8     | 20.0M/41.5M [02:19&lt;00:56, 401kB/s]
- 48%|####8     | 20.0M/41.5M [02:19&lt;00:56, 400kB/s]
- 48%|####8     | 20.1M/41.5M [02:19&lt;00:52, 425kB/s]
- 49%|####8     | 20.2M/41.5M [02:19&lt;00:52, 425kB/s]
- 49%|####8     | 20.2M/41.5M [02:19&lt;00:53, 420kB/s]
- 49%|####8     | 20.3M/41.5M [02:19&lt;00:53, 414kB/s]
- 49%|####8     | 20.3M/41.5M [02:20&lt;01:13, 304kB/s]
- 49%|####9     | 20.4M/41.5M [02:20&lt;00:52, 422kB/s]
- 49%|####9     | 20.5M/41.5M [02:20&lt;00:54, 406kB/s]
- 49%|####9     | 20.5M/41.5M [02:20&lt;00:59, 371kB/s]
- 50%|####9     | 20.5M/41.5M [02:20&lt;01:21, 271kB/s]
- 50%|####9     | 20.6M/41.5M [02:21&lt;00:56, 384kB/s]
- 50%|####9     | 20.7M/41.5M [02:21&lt;01:01, 352kB/s]
- 50%|####9     | 20.7M/41.5M [02:21&lt;01:29, 244kB/s]
- 50%|#####     | 20.8M/41.5M [02:21&lt;01:11, 301kB/s]
- 50%|#####     | 20.8M/41.5M [02:21&lt;01:16, 281kB/s]
- 50%|#####     | 20.9M/41.5M [02:22&lt;01:21, 267kB/s]
- 50%|#####     | 20.9M/41.5M [02:22&lt;01:28, 243kB/s]
- 50%|#####     | 20.9M/41.5M [02:22&lt;01:34, 227kB/s]
- 51%|#####     | 21.0M/41.5M [02:22&lt;01:34, 228kB/s]
- 51%|#####     | 21.0M/41.5M [02:22&lt;01:25, 252kB/s]
- 51%|#####     | 21.1M/41.5M [02:23&lt;01:56, 184kB/s]
- 51%|#####     | 21.1M/41.5M [02:23&lt;02:02, 174kB/s]
- 51%|#####1    | 21.2M/41.5M [02:23&lt;01:36, 220kB/s]
- 51%|#####1    | 21.2M/41.5M [02:23&lt;01:47, 199kB/s]
- 51%|#####1    | 21.2M/41.5M [02:23&lt;01:56, 183kB/s]
- 51%|#####1    | 21.2M/41.5M [02:24&lt;02:04, 171kB/s]
- 51%|#####1    | 21.3M/41.5M [02:24&lt;02:11, 161kB/s]
- 51%|#####1    | 21.3M/41.5M [02:24&lt;02:16, 155kB/s]
- 51%|#####1    | 21.3M/41.5M [02:24&lt;02:21, 150kB/s]
- 51%|#####1    | 21.3M/41.5M [02:24&lt;02:14, 157kB/s]
- 51%|#####1    | 21.4M/41.5M [02:24&lt;02:19, 151kB/s]
- 52%|#####1    | 21.4M/41.5M [02:25&lt;02:13, 158kB/s]
- 52%|#####1    | 21.4M/41.5M [02:25&lt;02:05, 168kB/s]
- 52%|#####1    | 21.4M/41.5M [02:25&lt;02:02, 171kB/s]
- 52%|#####1    | 21.5M/41.5M [02:25&lt;02:11, 160kB/s]
- 52%|#####1    | 21.5M/41.5M [02:25&lt;02:17, 152kB/s]
- 52%|#####1    | 21.5M/41.5M [02:25&lt;02:09, 162kB/s]
- 52%|#####1    | 21.5M/41.5M [02:26&lt;02:03, 169kB/s]
- 52%|#####1    | 21.6M/41.5M [02:26&lt;02:00, 174kB/s]
- 52%|#####2    | 21.6M/41.5M [02:26&lt;01:58, 177kB/s]
- 52%|#####2    | 21.6M/41.5M [02:26&lt;01:48, 193kB/s]
- 52%|#####2    | 21.7M/41.5M [02:26&lt;01:49, 190kB/s]
- 52%|#####2    | 21.7M/41.5M [02:26&lt;01:42, 202kB/s]
- 52%|#####2    | 21.7M/41.5M [02:27&lt;01:43, 201kB/s]
- 52%|#####2    | 21.7M/41.5M [02:27&lt;01:46, 195kB/s]
- 52%|#####2    | 21.8M/41.5M [02:27&lt;01:48, 191kB/s]
- 53%|#####2    | 21.8M/41.5M [02:27&lt;01:41, 204kB/s]
- 53%|#####2    | 21.9M/41.5M [02:27&lt;01:37, 212kB/s]
- 53%|#####2    | 21.9M/41.5M [02:27&lt;01:33, 219kB/s]
- 53%|#####2    | 21.9M/41.5M [02:28&lt;01:55, 178kB/s]
- 53%|#####2    | 22.0M/41.5M [02:28&lt;01:38, 208kB/s]
- 53%|#####2    | 22.0M/41.5M [02:28&lt;01:41, 201kB/s]
- 53%|#####3    | 22.0M/41.5M [02:28&lt;01:44, 195kB/s]
- 53%|#####3    | 22.0M/41.5M [02:28&lt;01:44, 196kB/s]
- 53%|#####3    | 22.1M/41.5M [02:28&lt;01:46, 192kB/s]
- 53%|#####3    | 22.1M/41.5M [02:28&lt;01:39, 204kB/s]
- 53%|#####3    | 22.1M/41.5M [02:29&lt;02:36, 130kB/s]
- 53%|#####3    | 22.2M/41.5M [02:29&lt;01:37, 208kB/s]
- 54%|#####3    | 22.2M/41.5M [02:29&lt;01:38, 206kB/s]
- 54%|#####3    | 22.2M/41.5M [02:29&lt;01:41, 200kB/s]
- 54%|#####3    | 22.3M/41.5M [02:30&lt;01:51, 181kB/s]
- 54%|#####3    | 22.3M/41.5M [02:30&lt;01:59, 168kB/s]
- 54%|#####3    | 22.3M/41.5M [02:30&lt;01:56, 173kB/s]
- 54%|#####3    | 22.4M/41.5M [02:30&lt;01:54, 176kB/s]
- 54%|#####3    | 22.4M/41.5M [02:30&lt;01:52, 178kB/s]
- 54%|#####4    | 22.4M/41.5M [02:30&lt;01:51, 180kB/s]
- 54%|#####4    | 22.4M/41.5M [02:31&lt;01:50, 181kB/s]
- 54%|#####4    | 22.5M/41.5M [02:31&lt;01:49, 182kB/s]
- 54%|#####4    | 22.5M/41.5M [02:31&lt;01:49, 182kB/s]
- 54%|#####4    | 22.5M/41.5M [02:31&lt;01:41, 196kB/s]
- 54%|#####4    | 22.6M/41.5M [02:31&lt;01:43, 192kB/s]
- 54%|#####4    | 22.6M/41.5M [02:31&lt;01:37, 204kB/s]
- 55%|#####4    | 22.6M/41.5M [02:32&lt;01:30, 218kB/s]
- 55%|#####4    | 22.7M/41.5M [02:32&lt;01:34, 208kB/s]
- 55%|#####4    | 22.7M/41.5M [02:32&lt;01:38, 200kB/s]
- 55%|#####4    | 22.7M/41.5M [02:32&lt;01:41, 194kB/s]
- 55%|#####4    | 22.8M/41.5M [02:32&lt;01:35, 206kB/s]
- 55%|#####4    | 22.8M/41.5M [02:33&lt;02:19, 141kB/s]
- 55%|#####5    | 22.9M/41.5M [02:33&lt;01:28, 220kB/s]
- 55%|#####5    | 22.9M/41.5M [02:33&lt;01:32, 211kB/s]
- 55%|#####5    | 22.9M/41.5M [02:33&lt;01:35, 203kB/s]
- 55%|#####5    | 23.0M/41.5M [02:33&lt;01:31, 212kB/s]
- 55%|#####5    | 23.0M/41.5M [02:33&lt;01:35, 203kB/s]
- 55%|#####5    | 23.0M/41.5M [02:34&lt;01:29, 216kB/s]
- 56%|#####5    | 23.0M/41.5M [02:34&lt;02:06, 153kB/s]
- 56%|#####5    | 23.1M/41.5M [02:34&lt;01:37, 199kB/s]
- 56%|#####5    | 23.1M/41.5M [02:34&lt;01:39, 194kB/s]
- 56%|#####5    | 23.1M/41.5M [02:34&lt;01:39, 194kB/s]
- 56%|#####5    | 23.2M/41.5M [02:34&lt;01:41, 190kB/s]
- 56%|#####5    | 23.2M/41.5M [02:35&lt;02:28, 129kB/s]
- 56%|#####5    | 23.2M/41.5M [02:35&lt;01:47, 179kB/s]
- 56%|#####6    | 23.2M/41.5M [02:35&lt;01:54, 167kB/s]
- 56%|#####6    | 23.3M/41.5M [02:35&lt;02:00, 158kB/s]
- 56%|#####6    | 23.3M/41.5M [02:36&lt;02:59, 106kB/s]
- 56%|#####6    | 23.4M/41.5M [02:36&lt;01:56, 163kB/s]
- 56%|#####6    | 23.4M/41.5M [02:36&lt;02:08, 148kB/s]
- 56%|#####6    | 23.4M/41.5M [02:36&lt;02:45, 114kB/s]
- 56%|#####6    | 23.4M/41.5M [02:37&lt;02:13, 142kB/s]
- 57%|#####6    | 23.5M/41.5M [02:37&lt;02:31, 125kB/s]
- 57%|#####6    | 23.5M/41.5M [02:37&lt;02:33, 123kB/s]
- 57%|#####6    | 23.5M/41.5M [02:37&lt;02:30, 126kB/s]
- 57%|#####6    | 23.5M/41.5M [02:37&lt;02:42, 116kB/s]
- 57%|#####6    | 23.5M/41.5M [02:37&lt;02:41, 117kB/s]
- 57%|#####6    | 23.5M/41.5M [02:38&lt;02:29, 126kB/s]
- 57%|#####6    | 23.6M/41.5M [02:38&lt;02:25, 129kB/s]
- 57%|#####6    | 23.6M/41.5M [02:38&lt;02:29, 126kB/s]
- 57%|#####6    | 23.6M/41.5M [02:38&lt;02:30, 124kB/s]
- 57%|#####6    | 23.6M/41.5M [02:38&lt;02:37, 119kB/s]
- 57%|#####6    | 23.6M/41.5M [02:38&lt;02:29, 125kB/s]
- 57%|#####7    | 23.7M/41.5M [02:38&lt;02:25, 129kB/s]
- 57%|#####7    | 23.7M/41.5M [02:39&lt;02:21, 132kB/s]
- 57%|#####7    | 23.7M/41.5M [02:39&lt;02:19, 133kB/s]
- 57%|#####7    | 23.7M/41.5M [02:39&lt;02:18, 135kB/s]
- 57%|#####7    | 23.8M/41.5M [02:39&lt;02:17, 136kB/s]
- 57%|#####7    | 23.8M/41.5M [02:39&lt;02:09, 143kB/s]
- 57%|#####7    | 23.8M/41.5M [02:39&lt;01:57, 159kB/s]
- 57%|#####7    | 23.8M/41.5M [02:40&lt;01:51, 166kB/s]
- 57%|#####7    | 23.8M/41.5M [02:40&lt;01:58, 157kB/s]
- 58%|#####7    | 23.9M/41.5M [02:40&lt;02:06, 146kB/s]
- 58%|#####7    | 23.9M/41.5M [02:40&lt;02:02, 151kB/s]
- 58%|#####7    | 23.9M/41.5M [02:40&lt;01:50, 166kB/s]
- 58%|#####7    | 23.9M/41.5M [02:40&lt;01:46, 172kB/s]
- 58%|#####7    | 24.0M/41.5M [02:40&lt;01:54, 160kB/s]
- 58%|#####7    | 24.0M/41.5M [02:41&lt;01:51, 165kB/s]
- 58%|#####7    | 24.0M/41.5M [02:41&lt;01:51, 165kB/s]
- 58%|#####7    | 24.0M/41.5M [02:41&lt;01:47, 171kB/s]
- 58%|#####7    | 24.1M/41.5M [02:41&lt;01:39, 183kB/s]
- 58%|#####8    | 24.1M/41.5M [02:41&lt;01:40, 182kB/s]
- 58%|#####8    | 24.1M/41.5M [02:41&lt;01:41, 180kB/s]
- 58%|#####8    | 24.1M/41.5M [02:41&lt;01:43, 175kB/s]
- 58%|#####8    | 24.2M/41.5M [02:42&lt;01:28, 206kB/s]
- 58%|#####8    | 24.2M/41.5M [02:42&lt;01:31, 198kB/s]
- 58%|#####8    | 24.2M/41.5M [02:42&lt;01:34, 191kB/s]
- 58%|#####8    | 24.2M/41.5M [02:42&lt;01:30, 200kB/s]
- 58%|#####8    | 24.3M/41.5M [02:42&lt;01:20, 225kB/s]
- 59%|#####8    | 24.3M/41.5M [02:42&lt;01:18, 229kB/s]
- 59%|#####8    | 24.3M/41.5M [02:42&lt;01:19, 227kB/s]
- 59%|#####8    | 24.4M/41.5M [02:43&lt;01:07, 266kB/s]
- 59%|#####8    | 24.4M/41.5M [02:43&lt;01:09, 259kB/s]
- 59%|#####8    | 24.4M/41.5M [02:43&lt;01:06, 269kB/s]
- 59%|#####8    | 24.5M/41.5M [02:43&lt;00:59, 298kB/s]
- 59%|#####9    | 24.5M/41.5M [02:43&lt;00:59, 299kB/s]
- 59%|#####9    | 24.5M/41.5M [02:43&lt;00:59, 297kB/s]
- 59%|#####9    | 24.6M/41.5M [02:43&lt;00:51, 344kB/s]
- 59%|#####9    | 24.6M/41.5M [02:43&lt;00:47, 371kB/s]
- 60%|#####9    | 24.7M/41.5M [02:44&lt;00:47, 367kB/s]
- 60%|#####9    | 24.8M/41.5M [02:44&lt;00:43, 407kB/s]
- 60%|#####9    | 24.8M/41.5M [02:44&lt;00:38, 459kB/s]
- 60%|#####9    | 24.9M/41.5M [02:44&lt;00:39, 447kB/s]
- 60%|######    | 24.9M/41.5M [02:44&lt;00:37, 466kB/s]
- 60%|######    | 25.0M/41.5M [02:44&lt;00:31, 544kB/s]
- 60%|######    | 25.1M/41.5M [02:44&lt;00:32, 523kB/s]
- 61%|######    | 25.1M/41.5M [02:44&lt;00:32, 525kB/s]
- 61%|######    | 25.2M/41.5M [02:45&lt;00:28, 605kB/s]
- 61%|######1   | 25.3M/41.5M [02:45&lt;00:24, 680kB/s]
- 61%|######1   | 25.4M/41.5M [02:45&lt;00:37, 451kB/s]
- 62%|######1   | 25.6M/41.5M [02:45&lt;00:23, 716kB/s]
- 62%|######1   | 25.7M/41.5M [02:45&lt;00:23, 697kB/s]
- 62%|######2   | 25.8M/41.5M [02:46&lt;00:31, 518kB/s]
- 63%|######2   | 25.9M/41.5M [02:46&lt;00:24, 674kB/s]
- 63%|######2   | 26.0M/41.5M [02:46&lt;00:26, 611kB/s]
- 63%|######2   | 26.1M/41.5M [02:46&lt;00:27, 588kB/s]
- 63%|######3   | 26.1M/41.5M [02:46&lt;00:40, 397kB/s]
- 63%|######3   | 26.3M/41.5M [02:46&lt;00:30, 526kB/s]
- 64%|######3   | 26.4M/41.5M [02:47&lt;00:32, 482kB/s]
- 64%|######3   | 26.4M/41.5M [02:47&lt;00:34, 455kB/s]
- 64%|######3   | 26.5M/41.5M [02:47&lt;00:35, 448kB/s]
- 64%|######3   | 26.5M/41.5M [02:47&lt;00:36, 426kB/s]
- 64%|######4   | 26.6M/41.5M [02:47&lt;00:38, 406kB/s]
- 64%|######4   | 26.6M/41.5M [02:47&lt;00:39, 398kB/s]
- 64%|######4   | 26.6M/41.5M [02:48&lt;00:39, 393kB/s]
- 64%|######4   | 26.7M/41.5M [02:48&lt;00:38, 402kB/s]
- 64%|######4   | 26.8M/41.5M [02:48&lt;00:37, 411kB/s]
- 65%|######4   | 26.8M/41.5M [02:48&lt;00:36, 421kB/s]
- 65%|######4   | 26.8M/41.5M [02:48&lt;00:38, 403kB/s]
- 65%|######4   | 26.9M/41.5M [02:48&lt;00:37, 412kB/s]
- 65%|######4   | 26.9M/41.5M [02:48&lt;00:36, 423kB/s]
- 65%|######5   | 27.0M/41.5M [02:48&lt;00:37, 403kB/s]
- 65%|######5   | 27.0M/41.5M [02:48&lt;00:39, 386kB/s]
- 65%|######5   | 27.1M/41.5M [02:49&lt;00:35, 426kB/s]
- 65%|######5   | 27.1M/41.5M [02:49&lt;00:36, 407kB/s]
- 66%|######5   | 27.2M/41.5M [02:49&lt;00:34, 431kB/s]
- 66%|######5   | 27.2M/41.5M [02:49&lt;00:36, 405kB/s]
- 66%|######5   | 27.3M/41.5M [02:49&lt;00:35, 415kB/s]
- 66%|######5   | 27.4M/41.5M [02:49&lt;00:34, 423kB/s]
- 66%|######6   | 27.4M/41.5M [02:49&lt;00:34, 424kB/s]
- 66%|######6   | 27.5M/41.5M [02:50&lt;00:36, 401kB/s]
- 66%|######6   | 27.5M/41.5M [02:50&lt;00:35, 412kB/s]
- 66%|######6   | 27.6M/41.5M [02:50&lt;00:34, 421kB/s]
- 67%|######6   | 27.6M/41.5M [02:50&lt;00:34, 422kB/s]
- 67%|######6   | 27.7M/41.5M [02:50&lt;00:36, 400kB/s]
- 67%|######6   | 27.7M/41.5M [02:50&lt;00:33, 429kB/s]
- 67%|######6   | 27.8M/41.5M [02:50&lt;00:33, 434kB/s]
- 67%|######7   | 27.8M/41.5M [02:50&lt;00:33, 431kB/s]
- 67%|######7   | 27.9M/41.5M [02:51&lt;00:32, 433kB/s]
- 67%|######7   | 27.9M/41.5M [02:51&lt;00:32, 437kB/s]
- 67%|######7   | 28.0M/41.5M [02:51&lt;00:32, 433kB/s]
- 68%|######7   | 28.0M/41.5M [02:51&lt;00:32, 434kB/s]
- 68%|######7   | 28.1M/41.5M [02:51&lt;00:32, 438kB/s]
- 68%|######7   | 28.1M/41.5M [02:51&lt;00:30, 454kB/s]
- 68%|######7   | 28.2M/41.5M [02:51&lt;00:33, 420kB/s]
- 68%|######8   | 28.3M/41.5M [02:51&lt;00:30, 461kB/s]
- 68%|######8   | 28.3M/41.5M [02:52&lt;00:30, 458kB/s]
- 68%|######8   | 28.4M/41.5M [02:52&lt;00:43, 316kB/s]
- 69%|######8   | 28.5M/41.5M [02:52&lt;00:29, 469kB/s]
- 69%|######8   | 28.6M/41.5M [02:52&lt;00:29, 466kB/s]
- 69%|######8   | 28.6M/41.5M [02:52&lt;00:29, 453kB/s]
- 69%|######9   | 28.7M/41.5M [02:53&lt;00:34, 395kB/s]
- 69%|######9   | 28.7M/41.5M [02:53&lt;00:33, 403kB/s]
- 69%|######9   | 28.8M/41.5M [02:53&lt;00:32, 411kB/s]
- 69%|######9   | 28.8M/41.5M [02:53&lt;00:31, 421kB/s]
- 70%|######9   | 28.9M/41.5M [02:53&lt;00:32, 403kB/s]
- 70%|######9   | 28.9M/41.5M [02:53&lt;00:32, 404kB/s]
- 70%|######9   | 29.0M/41.5M [02:53&lt;00:29, 439kB/s]
- 70%|######9   | 29.0M/41.5M [02:53&lt;00:31, 417kB/s]
- 70%|#######   | 29.1M/41.5M [02:54&lt;00:29, 436kB/s]
- 70%|#######   | 29.1M/41.5M [02:54&lt;00:40, 320kB/s]
- 70%|#######   | 29.2M/41.5M [02:54&lt;00:30, 423kB/s]
- 71%|#######   | 29.3M/41.5M [02:54&lt;00:31, 407kB/s]
- 71%|#######   | 29.3M/41.5M [02:54&lt;00:33, 378kB/s]
- 71%|#######   | 29.4M/41.5M [02:54&lt;00:33, 375kB/s]
- 71%|#######   | 29.4M/41.5M [02:55&lt;00:33, 372kB/s]
- 71%|#######1  | 29.5M/41.5M [02:55&lt;00:33, 371kB/s]
- 71%|#######1  | 29.6M/41.5M [02:55&lt;00:29, 417kB/s]
- 71%|#######1  | 29.6M/41.5M [02:55&lt;00:29, 421kB/s]
- 71%|#######1  | 29.7M/41.5M [02:55&lt;00:33, 373kB/s]
- 72%|#######1  | 29.7M/41.5M [02:55&lt;00:34, 353kB/s]
- 72%|#######1  | 29.8M/41.5M [02:55&lt;00:33, 371kB/s]
- 72%|#######1  | 29.8M/41.5M [02:56&lt;00:29, 411kB/s]
- 72%|#######1  | 29.9M/41.5M [02:56&lt;00:30, 398kB/s]
- 72%|#######2  | 29.9M/41.5M [02:56&lt;00:32, 369kB/s]
- 72%|#######2  | 30.0M/41.5M [02:56&lt;00:32, 370kB/s]
- 72%|#######2  | 30.0M/41.5M [02:56&lt;00:29, 407kB/s]
- 72%|#######2  | 30.1M/41.5M [02:56&lt;00:30, 394kB/s]
- 73%|#######2  | 30.1M/41.5M [02:56&lt;00:32, 366kB/s]
- 73%|#######2  | 30.1M/41.5M [02:57&lt;00:40, 290kB/s]
- 73%|#######2  | 30.2M/41.5M [02:57&lt;00:32, 359kB/s]
- 73%|#######2  | 30.2M/41.5M [02:57&lt;00:32, 361kB/s]
- 73%|#######2  | 30.3M/41.5M [02:57&lt;00:34, 342kB/s]
- 73%|#######3  | 30.3M/41.5M [02:57&lt;00:38, 303kB/s]
- 73%|#######3  | 30.4M/41.5M [02:57&lt;00:36, 319kB/s]
- 73%|#######3  | 30.4M/41.5M [02:57&lt;00:35, 332kB/s]
- 73%|#######3  | 30.4M/41.5M [02:58&lt;00:35, 323kB/s]
- 73%|#######3  | 30.5M/41.5M [02:58&lt;00:34, 335kB/s]
- 74%|#######3  | 30.5M/41.5M [02:58&lt;00:31, 365kB/s]
- 74%|#######3  | 30.6M/41.5M [02:58&lt;00:33, 343kB/s]
- 74%|#######3  | 30.6M/41.5M [02:58&lt;00:32, 347kB/s]
- 74%|#######3  | 30.6M/41.5M [02:58&lt;00:31, 359kB/s]
- 74%|#######3  | 30.7M/41.5M [02:58&lt;00:33, 341kB/s]
- 74%|#######4  | 30.7M/41.5M [02:58&lt;00:32, 350kB/s]
- 74%|#######4  | 30.8M/41.5M [02:58&lt;00:28, 395kB/s]
- 74%|#######4  | 30.8M/41.5M [02:59&lt;00:30, 366kB/s]
- 74%|#######4  | 30.9M/41.5M [02:59&lt;00:30, 368kB/s]
- 74%|#######4  | 30.9M/41.5M [02:59&lt;00:28, 387kB/s]
- 75%|#######4  | 30.9M/41.5M [02:59&lt;00:30, 361kB/s]
- 75%|#######4  | 31.0M/41.5M [02:59&lt;00:30, 363kB/s]
- 75%|#######4  | 31.0M/41.5M [02:59&lt;00:27, 405kB/s]
- 75%|#######4  | 31.1M/41.5M [02:59&lt;00:29, 373kB/s]
- 75%|#######4  | 31.1M/41.5M [02:59&lt;00:27, 392kB/s]
- 75%|#######5  | 31.2M/41.5M [03:00&lt;00:26, 406kB/s]
- 75%|#######5  | 31.2M/41.5M [03:00&lt;00:27, 393kB/s]
- 75%|#######5  | 31.2M/41.5M [03:00&lt;00:27, 386kB/s]
- 75%|#######5  | 31.3M/41.5M [03:00&lt;00:26, 401kB/s]
- 76%|#######5  | 31.3M/41.5M [03:00&lt;00:28, 370kB/s]
- 76%|#######5  | 31.4M/41.5M [03:00&lt;00:43, 243kB/s]
- 76%|#######5  | 31.5M/41.5M [03:01&lt;00:36, 287kB/s]
- 76%|#######5  | 31.5M/41.5M [03:01&lt;00:27, 376kB/s]
- 76%|#######6  | 31.6M/41.5M [03:01&lt;00:30, 345kB/s]
- 76%|#######6  | 31.6M/41.5M [03:01&lt;00:29, 349kB/s]
- 76%|#######6  | 31.7M/41.5M [03:01&lt;00:30, 338kB/s]
- 76%|#######6  | 31.7M/41.5M [03:01&lt;00:30, 339kB/s]
- 76%|#######6  | 31.7M/41.5M [03:01&lt;00:30, 332kB/s]
- 77%|#######6  | 31.8M/41.5M [03:01&lt;00:29, 344kB/s]
- 77%|#######6  | 31.8M/41.5M [03:02&lt;00:30, 330kB/s]
- 77%|#######6  | 31.9M/41.5M [03:02&lt;00:29, 340kB/s]
- 77%|#######6  | 31.9M/41.5M [03:02&lt;00:28, 351kB/s]
- 77%|#######6  | 31.9M/41.5M [03:02&lt;00:28, 355kB/s]
- 77%|#######7  | 32.0M/41.5M [03:02&lt;00:27, 358kB/s]
- 77%|#######7  | 32.0M/41.5M [03:02&lt;00:29, 342kB/s]
- 77%|#######7  | 32.0M/41.5M [03:02&lt;00:28, 348kB/s]
- 77%|#######7  | 32.1M/41.5M [03:02&lt;00:26, 376kB/s]
- 77%|#######7  | 32.1M/41.5M [03:03&lt;00:26, 372kB/s]
- 78%|#######7  | 32.2M/41.5M [03:03&lt;00:26, 370kB/s]
- 78%|#######7  | 32.2M/41.5M [03:03&lt;00:24, 392kB/s]
- 78%|#######7  | 32.3M/41.5M [03:03&lt;00:25, 383kB/s]
- 78%|#######7  | 32.3M/41.5M [03:03&lt;00:25, 378kB/s]
- 78%|#######7  | 32.4M/41.5M [03:03&lt;00:24, 396kB/s]
- 78%|#######8  | 32.4M/41.5M [03:03&lt;00:25, 367kB/s]
- 78%|#######8  | 32.4M/41.5M [03:03&lt;00:25, 366kB/s]
- 78%|#######8  | 32.5M/41.5M [03:03&lt;00:24, 383kB/s]
- 78%|#######8  | 32.5M/41.5M [03:04&lt;00:24, 383kB/s]
- 79%|#######8  | 32.6M/41.5M [03:04&lt;00:24, 378kB/s]
- 79%|#######8  | 32.6M/41.5M [03:04&lt;00:22, 417kB/s]
- 79%|#######8  | 32.7M/41.5M [03:04&lt;00:23, 401kB/s]
- 79%|#######8  | 32.7M/41.5M [03:04&lt;00:23, 391kB/s]
- 79%|#######8  | 32.8M/41.5M [03:04&lt;00:26, 346kB/s]
- 79%|#######9  | 32.8M/41.5M [03:04&lt;00:22, 408kB/s]
- 79%|#######9  | 32.9M/41.5M [03:04&lt;00:22, 396kB/s]
- 79%|#######9  | 32.9M/41.5M [03:05&lt;00:23, 388kB/s]
- 79%|#######9  | 33.0M/41.5M [03:05&lt;00:22, 403kB/s]
- 80%|#######9  | 33.0M/41.5M [03:05&lt;00:23, 372kB/s]
- 80%|#######9  | 33.0M/41.5M [03:05&lt;00:23, 370kB/s]
- 80%|#######9  | 33.1M/41.5M [03:05&lt;00:25, 351kB/s]
- 80%|#######9  | 33.2M/41.5M [03:05&lt;00:23, 373kB/s]
- 80%|########  | 33.2M/41.5M [03:05&lt;00:23, 371kB/s]
- 80%|########  | 33.3M/41.5M [03:06&lt;00:22, 385kB/s]
- 80%|########  | 33.3M/41.5M [03:06&lt;00:28, 300kB/s]
- 81%|########  | 33.4M/41.5M [03:06&lt;00:21, 402kB/s]
- 81%|########  | 33.5M/41.5M [03:06&lt;00:22, 376kB/s]
- 81%|########  | 33.5M/41.5M [03:06&lt;00:23, 359kB/s]
- 81%|########  | 33.6M/41.5M [03:07&lt;00:23, 348kB/s]
- 81%|########1 | 33.6M/41.5M [03:07&lt;00:23, 353kB/s]
- 81%|########1 | 33.7M/41.5M [03:07&lt;00:22, 358kB/s]
- 81%|########1 | 33.8M/41.5M [03:07&lt;00:22, 360kB/s]
- 82%|########1 | 33.8M/41.5M [03:07&lt;00:22, 362kB/s]
- 82%|########1 | 33.9M/41.5M [03:07&lt;00:19, 409kB/s]
- 82%|########1 | 33.9M/41.5M [03:07&lt;00:19, 400kB/s]
- 82%|########1 | 34.0M/41.5M [03:08&lt;00:19, 409kB/s]
- 82%|########2 | 34.0M/41.5M [03:08&lt;00:21, 361kB/s]
- 82%|########2 | 34.1M/41.5M [03:08&lt;00:18, 417kB/s]
- 82%|########2 | 34.1M/41.5M [03:08&lt;00:19, 402kB/s]
- 82%|########2 | 34.2M/41.5M [03:08&lt;00:18, 411kB/s]
- 83%|########2 | 34.2M/41.5M [03:08&lt;00:18, 420kB/s]
- 83%|########2 | 34.3M/41.5M [03:08&lt;00:18, 403kB/s]
- 83%|########2 | 34.3M/41.5M [03:09&lt;00:18, 412kB/s]
- 83%|########2 | 34.4M/41.5M [03:09&lt;00:17, 422kB/s]
- 83%|########2 | 34.4M/41.5M [03:09&lt;00:18, 404kB/s]
- 83%|########3 | 34.5M/41.5M [03:09&lt;00:18, 392kB/s]
- 83%|########3 | 34.5M/41.5M [03:09&lt;00:17, 428kB/s]
- 83%|########3 | 34.6M/41.5M [03:09&lt;00:17, 408kB/s]
- 83%|########3 | 34.6M/41.5M [03:09&lt;00:17, 416kB/s]
- 84%|########3 | 34.7M/41.5M [03:09&lt;00:16, 425kB/s]
- 84%|########3 | 34.7M/41.5M [03:09&lt;00:17, 405kB/s]
- 84%|########3 | 34.7M/41.5M [03:10&lt;00:17, 394kB/s]
- 84%|########3 | 34.8M/41.5M [03:10&lt;00:24, 287kB/s]
- 84%|########4 | 34.9M/41.5M [03:10&lt;00:18, 374kB/s]
- 84%|########4 | 34.9M/41.5M [03:10&lt;00:17, 389kB/s]
- 84%|########4 | 34.9M/41.5M [03:10&lt;00:19, 348kB/s]
- 84%|########4 | 35.0M/41.5M [03:10&lt;00:20, 338kB/s]
- 84%|########4 | 35.0M/41.5M [03:11&lt;00:27, 245kB/s]
- 85%|########4 | 35.1M/41.5M [03:11&lt;00:19, 344kB/s]
- 85%|########4 | 35.1M/41.5M [03:11&lt;00:20, 322kB/s]
- 85%|########4 | 35.2M/41.5M [03:11&lt;00:22, 294kB/s]
- 85%|########4 | 35.2M/41.5M [03:11&lt;00:22, 296kB/s]
- 85%|########4 | 35.3M/41.5M [03:11&lt;00:25, 261kB/s]
- 85%|########5 | 35.3M/41.5M [03:12&lt;00:24, 270kB/s]
- 85%|########5 | 35.3M/41.5M [03:12&lt;00:22, 282kB/s]
- 85%|########5 | 35.4M/41.5M [03:12&lt;00:22, 288kB/s]
- 85%|########5 | 35.4M/41.5M [03:12&lt;00:23, 277kB/s]
- 85%|########5 | 35.4M/41.5M [03:12&lt;00:22, 282kB/s]
- 86%|########5 | 35.5M/41.5M [03:12&lt;00:21, 292kB/s]
- 86%|########5 | 35.5M/41.5M [03:12&lt;00:21, 295kB/s]
- 86%|########5 | 35.6M/41.5M [03:13&lt;00:22, 281kB/s]
- 86%|########5 | 35.6M/41.5M [03:13&lt;00:21, 285kB/s]
- 86%|########5 | 35.6M/41.5M [03:13&lt;00:20, 295kB/s]
- 86%|########5 | 35.7M/41.5M [03:13&lt;00:19, 314kB/s]
- 86%|########6 | 35.7M/41.5M [03:13&lt;00:20, 294kB/s]
- 86%|########6 | 35.7M/41.5M [03:13&lt;00:21, 277kB/s]
- 86%|########6 | 35.8M/41.5M [03:13&lt;00:20, 290kB/s]
- 86%|########6 | 35.8M/41.5M [03:13&lt;00:20, 293kB/s]
- 86%|########6 | 35.9M/41.5M [03:14&lt;00:19, 298kB/s]
- 87%|########6 | 35.9M/41.5M [03:14&lt;00:21, 279kB/s]
- 87%|########6 | 35.9M/41.5M [03:14&lt;00:25, 225kB/s]
- 87%|########6 | 36.0M/41.5M [03:14&lt;00:19, 293kB/s]
- 87%|########6 | 36.0M/41.5M [03:14&lt;00:22, 256kB/s]
- 87%|########6 | 36.1M/41.5M [03:14&lt;00:20, 273kB/s]
- 87%|########6 | 36.1M/41.5M [03:15&lt;00:21, 258kB/s]
- 87%|########7 | 36.1M/41.5M [03:15&lt;00:21, 264kB/s]
- 87%|########7 | 36.2M/41.5M [03:15&lt;00:20, 267kB/s]
- 87%|########7 | 36.2M/41.5M [03:15&lt;00:19, 284kB/s]
- 87%|########7 | 36.3M/41.5M [03:15&lt;00:19, 282kB/s]
- 88%|########7 | 36.3M/41.5M [03:15&lt;00:19, 280kB/s]
- 88%|########7 | 36.4M/41.5M [03:16&lt;00:18, 292kB/s]
- 88%|########7 | 36.4M/41.5M [03:16&lt;00:17, 311kB/s]
- 88%|########7 | 36.5M/41.5M [03:16&lt;00:17, 293kB/s]
- 88%|########7 | 36.5M/41.5M [03:16&lt;00:18, 277kB/s]
- 88%|########8 | 36.5M/41.5M [03:16&lt;00:16, 305kB/s]
- 88%|########8 | 36.6M/41.5M [03:16&lt;00:15, 324kB/s]
- 88%|########8 | 36.6M/41.5M [03:16&lt;00:17, 300kB/s]
- 88%|########8 | 36.7M/41.5M [03:17&lt;00:18, 281kB/s]
- 88%|########8 | 36.7M/41.5M [03:17&lt;00:16, 309kB/s]
- 89%|########8 | 36.8M/41.5M [03:17&lt;00:24, 203kB/s]
- 89%|########8 | 36.8M/41.5M [03:17&lt;00:15, 316kB/s]
- 89%|########8 | 36.9M/41.5M [03:17&lt;00:16, 291kB/s]
- 89%|########8 | 36.9M/41.5M [03:18&lt;00:17, 274kB/s]
- 89%|########9 | 37.0M/41.5M [03:18&lt;00:18, 261kB/s]
- 89%|########9 | 37.0M/41.5M [03:18&lt;00:17, 265kB/s]
- 89%|########9 | 37.1M/41.5M [03:18&lt;00:17, 268kB/s]
- 89%|########9 | 37.1M/41.5M [03:18&lt;00:17, 270kB/s]
- 90%|########9 | 37.2M/41.5M [03:18&lt;00:15, 285kB/s]
- 90%|########9 | 37.2M/41.5M [03:19&lt;00:15, 282kB/s]
- 90%|########9 | 37.3M/41.5M [03:19&lt;00:15, 294kB/s]
- 90%|########9 | 37.3M/41.5M [03:19&lt;00:14, 311kB/s]
- 90%|########9 | 37.3M/41.5M [03:19&lt;00:14, 295kB/s]
- 90%|######### | 37.4M/41.5M [03:19&lt;00:14, 299kB/s]
- 90%|######### | 37.4M/41.5M [03:19&lt;00:14, 299kB/s]
- 90%|######### | 37.5M/41.5M [03:20&lt;00:13, 318kB/s]
- 90%|######### | 37.5M/41.5M [03:20&lt;00:14, 298kB/s]
- 90%|######### | 37.5M/41.5M [03:20&lt;00:13, 302kB/s]
- 91%|######### | 37.6M/41.5M [03:20&lt;00:13, 301kB/s]
- 91%|######### | 37.6M/41.5M [03:20&lt;00:12, 321kB/s]
- 91%|######### | 37.6M/41.5M [03:20&lt;00:13, 298kB/s]
- 91%|######### | 37.7M/41.5M [03:20&lt;00:13, 302kB/s]
- 91%|######### | 37.7M/41.5M [03:20&lt;00:13, 301kB/s]
- 91%|#########1| 37.8M/41.5M [03:21&lt;00:12, 321kB/s]
- 91%|#########1| 37.8M/41.5M [03:21&lt;00:12, 298kB/s]
- 91%|#########1| 37.8M/41.5M [03:21&lt;00:12, 302kB/s]
- 91%|#########1| 37.9M/41.5M [03:21&lt;00:12, 301kB/s]
- 91%|#########1| 37.9M/41.5M [03:21&lt;00:11, 322kB/s]
- 91%|#########1| 38.0M/41.5M [03:21&lt;00:12, 298kB/s]
- 92%|#########1| 38.0M/41.5M [03:21&lt;00:12, 303kB/s]
- 92%|#########1| 38.0M/41.5M [03:22&lt;00:11, 302kB/s]
- 92%|#########1| 38.1M/41.5M [03:22&lt;00:11, 322kB/s]
- 92%|#########1| 38.1M/41.5M [03:22&lt;00:11, 316kB/s]
- 92%|#########1| 38.2M/41.5M [03:22&lt;00:11, 315kB/s]
- 92%|#########2| 38.2M/41.5M [03:22&lt;00:11, 311kB/s]
- 92%|#########2| 38.2M/41.5M [03:22&lt;00:10, 328kB/s]
- 92%|#########2| 38.3M/41.5M [03:22&lt;00:10, 321kB/s]
- 92%|#########2| 38.3M/41.5M [03:22&lt;00:10, 319kB/s]
- 93%|#########2| 38.4M/41.5M [03:23&lt;00:09, 349kB/s]
- 93%|#########2| 38.4M/41.5M [03:23&lt;00:09, 355kB/s]
- 93%|#########2| 38.5M/41.5M [03:23&lt;00:09, 340kB/s]
- 93%|#########2| 38.5M/41.5M [03:23&lt;00:13, 232kB/s]
- 93%|#########3| 38.6M/41.5M [03:23&lt;00:08, 372kB/s]
- 93%|#########3| 38.7M/41.5M [03:24&lt;00:08, 343kB/s]
- 93%|#########3| 38.7M/41.5M [03:24&lt;00:08, 323kB/s]
- 93%|#########3| 38.8M/41.5M [03:24&lt;00:12, 235kB/s]
- 94%|#########3| 38.9M/41.5M [03:24&lt;00:08, 335kB/s]
- 94%|#########3| 38.9M/41.5M [03:24&lt;00:09, 296kB/s]
- 94%|#########3| 38.9M/41.5M [03:25&lt;00:09, 281kB/s]
- 94%|#########3| 39.0M/41.5M [03:25&lt;00:09, 285kB/s]
- 94%|#########4| 39.0M/41.5M [03:25&lt;00:09, 277kB/s]
- 94%|#########4| 39.0M/41.5M [03:25&lt;00:09, 268kB/s]
- 94%|#########4| 39.1M/41.5M [03:25&lt;00:09, 263kB/s]
- 94%|#########4| 39.1M/41.5M [03:25&lt;00:09, 273kB/s]
- 94%|#########4| 39.2M/41.5M [03:25&lt;00:08, 283kB/s]
- 94%|#########4| 39.2M/41.5M [03:26&lt;00:08, 271kB/s]
- 95%|#########4| 39.2M/41.5M [03:26&lt;00:08, 265kB/s]
- 95%|#########4| 39.3M/41.5M [03:26&lt;00:08, 276kB/s]
- 95%|#########4| 39.3M/41.5M [03:26&lt;00:08, 267kB/s]
- 95%|#########4| 39.3M/41.5M [03:26&lt;00:08, 260kB/s]
- 95%|#########4| 39.4M/41.5M [03:26&lt;00:08, 270kB/s]
- 95%|#########4| 39.4M/41.5M [03:26&lt;00:07, 283kB/s]
- 95%|#########5| 39.4M/41.5M [03:26&lt;00:07, 273kB/s]
- 95%|#########5| 39.5M/41.5M [03:27&lt;00:08, 265kB/s]
- 95%|#########5| 39.5M/41.5M [03:27&lt;00:07, 273kB/s]
- 95%|#########5| 39.5M/41.5M [03:27&lt;00:07, 286kB/s]
- 95%|#########5| 39.6M/41.5M [03:27&lt;00:07, 275kB/s]
- 95%|#########5| 39.6M/41.5M [03:27&lt;00:07, 266kB/s]
- 96%|#########5| 39.6M/41.5M [03:27&lt;00:06, 292kB/s]
- 96%|#########5| 39.7M/41.5M [03:27&lt;00:06, 302kB/s]
- 96%|#########5| 39.7M/41.5M [03:28&lt;00:06, 302kB/s]
- 96%|#########5| 39.8M/41.5M [03:28&lt;00:06, 285kB/s]
- 96%|#########5| 39.8M/41.5M [03:28&lt;00:05, 305kB/s]
- 96%|#########6| 39.8M/41.5M [03:28&lt;00:05, 311kB/s]
- 96%|#########6| 39.9M/41.5M [03:28&lt;00:05, 290kB/s]
- 96%|#########6| 39.9M/41.5M [03:28&lt;00:05, 295kB/s]
- 96%|#########6| 40.0M/41.5M [03:28&lt;00:05, 318kB/s]
- 96%|#########6| 40.0M/41.5M [03:28&lt;00:04, 333kB/s]
- 97%|#########6| 40.0M/41.5M [03:29&lt;00:04, 323kB/s]
- 97%|#########6| 40.1M/41.5M [03:29&lt;00:04, 300kB/s]
- 97%|#########6| 40.1M/41.5M [03:29&lt;00:04, 333kB/s]
- 97%|#########6| 40.2M/41.5M [03:29&lt;00:04, 332kB/s]
- 97%|#########6| 40.2M/41.5M [03:29&lt;00:04, 322kB/s]
- 97%|#########7| 40.2M/41.5M [03:29&lt;00:04, 318kB/s]
- 97%|#########7| 40.3M/41.5M [03:29&lt;00:03, 346kB/s]
- 97%|#########7| 40.4M/41.5M [03:30&lt;00:03, 360kB/s]
- 97%|#########7| 40.4M/41.5M [03:30&lt;00:03, 341kB/s]
- 97%|#########7| 40.4M/41.5M [03:30&lt;00:03, 349kB/s]
- 98%|#########7| 40.5M/41.5M [03:30&lt;00:02, 374kB/s]
- 98%|#########7| 40.5M/41.5M [03:30&lt;00:02, 392kB/s]
- 98%|#########7| 40.6M/41.5M [03:30&lt;00:02, 381kB/s]
- 98%|#########7| 40.6M/41.5M [03:30&lt;00:02, 396kB/s]
- 98%|#########8| 40.7M/41.5M [03:30&lt;00:01, 426kB/s]
- 98%|#########8| 40.8M/41.5M [03:31&lt;00:01, 465kB/s]
- 98%|#########8| 40.8M/41.5M [03:31&lt;00:01, 450kB/s]
- 99%|#########8| 40.9M/41.5M [03:31&lt;00:01, 462kB/s]
- 99%|#########8| 41.0M/41.5M [03:31&lt;00:01, 509kB/s]
- 99%|#########8| 41.1M/41.5M [03:31&lt;00:00, 560kB/s]
- 99%|#########9| 41.1M/41.5M [03:31&lt;00:00, 520kB/s]
- 99%|#########9| 41.2M/41.5M [03:32&lt;00:00, 375kB/s]
-100%|#########9| 41.4M/41.5M [03:32&lt;00:00, 618kB/s]
-100%|#########9| 41.4M/41.5M [03:32&lt;00:00, 603kB/s]
-100%|##########| 41.5M/41.5M [03:32&lt;00:00, 205kB/s]
+  0%|          | 16.0k/41.5M [00:00&lt;07:38, 94.8kB/s]
+  0%|          | 48.0k/41.5M [00:00&lt;04:49, 150kB/s]
+  0%|          | 104k/41.5M [00:00&lt;03:06, 232kB/s]
+  1%|          | 216k/41.5M [00:00&lt;01:47, 401kB/s]
+  1%|          | 328k/41.5M [00:00&lt;01:27, 495kB/s]
+  1%|1         | 456k/41.5M [00:01&lt;01:13, 583kB/s]
+  1%|1         | 584k/41.5M [00:01&lt;01:07, 639kB/s]
+  2%|1         | 720k/41.5M [00:01&lt;01:01, 691kB/s]
+  2%|2         | 864k/41.5M [00:01&lt;00:57, 741kB/s]
+  2%|2         | 0.98M/41.5M [00:01&lt;00:54, 774kB/s]
+  3%|2         | 1.14M/41.5M [00:01&lt;00:51, 826kB/s]
+  3%|3         | 1.30M/41.5M [00:02&lt;00:48, 876kB/s]
+  4%|3         | 1.47M/41.5M [00:02&lt;00:46, 911kB/s]
+  4%|3         | 1.65M/41.5M [00:02&lt;00:43, 963kB/s]
+  4%|4         | 1.83M/41.5M [00:02&lt;00:41, 1.00MB/s]
+  5%|4         | 1.96M/41.5M [00:02&lt;00:44, 940kB/s]
+  5%|5         | 2.15M/41.5M [00:02&lt;00:41, 998kB/s]
+  6%|5         | 2.33M/41.5M [00:03&lt;00:40, 1.02MB/s]
+  6%|6         | 2.52M/41.5M [00:03&lt;00:38, 1.06MB/s]
+  7%|6         | 2.70M/41.5M [00:03&lt;00:37, 1.08MB/s]
+  7%|6         | 2.89M/41.5M [00:03&lt;00:36, 1.09MB/s]
+  7%|7         | 3.08M/41.5M [00:03&lt;00:36, 1.11MB/s]
+  8%|7         | 3.26M/41.5M [00:03&lt;00:36, 1.10MB/s]
+  8%|8         | 3.45M/41.5M [00:04&lt;00:35, 1.11MB/s]
+  9%|8         | 3.63M/41.5M [00:04&lt;00:35, 1.12MB/s]
+  9%|9         | 3.82M/41.5M [00:04&lt;00:35, 1.12MB/s]
+ 10%|9         | 4.00M/41.5M [00:04&lt;00:35, 1.11MB/s]
+ 10%|#         | 4.19M/41.5M [00:04&lt;00:35, 1.12MB/s]
+ 11%|#         | 4.38M/41.5M [00:05&lt;00:34, 1.12MB/s]
+ 11%|#         | 4.56M/41.5M [00:05&lt;00:34, 1.12MB/s]
+ 11%|#1        | 4.74M/41.5M [00:05&lt;00:34, 1.11MB/s]
+ 12%|#1        | 4.93M/41.5M [00:05&lt;00:34, 1.12MB/s]
+ 12%|#2        | 5.12M/41.5M [00:05&lt;00:33, 1.12MB/s]
+ 13%|#2        | 5.30M/41.5M [00:05&lt;00:33, 1.13MB/s]
+ 13%|#3        | 5.48M/41.5M [00:06&lt;00:33, 1.11MB/s]
+ 14%|#3        | 5.67M/41.5M [00:06&lt;00:33, 1.12MB/s]
+ 14%|#4        | 5.86M/41.5M [00:06&lt;00:33, 1.12MB/s]
+ 15%|#4        | 6.05M/41.5M [00:06&lt;00:33, 1.13MB/s]
+ 15%|#5        | 6.23M/41.5M [00:06&lt;00:32, 1.13MB/s]
+ 15%|#5        | 6.41M/41.5M [00:06&lt;00:32, 1.11MB/s]
+ 16%|#5        | 6.60M/41.5M [00:07&lt;00:32, 1.12MB/s]
+ 16%|#6        | 6.79M/41.5M [00:07&lt;00:32, 1.12MB/s]
+ 17%|#6        | 6.98M/41.5M [00:07&lt;00:32, 1.13MB/s]
+ 17%|#7        | 7.16M/41.5M [00:07&lt;00:31, 1.13MB/s]
+ 18%|#7        | 7.34M/41.5M [00:07&lt;00:32, 1.12MB/s]
+ 18%|#8        | 7.53M/41.5M [00:07&lt;00:31, 1.12MB/s]
+ 19%|#8        | 7.72M/41.5M [00:08&lt;00:31, 1.12MB/s]
+ 19%|#9        | 7.91M/41.5M [00:08&lt;00:31, 1.13MB/s]
+ 20%|#9        | 8.09M/41.5M [00:08&lt;00:31, 1.13MB/s]
+ 20%|#9        | 8.28M/41.5M [00:08&lt;00:30, 1.13MB/s]
+ 20%|##        | 8.47M/41.5M [00:08&lt;00:30, 1.13MB/s]
+ 21%|##        | 8.61M/41.5M [00:09&lt;00:32, 1.05MB/s]
+ 21%|##1       | 8.74M/41.5M [00:09&lt;00:35, 972kB/s]
+ 22%|##1       | 8.93M/41.5M [00:09&lt;00:33, 1.02MB/s]
+ 22%|##1       | 9.12M/41.5M [00:09&lt;00:32, 1.05MB/s]
+ 22%|##2       | 9.30M/41.5M [00:09&lt;00:31, 1.08MB/s]
+ 23%|##2       | 9.50M/41.5M [00:09&lt;00:30, 1.11MB/s]
+ 23%|##3       | 9.69M/41.5M [00:10&lt;00:29, 1.12MB/s]
+ 24%|##3       | 9.88M/41.5M [00:10&lt;00:29, 1.12MB/s]
+ 24%|##4       | 10.1M/41.5M [00:10&lt;00:29, 1.12MB/s]
+ 25%|##4       | 10.2M/41.5M [00:10&lt;00:31, 1.04MB/s]
+ 25%|##4       | 10.3M/41.5M [00:10&lt;00:33, 970kB/s]
+ 25%|##5       | 10.5M/41.5M [00:10&lt;00:31, 1.02MB/s]
+ 26%|##5       | 10.7M/41.5M [00:11&lt;00:30, 1.05MB/s]
+ 26%|##6       | 10.9M/41.5M [00:11&lt;00:29, 1.08MB/s]
+ 27%|##6       | 11.1M/41.5M [00:11&lt;00:28, 1.11MB/s]
+ 27%|##7       | 11.3M/41.5M [00:11&lt;00:28, 1.11MB/s]
+ 28%|##7       | 11.5M/41.5M [00:11&lt;00:28, 1.12MB/s]
+ 28%|##8       | 11.7M/41.5M [00:11&lt;00:27, 1.12MB/s]
+ 29%|##8       | 11.8M/41.5M [00:12&lt;00:27, 1.13MB/s]
+ 29%|##8       | 12.0M/41.5M [00:12&lt;00:27, 1.13MB/s]
+ 29%|##9       | 12.2M/41.5M [00:12&lt;00:27, 1.13MB/s]
+ 30%|##9       | 12.3M/41.5M [00:12&lt;00:31, 981kB/s]
+ 30%|###       | 12.5M/41.5M [00:12&lt;00:28, 1.06MB/s]
+ 30%|###       | 12.6M/41.5M [00:13&lt;00:31, 955kB/s]
+ 31%|###       | 12.7M/41.5M [00:13&lt;00:35, 838kB/s]
+ 31%|###1      | 12.9M/41.5M [00:13&lt;00:36, 827kB/s]
+ 31%|###1      | 13.0M/41.5M [00:13&lt;00:37, 805kB/s]
+ 32%|###1      | 13.1M/41.5M [00:13&lt;00:36, 804kB/s]
+ 32%|###1      | 13.3M/41.5M [00:13&lt;00:36, 804kB/s]
+ 32%|###2      | 13.4M/41.5M [00:14&lt;00:36, 817kB/s]
+ 33%|###2      | 13.5M/41.5M [00:14&lt;00:36, 813kB/s]
+ 33%|###2      | 13.7M/41.5M [00:14&lt;00:36, 810kB/s]
+ 33%|###3      | 13.8M/41.5M [00:14&lt;00:36, 806kB/s]
+ 34%|###3      | 13.9M/41.5M [00:14&lt;00:35, 805kB/s]
+ 34%|###3      | 14.1M/41.5M [00:14&lt;00:35, 804kB/s]
+ 34%|###4      | 14.2M/41.5M [00:15&lt;00:35, 804kB/s]
+ 35%|###4      | 14.3M/41.5M [00:15&lt;00:35, 803kB/s]
+ 35%|###4      | 14.5M/41.5M [00:15&lt;00:35, 803kB/s]
+ 35%|###5      | 14.6M/41.5M [00:15&lt;00:38, 732kB/s]
+ 35%|###5      | 14.7M/41.5M [00:15&lt;00:41, 682kB/s]
+ 36%|###5      | 14.8M/41.5M [00:15&lt;00:39, 718kB/s]
+ 36%|###5      | 14.9M/41.5M [00:16&lt;00:40, 686kB/s]
+ 36%|###6      | 15.0M/41.5M [00:16&lt;00:41, 664kB/s]
+ 36%|###6      | 15.1M/41.5M [00:16&lt;00:39, 706kB/s]
+ 37%|###6      | 15.3M/41.5M [00:16&lt;00:37, 735kB/s]
+ 37%|###7      | 15.4M/41.5M [00:16&lt;00:36, 755kB/s]
+ 37%|###7      | 15.5M/41.5M [00:17&lt;00:35, 769kB/s]
+ 38%|###7      | 15.7M/41.5M [00:17&lt;00:34, 793kB/s]
+ 38%|###8      | 15.8M/41.5M [00:17&lt;00:33, 796kB/s]
+ 38%|###8      | 15.9M/41.5M [00:17&lt;00:33, 798kB/s]
+ 39%|###8      | 16.1M/41.5M [00:17&lt;00:33, 799kB/s]
+ 39%|###9      | 16.2M/41.5M [00:17&lt;00:33, 800kB/s]
+ 39%|###9      | 16.3M/41.5M [00:18&lt;00:32, 815kB/s]
+ 40%|###9      | 16.5M/41.5M [00:18&lt;00:30, 860kB/s]
+ 40%|###9      | 16.6M/41.5M [00:18&lt;00:28, 915kB/s]
+ 40%|####      | 16.7M/41.5M [00:18&lt;00:27, 937kB/s]
+ 41%|####      | 16.8M/41.5M [00:18&lt;00:29, 887kB/s]
+ 41%|####      | 16.9M/41.5M [00:18&lt;00:33, 761kB/s]
+ 41%|####      | 17.0M/41.5M [00:18&lt;00:36, 713kB/s]
+ 41%|####1     | 17.1M/41.5M [00:19&lt;00:34, 741kB/s]
+ 42%|####1     | 17.3M/41.5M [00:19&lt;00:30, 824kB/s]
+ 42%|####1     | 17.4M/41.5M [00:19&lt;00:28, 876kB/s]
+ 42%|####2     | 17.5M/41.5M [00:19&lt;00:29, 851kB/s]
+ 43%|####2     | 17.7M/41.5M [00:19&lt;00:29, 835kB/s]
+ 43%|####2     | 17.8M/41.5M [00:19&lt;00:30, 825kB/s]
+ 43%|####3     | 17.9M/41.5M [00:20&lt;00:29, 831kB/s]
+ 44%|####3     | 18.1M/41.5M [00:20&lt;00:29, 823kB/s]
+ 44%|####3     | 18.2M/41.5M [00:20&lt;00:29, 817kB/s]
+ 44%|####4     | 18.3M/41.5M [00:20&lt;00:29, 812kB/s]
+ 45%|####4     | 18.5M/41.5M [00:20&lt;00:31, 763kB/s]
+ 45%|####4     | 18.6M/41.5M [00:20&lt;00:31, 774kB/s]
+ 45%|####5     | 18.7M/41.5M [00:21&lt;00:28, 845kB/s]
+ 45%|####5     | 18.9M/41.5M [00:21&lt;00:28, 832kB/s]
+ 46%|####5     | 19.0M/41.5M [00:21&lt;00:28, 823kB/s]
+ 46%|####6     | 19.1M/41.5M [00:21&lt;00:30, 771kB/s]
+ 46%|####6     | 19.3M/41.5M [00:21&lt;00:27, 840kB/s]
+ 47%|####6     | 19.4M/41.5M [00:21&lt;00:27, 828kB/s]
+ 47%|####7     | 19.5M/41.5M [00:22&lt;00:29, 776kB/s]
+ 47%|####7     | 19.7M/41.5M [00:22&lt;00:27, 844kB/s]
+ 48%|####7     | 19.8M/41.5M [00:22&lt;00:26, 845kB/s]
+ 48%|####8     | 20.0M/41.5M [00:22&lt;00:26, 861kB/s]
+ 48%|####8     | 20.1M/41.5M [00:22&lt;00:26, 857kB/s]
+ 49%|####8     | 20.2M/41.5M [00:23&lt;00:26, 855kB/s]
+ 49%|####9     | 20.4M/41.5M [00:23&lt;00:25, 867kB/s]
+ 50%|####9     | 20.5M/41.5M [00:23&lt;00:25, 876kB/s]
+ 50%|####9     | 20.7M/41.5M [00:23&lt;00:24, 896kB/s]
+ 50%|#####     | 20.9M/41.5M [00:23&lt;00:22, 962kB/s]
+ 50%|#####     | 20.9M/41.5M [00:23&lt;00:23, 916kB/s]
+ 51%|#####     | 21.0M/41.5M [00:23&lt;00:26, 802kB/s]
+ 51%|#####1    | 21.2M/41.5M [00:24&lt;00:23, 904kB/s]
+ 51%|#####1    | 21.3M/41.5M [00:24&lt;00:21, 996kB/s]
+ 52%|#####1    | 21.5M/41.5M [00:24&lt;00:20, 1.01MB/s]
+ 52%|#####2    | 21.7M/41.5M [00:24&lt;00:20, 1.02MB/s]
+ 53%|#####2    | 21.9M/41.5M [00:24&lt;00:19, 1.04MB/s]
+ 53%|#####3    | 22.0M/41.5M [00:24&lt;00:17, 1.13MB/s]
+ 53%|#####3    | 22.2M/41.5M [00:25&lt;00:18, 1.09MB/s]
+ 54%|#####3    | 22.3M/41.5M [00:25&lt;00:21, 950kB/s]
+ 54%|#####4    | 22.5M/41.5M [00:25&lt;00:18, 1.10MB/s]
+ 55%|#####4    | 22.6M/41.5M [00:25&lt;00:16, 1.21MB/s]
+ 55%|#####5    | 22.9M/41.5M [00:25&lt;00:15, 1.23MB/s]
+ 56%|#####5    | 23.1M/41.5M [00:25&lt;00:15, 1.26MB/s]
+ 56%|#####6    | 23.3M/41.5M [00:25&lt;00:13, 1.40MB/s]
+ 57%|#####6    | 23.4M/41.5M [00:26&lt;00:14, 1.33MB/s]
+ 57%|#####6    | 23.6M/41.5M [00:26&lt;00:14, 1.27MB/s]
+ 57%|#####7    | 23.8M/41.5M [00:26&lt;00:13, 1.42MB/s]
+ 58%|#####7    | 24.1M/41.5M [00:26&lt;00:12, 1.47MB/s]
+ 59%|#####8    | 24.3M/41.5M [00:26&lt;00:11, 1.53MB/s]
+ 59%|#####9    | 24.6M/41.5M [00:26&lt;00:10, 1.70MB/s]
+ 60%|#####9    | 24.8M/41.5M [00:26&lt;00:10, 1.61MB/s]
+ 60%|######    | 25.0M/41.5M [00:27&lt;00:11, 1.56MB/s]
+ 61%|######    | 25.2M/41.5M [00:27&lt;00:09, 1.74MB/s]
+ 62%|######1   | 25.5M/41.5M [00:27&lt;00:09, 1.81MB/s]
+ 62%|######2   | 25.9M/41.5M [00:27&lt;00:08, 2.02MB/s]
+ 63%|######2   | 26.1M/41.5M [00:27&lt;00:08, 1.92MB/s]
+ 63%|######3   | 26.3M/41.5M [00:27&lt;00:08, 1.83MB/s]
+ 64%|######4   | 26.6M/41.5M [00:27&lt;00:07, 2.08MB/s]
+ 65%|######5   | 27.0M/41.5M [00:28&lt;00:06, 2.32MB/s]
+ 66%|######5   | 27.2M/41.5M [00:28&lt;00:06, 2.20MB/s]
+ 66%|######6   | 27.4M/41.5M [00:28&lt;00:07, 2.10MB/s]
+ 67%|######7   | 27.8M/41.5M [00:28&lt;00:06, 2.37MB/s]
+ 68%|######8   | 28.2M/41.5M [00:28&lt;00:05, 2.66MB/s]
+ 69%|######8   | 28.5M/41.5M [00:28&lt;00:05, 2.49MB/s]
+ 69%|######9   | 28.8M/41.5M [00:28&lt;00:05, 2.39MB/s]
+ 70%|#######   | 29.2M/41.5M [00:28&lt;00:04, 2.70MB/s]
+ 71%|#######1  | 29.6M/41.5M [00:29&lt;00:03, 3.16MB/s]
+ 72%|#######2  | 30.0M/41.5M [00:29&lt;00:04, 2.80MB/s]
+ 73%|#######2  | 30.2M/41.5M [00:29&lt;00:04, 2.66MB/s]
+ 74%|#######4  | 30.7M/41.5M [00:29&lt;00:03, 3.00MB/s]
+ 75%|#######5  | 31.3M/41.5M [00:29&lt;00:02, 3.60MB/s]
+ 76%|#######6  | 31.6M/41.5M [00:29&lt;00:03, 3.20MB/s]
+ 77%|#######6  | 31.9M/41.5M [00:29&lt;00:03, 3.04MB/s]
+ 78%|#######8  | 32.5M/41.5M [00:29&lt;00:02, 3.42MB/s]
+ 80%|#######9  | 33.1M/41.5M [00:30&lt;00:02, 3.97MB/s]
+ 81%|########  | 33.5M/41.5M [00:30&lt;00:02, 3.57MB/s]
+ 82%|########1 | 33.8M/41.5M [00:30&lt;00:02, 3.39MB/s]
+ 83%|########3 | 34.5M/41.5M [00:30&lt;00:01, 4.07MB/s]
+ 84%|########4 | 34.9M/41.5M [00:30&lt;00:01, 4.03MB/s]
+ 85%|########4 | 35.3M/41.5M [00:30&lt;00:01, 3.80MB/s]
+ 87%|########6 | 35.9M/41.5M [00:30&lt;00:01, 4.45MB/s]
+ 88%|########7 | 36.3M/41.5M [00:30&lt;00:01, 4.37MB/s]
+ 89%|########8 | 36.8M/41.5M [00:31&lt;00:01, 4.12MB/s]
+ 90%|######### | 37.5M/41.5M [00:31&lt;00:00, 4.95MB/s]
+ 92%|#########1| 38.0M/41.5M [00:31&lt;00:00, 4.87MB/s]
+ 93%|#########2| 38.5M/41.5M [00:31&lt;00:00, 4.56MB/s]
+ 95%|#########4| 39.3M/41.5M [00:31&lt;00:00, 5.44MB/s]
+ 96%|#########5| 39.8M/41.5M [00:31&lt;00:00, 5.33MB/s]
+ 97%|#########7| 40.3M/41.5M [00:31&lt;00:00, 5.01MB/s]
+ 99%|#########9| 41.2M/41.5M [00:31&lt;00:00, 5.80MB/s]
+100%|##########| 41.5M/41.5M [00:31&lt;00:00, 1.36MB/s]
 </pre></div>
 </div>
 </div>
@@ -1753,7 +739,6 @@ python3 -m pip install -f https://release.oneflow.info <span class="nv">oneflow<
 OneFlow top-1 id: 281, class name: tabby, tabby cat
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes  56.368 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-oneflow-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/f7ae979fbe61064749ce0fb7a621eb4c/from_oneflow.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_oneflow.py</span></code></a></p>
diff --git a/docs/how_to/compile_models/from_paddle.html b/docs/how_to/compile_models/from_paddle.html
index 3bd23d425..036f66bc6 100644
--- a/docs/how_to/compile_models/from_paddle.html
+++ b/docs/how_to/compile_models/from_paddle.html
@@ -464,7 +464,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  5.058 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  6.750 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-paddle-py">
 <div class="sphx-glr-download 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 fff9db137..998171fa0 100644
--- a/docs/how_to/compile_models/from_pytorch.html
+++ b/docs/how_to/compile_models/from_pytorch.html
@@ -387,9 +387,10 @@ 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]
- 34%|###3      | 15.1M/44.7M [00:00&lt;00:00, 158MB/s]
- 82%|########2 | 36.7M/44.7M [00:00&lt;00:00, 199MB/s]
-100%|##########| 44.7M/44.7M [00:00&lt;00:00, 200MB/s]
+ 20%|##        | 9.11M/44.7M [00:00&lt;00:00, 95.5MB/s]
+ 58%|#####7    | 25.8M/44.7M [00:00&lt;00:00, 140MB/s]
+ 87%|########7 | 39.1M/44.7M [00:00&lt;00:00, 138MB/s]
+100%|##########| 44.7M/44.7M [00:00&lt;00:00, 126MB/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 622cfba5a..ae5d4d32a 100644
--- a/docs/how_to/compile_models/from_tensorflow.html
+++ b/docs/how_to/compile_models/from_tensorflow.html
@@ -607,7 +607,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  4.608 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  1.335 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-tensorflow-py">
 <div class="sphx-glr-download 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 768e49eda..48e9c72e9 100644
--- a/docs/how_to/compile_models/sg_execution_times.html
+++ b/docs/how_to/compile_models/sg_execution_times.html
@@ -300,18 +300,18 @@
             
   <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>08:45.039</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
+<p><strong>05:45.314</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
 <ul class="simple">
-<li><p><strong>03:56.368</strong>: <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></li>
-<li><p><strong>01:05.058</strong>: <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></li>
-<li><p><strong>01:04.608</strong>: <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></li>
-<li><p><strong>00:55.953</strong>: <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></li>
-<li><p><strong>00:25.238</strong>: <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></li>
-<li><p><strong>00:21.929</strong>: <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></li>
-<li><p><strong>00:21.064</strong>: <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></li>
-<li><p><strong>00:18.515</strong>: <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></li>
-<li><p><strong>00:13.939</strong>: <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></li>
-<li><p><strong>00:02.367</strong>: <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></li>
+<li><p><strong>01:06.750</strong>: <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></li>
+<li><p><strong>01:01.335</strong>: <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></li>
+<li><p><strong>00:57.209</strong>: <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></li>
+<li><p><strong>00:56.086</strong>: <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></li>
+<li><p><strong>00:25.758</strong>: <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></li>
+<li><p><strong>00:22.005</strong>: <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></li>
+<li><p><strong>00:21.522</strong>: <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></li>
+<li><p><strong>00:19.299</strong>: <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></li>
+<li><p><strong>00:12.821</strong>: <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></li>
+<li><p><strong>00:02.528</strong>: <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></li>
 </ul>
 </div>
 
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 f8867d90d..6eb05474c 100644
--- a/docs/how_to/deploy_models/deploy_model_on_android.html
+++ b/docs/how_to/deploy_models/deploy_model_on_android.html
@@ -622,7 +622,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.5411      16.4917      17.0716      15.9784       0.3933
+  16.1856      16.0276      16.8945      15.7889       0.4071
 </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 741c843b9..aa2d06247 100644
--- a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
+++ b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
@@ -409,16 +409,17 @@ 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]
-  6%|6         | 10.5M/170M [00:00&lt;00:01, 110MB/s]
- 14%|#4        | 24.3M/170M [00:00&lt;00:01, 130MB/s]
- 24%|##4       | 41.6M/170M [00:00&lt;00:00, 154MB/s]
- 33%|###3      | 56.2M/170M [00:00&lt;00:00, 151MB/s]
- 43%|####2     | 72.2M/170M [00:00&lt;00:00, 157MB/s]
- 51%|#####1    | 87.2M/170M [00:00&lt;00:00, 150MB/s]
- 62%|######2   | 106M/170M [00:00&lt;00:00, 165MB/s]
- 75%|#######5  | 128M/170M [00:00&lt;00:00, 185MB/s]
- 88%|########8 | 150M/170M [00:00&lt;00:00, 199MB/s]
-100%|##########| 170M/170M [00:01&lt;00:00, 175MB/s]
+  9%|8         | 14.8M/170M [00:00&lt;00:01, 155MB/s]
+ 17%|#7        | 29.6M/170M [00:00&lt;00:00, 152MB/s]
+ 26%|##5       | 44.1M/170M [00:00&lt;00:00, 148MB/s]
+ 37%|###6      | 62.8M/170M [00:00&lt;00:00, 166MB/s]
+ 46%|####6     | 78.7M/170M [00:00&lt;00:00, 161MB/s]
+ 58%|#####8    | 99.3M/170M [00:00&lt;00:00, 179MB/s]
+ 69%|######8   | 117M/170M [00:00&lt;00:00, 168MB/s]
+ 78%|#######8  | 133M/170M [00:00&lt;00:00, 160MB/s]
+ 89%|########9 | 152M/170M [00:00&lt;00:00, 172MB/s]
+ 99%|#########9| 168M/170M [00:01&lt;00:00, 159MB/s]
+100%|##########| 170M/170M [00:01&lt;00:00, 163MB/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;).
@@ -511,7 +512,7 @@ torchvision rcnn models.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Get 9 valid boxes
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes  4.266 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes  9.364 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-object-detection-pytorch-py">
 <div class="sphx-glr-download 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 da4c99418..1ceeae2b4 100644
--- a/docs/how_to/deploy_models/deploy_prequantized.html
+++ b/docs/how_to/deploy_models/deploy_prequantized.html
@@ -450,9 +450,8 @@ 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]
- 18%|#8        | 2.46M/13.6M [00:00&lt;00:00, 25.4MB/s]
- 36%|###6      | 4.89M/13.6M [00:00&lt;00:00, 23.9MB/s]
-100%|##########| 13.6M/13.6M [00:00&lt;00:00, 53.0MB/s]
+ 78%|#######7  | 10.6M/13.6M [00:00&lt;00:00, 111MB/s]
+100%|##########| 13.6M/13.6M [00:00&lt;00:00, 122MB/s]
 </pre></div>
 </div>
 </div>
@@ -541,7 +540,7 @@ output values are identical out of 1000 outputs from mobilenet v2.</p>
 <p class="sphx-glr-script-out">Out:</p>
 <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.5770      90.2819      99.6096      90.0963       1.0652
+  90.3820      90.2666      92.1516      90.1029       0.2942
 </pre></div>
 </div>
 <div class="admonition note">
@@ -580,7 +579,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  5.073 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  6.167 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-prequantized-py">
 <div class="sphx-glr-download 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 1a99846d7..b37c68645 100644
--- a/docs/how_to/deploy_models/deploy_prequantized_tflite.html
+++ b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
@@ -540,7 +540,7 @@ TFLite Top-5 labels: [387 102 386 341 349]
 <p class="sphx-glr-script-out">Out:</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  119.7476     119.6864     122.9695     118.9579      0.4654
+  121.7510     121.7453     124.2151     120.4985      0.5468
 </pre></div>
 </div>
 <div class="admonition note">
@@ -568,7 +568,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  51.960 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  54.000 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-prequantized-tflite-py">
 <div class="sphx-glr-download 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 187d32ed8..56d3bf131 100644
--- a/docs/how_to/deploy_models/deploy_quantized.html
+++ b/docs/how_to/deploy_models/deploy_quantized.html
@@ -480,7 +480,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  41.666 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  27.006 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-quantized-py">
 <div class="sphx-glr-download 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 ce7ab98cd..740274c47 100644
--- a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
+++ b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
@@ -415,24 +415,25 @@ 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         | 2388/132723 [00:00&lt;00:05, 23875.07KB/s]
-  5%|5         | 7085/132723 [00:00&lt;00:03, 37456.77KB/s]
- 11%|#1        | 15236/132723 [00:00&lt;00:02, 57566.91KB/s]
- 18%|#8        | 24105/132723 [00:00&lt;00:01, 69850.58KB/s]
- 25%|##4       | 32968/132723 [00:00&lt;00:01, 76618.78KB/s]
- 32%|###1      | 41852/132723 [00:00&lt;00:01, 80770.89KB/s]
- 38%|###7      | 49930/132723 [00:00&lt;00:01, 74637.82KB/s]
- 44%|####4     | 58782/132723 [00:00&lt;00:00, 78819.81KB/s]
- 50%|#####     | 66744/132723 [00:01&lt;00:01, 61068.55KB/s]
- 56%|#####6    | 74550/132723 [00:01&lt;00:00, 65303.78KB/s]
- 63%|######2   | 83448/132723 [00:01&lt;00:00, 71519.71KB/s]
- 70%|######9   | 92289/132723 [00:01&lt;00:00, 76124.67KB/s]
- 76%|#######5  | 100283/132723 [00:01&lt;00:00, 51870.75KB/s]
- 82%|########2 | 108973/132723 [00:01&lt;00:00, 59299.72KB/s]
- 88%|########8 | 116824/132723 [00:01&lt;00:00, 52831.61KB/s]
- 93%|#########2| 123058/132723 [00:02&lt;00:00, 50357.29KB/s]
- 99%|#########8| 131189/132723 [00:02&lt;00:00, 57181.45KB/s]
-100%|##########| 132723/132723 [00:02&lt;00:00, 61712.54KB/s]
+  3%|3         | 4131/132723 [00:00&lt;00:03, 41305.80KB/s]
+  7%|7         | 9887/132723 [00:00&lt;00:02, 50863.44KB/s]
+ 11%|#1        | 14974/132723 [00:00&lt;00:02, 47819.43KB/s]
+ 16%|#6        | 21366/132723 [00:00&lt;00:02, 53841.17KB/s]
+ 22%|##2       | 29408/132723 [00:00&lt;00:01, 63068.46KB/s]
+ 27%|##6       | 35758/132723 [00:00&lt;00:02, 47288.22KB/s]
+ 33%|###2      | 43389/132723 [00:00&lt;00:01, 54918.66KB/s]
+ 37%|###7      | 49428/132723 [00:00&lt;00:01, 50488.64KB/s]
+ 42%|####1     | 55124/132723 [00:01&lt;00:01, 51451.27KB/s]
+ 48%|####7     | 63382/132723 [00:01&lt;00:01, 59767.35KB/s]
+ 53%|#####2    | 69695/132723 [00:01&lt;00:01, 59566.43KB/s]
+ 59%|#####9    | 78517/132723 [00:01&lt;00:00, 67563.59KB/s]
+ 66%|######5   | 87245/132723 [00:01&lt;00:00, 73183.11KB/s]
+ 72%|#######2  | 95980/132723 [00:01&lt;00:00, 77281.50KB/s]
+ 79%|#######8  | 104773/132723 [00:01&lt;00:00, 80393.03KB/s]
+ 85%|########5 | 113458/132723 [00:01&lt;00:00, 77424.50KB/s]
+ 91%|#########1| 121315/132723 [00:01&lt;00:00, 68655.48KB/s]
+ 98%|#########7| 130043/132723 [00:02&lt;00:00, 73563.49KB/s]
+100%|##########| 132723/132723 [00:02&lt;00:00, 64075.99KB/s]
 </pre></div>
 </div>
 <p>Create TVM runtime and do inference
@@ -472,7 +473,7 @@ Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from h
 </pre></div>
 </div>
 <img alt="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" class="sphx-glr-single-img" src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" />
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  23.376 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  27.641 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-ssd-gluoncv-py">
 <div class="sphx-glr-download 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 4ba9d9656..fc697ff07 100644
--- a/docs/how_to/deploy_models/sg_execution_times.html
+++ b/docs/how_to/deploy_models/sg_execution_times.html
@@ -300,16 +300,16 @@
             
   <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:55.828</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
+<p><strong>10:54.829</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
 <ul class="simple">
-<li><p><strong>03:04.266</strong>: <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></li>
-<li><p><strong>02:23.376</strong>: <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></li>
-<li><p><strong>01:51.960</strong>: <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></li>
-<li><p><strong>01:41.666</strong>: <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></li>
-<li><p><strong>01:05.073</strong>: <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></li>
-<li><p><strong>00:27.808</strong>: <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></li>
-<li><p><strong>00:21.482</strong>: <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></li>
-<li><p><strong>00:00.197</strong>: <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></li>
+<li><p><strong>03:09.364</strong>: <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></li>
+<li><p><strong>02:27.641</strong>: <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></li>
+<li><p><strong>01:53.1000</strong>: <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></li>
+<li><p><strong>01:27.006</strong>: <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></li>
+<li><p><strong>01:06.167</strong>: <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></li>
+<li><p><strong>00:28.509</strong>: <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></li>
+<li><p><strong>00:21.942</strong>: <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></li>
+<li><p><strong>00:00.201</strong>: <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></li>
 </ul>
 </div>
 
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 cc1786f06..81bc9e592 100644
--- a/docs/how_to/extend_tvm/bring_your_own_datatypes.html
+++ b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
@@ -588,7 +588,7 @@ In this alpha state of the Bring Your Own Datatypes framework, we have not imple
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip415e1b66-8998-4e40-9627-9db0836e7cf6 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.zip643be7c8-afa9-409d-8c03-15c4020e35e9 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>
@@ -650,7 +650,7 @@ In this alpha state of the Bring Your Own Datatypes framework, we have not imple
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Check failed: (lower) is false: FloatImm lowering function for target llvm type 150 not found
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>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 registerd 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 f27a52fe9..4e661a9ff 100644
--- a/docs/how_to/extend_tvm/sg_execution_times.html
+++ b/docs/how_to/extend_tvm/sg_execution_times.html
@@ -300,12 +300,12 @@
             
   <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.026</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
+<p><strong>00:39.148</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:35.418</strong>: <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></li>
-<li><p><strong>00:02.301</strong>: <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></li>
-<li><p><strong>00:01.096</strong>: <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></li>
-<li><p><strong>00:00.211</strong>: <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></li>
+<li><p><strong>00:35.561</strong>: <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></li>
+<li><p><strong>00:02.300</strong>: <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></li>
+<li><p><strong>00:01.083</strong>: <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></li>
+<li><p><strong>00:00.203</strong>: <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></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/extend_tvm/use_pass_instrument.html b/docs/how_to/extend_tvm/use_pass_instrument.html
index 92b3dc430..2499cbb88 100644
--- a/docs/how_to/extend_tvm/use_pass_instrument.html
+++ b/docs/how_to/extend_tvm/use_pass_instrument.html
@@ -486,10 +486,10 @@ profile the execution time of each passes.</p>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 6318us [6318us] (45.80%; 45.80%)
-FoldScaleAxis: 7475us [2us] (54.20%; 54.20%)
-        FoldConstant: 7473us [1541us] (54.18%; 99.97%)
-                InferType: 5931us [5931us] (43.00%; 79.37%)
+InferType: 6086us [6086us] (45.31%; 45.31%)
+FoldScaleAxis: 7346us [2us] (54.69%; 54.69%)
+        FoldConstant: 7344us [1530us] (54.68%; 99.97%)
+                InferType: 5814us [5814us] (43.28%; 79.17%)
 </pre></div>
 </div>
 </div>
@@ -512,10 +512,10 @@ Refer to following sections and <a class="reference internal" href="../../refere
 </div>
 <p class="sphx-glr-script-out">Out:</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 6029us [6029us] (44.85%; 44.85%)
-FoldScaleAxis: 7413us [2us] (55.15%; 55.15%)
-        FoldConstant: 7411us [1551us] (55.13%; 99.97%)
-                InferType: 5860us [5860us] (43.59%; 79.07%)
+InferType: 5865us [5865us] (44.51%; 44.51%)
+FoldScaleAxis: 7310us [2us] (55.49%; 55.49%)
+        FoldConstant: 7308us [1515us] (55.47%; 99.97%)
+                InferType: 5793us [5793us] (43.97%; 79.27%)
 </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 bca7e9e7c..a423fdbec 100644
--- a/docs/how_to/optimize_operators/opt_conv_cuda.html
+++ b/docs/how_to/optimize_operators/opt_conv_cuda.html
@@ -534,7 +534,7 @@ latency of convolution.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 54.133592 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 35.960301 ms
 </pre></div>
 </div>
 <div class="sphx-glr-footer class 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 dbb97eb87..ca46f50c3 100644
--- a/docs/how_to/optimize_operators/opt_conv_tensorcore.html
+++ b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
@@ -878,7 +878,7 @@ be able to run on our build server</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 6.953972 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 9.098922 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 bb769fbc8..9984085c6 100644
--- a/docs/how_to/optimize_operators/opt_gemm.html
+++ b/docs/how_to/optimize_operators/opt_gemm.html
@@ -431,8 +431,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.018989
-Baseline: 3.251616
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.019147
+Baseline: 3.417160
 </pre></div>
 </div>
 <p>In TVM, we can always inspect lower level IR to debug or optimize our schedule.
@@ -494,7 +494,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.309081
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.313758
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -563,7 +563,7 @@ vastly.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.346843
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.346130
 </pre></div>
 </div>
 <p>Here is the generated IR after vectorization.</p>
@@ -626,7 +626,7 @@ the access pattern for A matrix is more cache friendly.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.119197
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.124542
 </pre></div>
 </div>
 <p>Here is the generated IR after loop permutation.</p>
@@ -711,7 +711,7 @@ flattening.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.112536
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.111089
 </pre></div>
 </div>
 <p>Here is the generated IR after array packing.</p>
@@ -799,7 +799,7 @@ write to C when all the block results are ready.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.111340
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.110496
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -891,7 +891,7 @@ write to C when all the block results are ready.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.145152
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.145037
 </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 fa52993ee..adb9f7996 100644
--- a/docs/how_to/optimize_operators/sg_execution_times.html
+++ b/docs/how_to/optimize_operators/sg_execution_times.html
@@ -300,11 +300,11 @@
             
   <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.904</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
+<p><strong>00:35.502</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:32.237</strong>: <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></li>
-<li><p><strong>00:01.421</strong>: <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></li>
-<li><p><strong>00:01.246</strong>: <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></li>
+<li><p><strong>00:32.842</strong>: <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></li>
+<li><p><strong>00:01.416</strong>: <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></li>
+<li><p><strong>00:01.245</strong>: <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></li>
 </ul>
 </div>
 
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 99004d333..a0b1cc0b8 100644
--- a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
+++ b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
@@ -300,14 +300,14 @@
             
   <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>04:56.375</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
+<p><strong>05:00.374</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
 <ul class="simple">
-<li><p><strong>02:20.708</strong>: <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></li>
-<li><p><strong>01:21.069</strong>: <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></li>
-<li><p><strong>00:40.592</strong>: <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></li>
-<li><p><strong>00:16.430</strong>: <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></li>
-<li><p><strong>00:09.005</strong>: <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></li>
-<li><p><strong>00:08.570</strong>: <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></li>
+<li><p><strong>02:23.655</strong>: <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></li>
+<li><p><strong>01:20.937</strong>: <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></li>
+<li><p><strong>00:40.288</strong>: <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></li>
+<li><p><strong>00:18.253</strong>: <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></li>
+<li><p><strong>00:08.736</strong>: <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></li>
+<li><p><strong>00:08.506</strong>: <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></li>
 </ul>
 </div>
 
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 c1af59c3a..08b63a6b0 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
@@ -470,271 +470,484 @@ 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; = 16;
-  allocate(conv2d_nchw: Pointer(local float32), float32, [7]), storage_scope = local;
-  allocate(pad_temp.shared: Pointer(shared float32), float32, [2592]), storage_scope = shared;
-  allocate(kernel.shared: Pointer(shared float32), float32, [9216]), storage_scope = shared;
-  attr [IterVar(threadIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224 {
-    conv2d_nchw_1: Buffer(conv2d_nchw, float32, [1], [], scope=&quot;local&quot;, align=4)[0] = 0f32
+  attr [IterVar(blockIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;blockIdx.x&quot;)] &quot;thread_extent&quot; = 28;
+  allocate(conv2d_nchw: Pointer(local float32), float32, [14]), storage_scope = local;
+  allocate(pad_temp.shared: Pointer(shared float32), float32, [72]), storage_scope = shared;
+  allocate(kernel.shared: Pointer(shared float32), float32, [3072]), storage_scope = shared;
+  attr [IterVar(threadIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64 {
+    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
-    for (rc.outer.outer: int32, 0, 16) {
-      let cse_var_2: int32 = (rc.outer.outer*1568)
-      let cse_var_1: int32 = (rc.outer.outer*288)
-       {
-        attr [IterVar(threadIdx.x_1: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        pad_temp.shared_1: Buffer(pad_temp.shared, float32, [2592], [], scope=&quot;shared&quot;)[threadIdx.x_1] = @tir.if_then_else(((((9 &lt;= floormod(threadIdx.x_1, 81)) &amp;&amp; (floormod(threadIdx.x_1, 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod(threadIdx.x_1, 9))) &amp;&amp; (floormod(threadIdx.x_1, 9) &lt; 8)), data[((((cse_var_2 + (floordiv(threadIdx.x_1, 81)*49)) + (floordiv(floormod(threadIdx.x_1, 81), 9)*7)) + floormod(threadIdx.x_1, 9)) - 8)], 0f32, dtype=float32)
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        pad_temp.shared_1[(threadIdx.x_1 + 224)] = @tir.if_then_else(((((9 &lt;= floormod((threadIdx.x_1 + 224), 81)) &amp;&amp; (floormod((threadIdx.x_1 + 62), 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 8), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 8), 9) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 224), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 224), 81), 9)*7)) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        pad_temp.shared_1[(threadIdx.x_1 + 448)] = @tir.if_then_else(((((9 &lt;= floormod((threadIdx.x_1 + 448), 81)) &amp;&amp; (floormod((threadIdx.x_1 + 43), 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 7), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 7), 9) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 448), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 448), 81), 9)*7)) + floormod((threadIdx.x_1 + 7), 9)) - 8)], 0f32, dtype=float32)
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        pad_temp.shared_1[(threadIdx.x_1 + 672)] = @tir.if_then_else(((((9 &lt;= floormod((threadIdx.x_1 + 672), 81)) &amp;&amp; (floormod((threadIdx.x_1 + 24), 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 6), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 6), 9) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 672), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 672), 81), 9)*7)) + floormod((threadIdx.x_1 + 6), 9)) - 8)], 0f32, dtype=float32)
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        pad_temp.shared_1[(threadIdx.x_1 + 896)] = @tir.if_then_else(((((9 &lt;= floormod((threadIdx.x_1 + 896), 81)) &amp;&amp; (floormod((threadIdx.x_1 + 5), 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 5), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 5), 9) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 896), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 896), 81), 9)*7)) + floormod((threadIdx.x_1 + 5), 9)) - 8)], 0f32, dtype=float32)
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        pad_temp.shared_1[(threadIdx.x_1 + 1120)] = @tir.if_then_else(((((9 &lt;= floormod((threadIdx.x_1 + 1120), 81)) &amp;&amp; (floormod((threadIdx.x_1 + 67), 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 4), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 4), 9) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 1120), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 1120), 81), 9)*7)) + floormod((threadIdx.x_1 + 4), 9)) - 8)], 0f32, dtype=float32)
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        pad_temp.shared_1[(threadIdx.x_1 + 1344)] = @tir.if_then_else(((((9 &lt;= floormod((threadIdx.x_1 + 1344), 81)) &amp;&amp; (floormod((threadIdx.x_1 + 48), 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 3), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 3), 9) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 1344), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 1344), 81), 9)*7)) + floormod((threadIdx.x_1 + 3), 9)) - 8)], 0f32, dtype=float32)
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        pad_temp.shared_1[(threadIdx.x_1 + 1568)] = @tir.if_then_else(((((9 &lt;= floormod((threadIdx.x_1 + 1568), 81)) &amp;&amp; (floormod((threadIdx.x_1 + 29), 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 2), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 2), 9) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 1568), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 1568), 81), 9)*7)) + floormod((threadIdx.x_1 + 2), 9)) - 8)], 0f32, dtype=float32)
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        pad_temp.shared_1[(threadIdx.x_1 + 1792)] = @tir.if_then_else(((((9 &lt;= floormod((threadIdx.x_1 + 1792), 81)) &amp;&amp; (floormod((threadIdx.x_1 + 10), 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 1), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 1), 9) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 1792), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 1792), 81), 9)*7)) + floormod((threadIdx.x_1 + 1), 9)) - 8)], 0f32, dtype=float32)
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        pad_temp.shared_1[(threadIdx.x_1 + 2016)] = @tir.if_then_else(((((1 &lt;= floormod((floordiv(threadIdx.x_1, 9) + 8), 9)) &amp;&amp; (floormod((threadIdx.x_1 + 72), 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod(threadIdx.x_1, 9))) &amp;&amp; (floormod(threadIdx.x_1, 9) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 2016), 81)*49)) + (floormod((floordiv(threadIdx.x_1, 9) + 8), 9)*7)) + floormod(threadIdx.x_1, 9)) - 8)], 0f32, dtype=float32)
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        pad_temp.shared_1[(threadIdx.x_1 + 2240)] = @tir.if_then_else(((((9 &lt;= floormod((threadIdx.x_1 + 2240), 81)) &amp;&amp; (floormod((threadIdx.x_1 + 53), 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 8), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 8), 9) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 2240), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 2240), 81), 9)*7)) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        if @tir.likely((threadIdx.x_1 &lt; 128), dtype=bool) {
-          pad_temp.shared_1[(threadIdx.x_1 + 2464)] = @tir.if_then_else(((((9 &lt;= floormod((threadIdx.x_1 + 2464), 81)) &amp;&amp; (floormod((threadIdx.x_1 + 34), 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 7), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 7), 9) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 2464), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 2464), 81), 9)*7)) + floormod((threadIdx.x_1 + 7), 9)) - 8)], 0f32, dtype=float32)
-        }
-        attr [IterVar(threadIdx.x_2: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1: Buffer(kernel.shared, float32, [9216], [], scope=&quot;shared&quot;)[threadIdx.x_2] = kernel[(((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 7), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 224), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 14), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 160), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 21), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 96), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 28), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 32), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 35), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 256), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 42), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 192), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 1568)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 49), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 128), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 56), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 64), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 2016)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 32256)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 70), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 224), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 2464)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 77), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 160), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 2688)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 84), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 96), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 2912)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 91), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 32), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 3136)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 98), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 256), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 3360)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 105), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 192), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 3584)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 112), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 128), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 3808)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 119), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 64), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 4032)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 64512)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 4256)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 133), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 224), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 4480)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 140), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 160), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 4704)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 147), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 96), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 4928)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 154), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 32), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 5152)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 161), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 256), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 5376)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 168), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 192), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 5600)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 175), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 128), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 5824)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 182), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 64), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 6048)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 96768)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 6272)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 196), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 224), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 6496)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 203), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 160), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 6720)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 210), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 96), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 6944)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 217), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 32), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 7168)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 224), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 256), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 7392)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 231), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 192), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 7616)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 238), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 128), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 7840)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 245), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 64), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 8064)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 129024)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 8288)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 259), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 224), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 8512)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 266), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 160), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 8736)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 273), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 96), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        kernel.shared_1[(threadIdx.x_2 + 8960)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 32) + 280), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 32), 288))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
-        if @tir.likely((threadIdx.x_2 &lt; 32), dtype=bool) {
-          kernel.shared_1[(threadIdx.x_2 + 9184)] = kernel[((((blockIdx.x*147456) + cse_var_1) + floormod((threadIdx.x_2 + 256), 288)) + 142848)]
-        }
-        for (rc.outer.inner: int32, 0, 16) {
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9))]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 12)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 13)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 14)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 15)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 21)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 22)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 23)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 24)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 81)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 82)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 83)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 84)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 85)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 86)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 87)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 90)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 91)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 92)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 93)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 94)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 95)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 96)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 99)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 102)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 103)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 104)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 105)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 3)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 4)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 5)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 6)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 7)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 12)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 13)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 14)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 15)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 16)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 21)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 22)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 23)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 24)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 25)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 82)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 83)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 84)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 85)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 86)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 87)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 88)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 91)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 92)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 93)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 94)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 95)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 96)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 97)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 102)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 103)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 104)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 105)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 106)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 3)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 4)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 5)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 6)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 7)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 8)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 12)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 13)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 14)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 15)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 16)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 17)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 21)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 22)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 23)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 24)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 25)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 26)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 83)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 84)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 85)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 86)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 87)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 88)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 89)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 92)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 93)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 94)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 95)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 96)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 97)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 98)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 102)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
-          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 103)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
-          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 104)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
-          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 105)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
-          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 106)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
-          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + (floormod(threadIdx.x, 7)*9)) + 107)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
+    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) {
+      for (ry.outer.outer: int32, 0, 3) {
+        let cse_var_2: int32 = (rc.outer.outer*72)
+        let cse_var_1: int32 = (ry.outer.outer*3)
+         {
+          attr [IterVar(threadIdx.x_1: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64 {
+            if @tir.likely((threadIdx.x_1 &lt; 18), dtype=bool) {
+              pad_temp.shared_1: Buffer(pad_temp.shared, float32, [72], [], scope=&quot;shared&quot;)[(threadIdx.x_1*4)] = @tir.if_then_else(((((1 &lt;= (ry.outer.outer + floormod(blockIdx.x, 7))) &amp;&amp; ((ry.outer.outer + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1*4), 9))) &amp;&amp; (floormod((threadIdx.x_1*4), 9) &lt; 8)), data[((((((rc.outer.outer*392) + (floordiv((threadIdx.x_1*4), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) +  [...]
+            }
+            if @tir.likely((threadIdx.x_1 &lt; 18), dtype=bool) {
+              pad_temp.shared_1[((threadIdx.x_1*4) + 1)] = @tir.if_then_else(((((1 &lt;= (ry.outer.outer + floormod(blockIdx.x, 7))) &amp;&amp; ((ry.outer.outer + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod(((threadIdx.x_1*4) + 1), 9))) &amp;&amp; (floormod(((threadIdx.x_1*4) + 1), 9) &lt; 8)), data[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 1), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 1), 9)) - 8)], 0 [...]
+            }
+            if @tir.likely((threadIdx.x_1 &lt; 18), dtype=bool) {
+              pad_temp.shared_1[((threadIdx.x_1*4) + 2)] = @tir.if_then_else(((((1 &lt;= (ry.outer.outer + floormod(blockIdx.x, 7))) &amp;&amp; ((ry.outer.outer + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod(((threadIdx.x_1*4) + 2), 9))) &amp;&amp; (floormod(((threadIdx.x_1*4) + 2), 9) &lt; 8)), data[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 2), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 2), 9)) - 8)], 0 [...]
+            }
+            if @tir.likely((threadIdx.x_1 &lt; 18), dtype=bool) {
+              pad_temp.shared_1[((threadIdx.x_1*4) + 3)] = @tir.if_then_else(((((1 &lt;= (ry.outer.outer + floormod(blockIdx.x, 7))) &amp;&amp; ((ry.outer.outer + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod(((threadIdx.x_1*4) + 3), 9))) &amp;&amp; (floormod(((threadIdx.x_1*4) + 3), 9) &lt; 8)), data[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 3), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 3), 9)) - 8)], 0 [...]
+            }
+          }
+          attr [IterVar(threadIdx.x_2: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1: Buffer(kernel.shared, float32, [3072], [], scope=&quot;shared&quot;)[threadIdx.x_2] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 64)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 8), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 64), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 128)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 16), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 128), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 192)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 36864)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 256)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 32), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 256), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 320)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 40), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 320), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 384)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 73728)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 56), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 448), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 512)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 64), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 512), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 576)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 110592)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 640)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 80), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 640), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 704)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 88), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 704), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 768)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 147456)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 832)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 104), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 832), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 112), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 896), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 960)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 184320)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1024)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 128), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1024), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1088)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 136), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1088), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1152)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 221184)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1216)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 152), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1216), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1280)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 160), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1280), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 258048)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1408)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 176), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1408), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1472)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 184), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1472), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1536)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 294912)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1600)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 200), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1600), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1664)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 208), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1664), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1728)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 331776)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 224), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1792), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1856)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 232), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1856), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1920)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 368640)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1984)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 248), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1984), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2048)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 256), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2048), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2112)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 405504)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2176)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 272), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2176), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 280), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2240), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2304)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 442368)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2368)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 296), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2368), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2432)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 304), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2432), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2496)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 479232)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2560)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 320), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2560), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2624)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 328), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2624), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2688)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 516096)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2752)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 344), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2752), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2816)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 352), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2816), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2880)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(floordiv(threadIdx.x_2, 8), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 552960)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2944)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 368), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2944), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 3008)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((floordiv(threadIdx.x_2, 8) + 376), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 3008), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[0]*kernel.shared_1[(threadIdx.x*48)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[1]*kernel.shared_1[(threadIdx.x*48)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[2]*kernel.shared_1[(threadIdx.x*48)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[3]*kernel.shared_1[(threadIdx.x*48)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[4]*kernel.shared_1[(threadIdx.x*48)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[5]*kernel.shared_1[(threadIdx.x*48)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[6]*kernel.shared_1[(threadIdx.x*48)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[0]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[54]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[63]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[54]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[63]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[62]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[71]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[62]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[71]*kernel.shared_1[((threadIdx.x*48) + 47)]))
         }
       }
     }
-    compute[((blockIdx.x*1568) + (threadIdx.x*7))] = max((conv2d_nchw_1[0] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
-    compute[(((blockIdx.x*1568) + (threadIdx.x*7)) + 1)] = max((conv2d_nchw_1[1] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
-    compute[(((blockIdx.x*1568) + (threadIdx.x*7)) + 2)] = max((conv2d_nchw_1[2] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
-    compute[(((blockIdx.x*1568) + (threadIdx.x*7)) + 3)] = max((conv2d_nchw_1[3] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
-    compute[(((blockIdx.x*1568) + (threadIdx.x*7)) + 4)] = max((conv2d_nchw_1[4] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
-    compute[(((blockIdx.x*1568) + (threadIdx.x*7)) + 5)] = max((conv2d_nchw_1[5] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
-    compute[(((blockIdx.x*1568) + (threadIdx.x*7)) + 6)] = max((conv2d_nchw_1[6] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
+    for (i1.inner: int32, 0, 2) {
+      for (i3.inner: int32, 0, 7) {
+        compute[(((((floordiv(blockIdx.x, 7)*6272) + (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)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
+      }
+    }
   }
 }
 </pre></div>
@@ -771,7 +984,7 @@ cooperative fetching, unrolling and operator fusion.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.226 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.362 ms
 </pre></div>
 </div>
 </div>
@@ -802,20 +1015,20 @@ conv2d_nchw_nn_o_o_i, conv2d_nchw_nn_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o
 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=1)
-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=32)
+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=64)
 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=7)
+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=2)
-conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=16)
-conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=3)
+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=1)
 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)
@@ -823,15 +1036,15 @@ s[conv2d_nchw].reorder(conv2d_nchw_nn_o_o_o_o, conv2d_nchw_ff_o_o_o_o, 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=1)
-compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=32)
+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=64)
 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=7)
+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)
 s[conv2d_nchw].compute_at(s[compute], compute_i3_o_i)
 kernel_shared = s.cache_read(kernel, &quot;shared&quot;, [conv2d_nchw])
@@ -850,14 +1063,14 @@ s[compute].bind(compute_i0_o_i_i1_o_i_fused_i2_o_i_fused_i3_o_i_fused, te.thread
 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)
 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=224)
+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=64)
 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)
+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=4)
 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=224)
+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=64)
 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;, 512)
 s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, &quot;unroll_explicit&quot;, True)
 
 CUDA source code:
@@ -875,10 +1088,10 @@ CUDA source code:
   #define int64_t long long
   #define uint64_t unsigned long long
 #endif
-extern &quot;C&quot; __global__ void __launch_bounds__(224) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
-  float conv2d_nchw[7];
-  __shared__ float pad_temp_shared[2592];
-  __shared__ float kernel_shared[9216];
+extern &quot;C&quot; __global__ void __launch_bounds__(64) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
+  float conv2d_nchw[14];
+  __shared__ float pad_temp_shared[72];
+  __shared__ float kernel_shared[3072];
   conv2d_nchw[0] = 0.000000e+00f;
   conv2d_nchw[1] = 0.000000e+00f;
   conv2d_nchw[2] = 0.000000e+00f;
@@ -886,203 +1099,420 @@ extern &quot;C&quot; __global__ void __launch_bounds__(224) default_function_ker
   conv2d_nchw[4] = 0.000000e+00f;
   conv2d_nchw[5] = 0.000000e+00f;
   conv2d_nchw[6] = 0.000000e+00f;
-  for (int rc_outer_outer = 0; rc_outer_outer &lt; 16; ++rc_outer_outer) {
-    __syncthreads();
-    pad_temp_shared[((int)threadIdx.x)] = (((((9 &lt;= (((int)threadIdx.x) % 81)) &amp;&amp; ((((int)threadIdx.x) % 81) &lt; 72)) &amp;&amp; (1 &lt;= (((int)threadIdx.x) % 9))) &amp;&amp; ((((int)threadIdx.x) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 1568) + ((((int)threadIdx.x) / 81) * 49)) + (((((int)threadIdx.x) % 81) / 9) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 224)] = (((((9 &lt;= ((((int)threadIdx.x) + 62) % 81)) &amp;&amp; (((((int)threadIdx.x) + 62) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 8) % 9))) &amp;&amp; (((((int)threadIdx.x) + 8) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 224) / 81) * 49)) + ((((((int)threadIdx.x) + 62) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 8) % 9)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 448)] = (((((9 &lt;= ((((int)threadIdx.x) + 43) % 81)) &amp;&amp; (((((int)threadIdx.x) + 43) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 7) % 9))) &amp;&amp; (((((int)threadIdx.x) + 7) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 448) / 81) * 49)) + ((((((int)threadIdx.x) + 43) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 7) % 9)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 672)] = (((((9 &lt;= ((((int)threadIdx.x) + 24) % 81)) &amp;&amp; (((((int)threadIdx.x) + 24) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 6) % 9))) &amp;&amp; (((((int)threadIdx.x) + 6) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 672) / 81) * 49)) + ((((((int)threadIdx.x) + 24) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 6) % 9)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 896)] = (((((9 &lt;= ((((int)threadIdx.x) + 5) % 81)) &amp;&amp; (((((int)threadIdx.x) + 5) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 5) % 9))) &amp;&amp; (((((int)threadIdx.x) + 5) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 896) / 81) * 49)) + ((((((int)threadIdx.x) + 5) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 5) % 9)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 1120)] = (((((9 &lt;= ((((int)threadIdx.x) + 67) % 81)) &amp;&amp; (((((int)threadIdx.x) + 67) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 4) % 9))) &amp;&amp; (((((int)threadIdx.x) + 4) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 1120) / 81) * 49)) + ((((((int)threadIdx.x) + 67) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 4) % 9)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 1344)] = (((((9 &lt;= ((((int)threadIdx.x) + 48) % 81)) &amp;&amp; (((((int)threadIdx.x) + 48) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 3) % 9))) &amp;&amp; (((((int)threadIdx.x) + 3) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 1344) / 81) * 49)) + ((((((int)threadIdx.x) + 48) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 3) % 9)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 1568)] = (((((9 &lt;= ((((int)threadIdx.x) + 29) % 81)) &amp;&amp; (((((int)threadIdx.x) + 29) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 2) % 9))) &amp;&amp; (((((int)threadIdx.x) + 2) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 1568) / 81) * 49)) + ((((((int)threadIdx.x) + 29) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 2) % 9)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 1792)] = (((((9 &lt;= ((((int)threadIdx.x) + 10) % 81)) &amp;&amp; (((((int)threadIdx.x) + 10) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 1) % 9))) &amp;&amp; (((((int)threadIdx.x) + 1) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 1792) / 81) * 49)) + ((((((int)threadIdx.x) + 10) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 1) % 9)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 2016)] = (((((1 &lt;= (((((int)threadIdx.x) / 9) + 8) % 9)) &amp;&amp; (((((int)threadIdx.x) + 72) % 81) &lt; 72)) &amp;&amp; (1 &lt;= (((int)threadIdx.x) % 9))) &amp;&amp; ((((int)threadIdx.x) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 2016) / 81) * 49)) + ((((((int)threadIdx.x) / 9) + 8) % 9) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 2240)] = (((((9 &lt;= ((((int)threadIdx.x) + 53) % 81)) &amp;&amp; (((((int)threadIdx.x) + 53) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 8) % 9))) &amp;&amp; (((((int)threadIdx.x) + 8) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 2240) / 81) * 49)) + ((((((int)threadIdx.x) + 53) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 8) % 9)) - 8)] : 0.000000e+00f);
-    if (((int)threadIdx.x) &lt; 128) {
-      pad_temp_shared[(((int)threadIdx.x) + 2464)] = (((((9 &lt;= ((((int)threadIdx.x) + 34) % 81)) &amp;&amp; (((((int)threadIdx.x) + 34) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 7) % 9))) &amp;&amp; (((((int)threadIdx.x) + 7) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 1568) + (((((int)threadIdx.x) + 2464) / 81) * 49)) + ((((((int)threadIdx.x) + 34) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 7) % 9)) - 8)] : 0.000000e+00f);
-    }
-    kernel_shared[((int)threadIdx.x)] = kernel[(((((int)blockIdx.x) * 147456) + (rc_outer_outer * 288)) + ((int)threadIdx.x))];
-    kernel_shared[(((int)threadIdx.x) + 224)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 224) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 224) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 448)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 448) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 160) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 672)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 672) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 96) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 896)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 896) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 32))];
-    kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1120) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 256) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1344) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 192) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 1568)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1568) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 128) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1792) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 64))];
-    kernel_shared[(((int)threadIdx.x) + 2016)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 288)) + ((int)threadIdx.x)) + 32256)];
-    kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2240) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 224) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 2464)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2464) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 160) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2688) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 96) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 2912)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2912) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 32))];
-    kernel_shared[(((int)threadIdx.x) + 3136)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3136) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 256) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 3360)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3360) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 192) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 3584)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3584) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 128) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 3808)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3808) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 64))];
-    kernel_shared[(((int)threadIdx.x) + 4032)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 288)) + ((int)threadIdx.x)) + 64512)];
-    kernel_shared[(((int)threadIdx.x) + 4256)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4256) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 224) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 4480)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4480) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 160) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 4704)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4704) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 96) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 4928)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4928) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 32))];
-    kernel_shared[(((int)threadIdx.x) + 5152)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 5152) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 256) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 5376)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 5376) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 192) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 5600)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 5600) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 128) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 5824)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 5824) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 64))];
-    kernel_shared[(((int)threadIdx.x) + 6048)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 288)) + ((int)threadIdx.x)) + 96768)];
-    kernel_shared[(((int)threadIdx.x) + 6272)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 6272) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 224) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 6496)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 6496) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 160) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 6720)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 6720) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 96) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 6944)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 6944) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 32))];
-    kernel_shared[(((int)threadIdx.x) + 7168)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 7168) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 256) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 7392)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 7392) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 192) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 7616)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 7616) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 128) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 7840)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 7840) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 64))];
-    kernel_shared[(((int)threadIdx.x) + 8064)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 288)) + ((int)threadIdx.x)) + 129024)];
-    kernel_shared[(((int)threadIdx.x) + 8288)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 8288) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 224) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 8512)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 8512) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 160) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 8736)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 8736) / 288) * 4608)) + (rc_outer_outer * 288)) + ((((int)threadIdx.x) + 96) % 288))];
-    kernel_shared[(((int)threadIdx.x) + 8960)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 8960) / 288) * 4608)) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 32))];
-    if (((int)threadIdx.x) &lt; 32) {
-      kernel_shared[(((int)threadIdx.x) + 9184)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 288)) + (((int)threadIdx.x) + 256)) + 142848)];
+  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) {
+    for (int ry_outer_outer = 0; ry_outer_outer &lt; 3; ++ry_outer_outer) {
+      __syncthreads();
+      if (((int)threadIdx.x) &lt; 18) {
+        pad_temp_shared[(((int)threadIdx.x) * 4)] = (((((1 &lt;= (ry_outer_outer + (((int)blockIdx.x) % 7))) &amp;&amp; ((ry_outer_outer + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) * 4) % 9))) &amp;&amp; (((((int)threadIdx.x) * 4) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) * 4) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)threadIdx.x) * 4) % 9)) - 8)] : 0.000000e+00f);
+      }
+      if (((int)threadIdx.x) &lt; 18) {
+        pad_temp_shared[((((int)threadIdx.x) * 4) + 1)] = (((((1 &lt;= (ry_outer_outer + (((int)blockIdx.x) % 7))) &amp;&amp; ((ry_outer_outer + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= (((((int)threadIdx.x) * 4) + 1) % 9))) &amp;&amp; ((((((int)threadIdx.x) * 4) + 1) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 1) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 1) % 9)) - 8)] : 0.000000e+00f);
+      }
+      if (((int)threadIdx.x) &lt; 18) {
+        pad_temp_shared[((((int)threadIdx.x) * 4) + 2)] = (((((1 &lt;= (ry_outer_outer + (((int)blockIdx.x) % 7))) &amp;&amp; ((ry_outer_outer + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= (((((int)threadIdx.x) * 4) + 2) % 9))) &amp;&amp; ((((((int)threadIdx.x) * 4) + 2) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 2) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 2) % 9)) - 8)] : 0.000000e+00f);
+      }
+      if (((int)threadIdx.x) &lt; 18) {
+        pad_temp_shared[((((int)threadIdx.x) * 4) + 3)] = (((((1 &lt;= (ry_outer_outer + (((int)blockIdx.x) % 7))) &amp;&amp; ((ry_outer_outer + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= (((((int)threadIdx.x) * 4) + 3) % 9))) &amp;&amp; ((((((int)threadIdx.x) * 4) + 3) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 3) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 3) % 9)) - 8)] : 0.000000e+00f);
+      }
+      kernel_shared[((int)threadIdx.x)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 64)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 64) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 128)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 128) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 192)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 36864)];
+      kernel_shared[(((int)threadIdx.x) + 256)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 256) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 320)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 320) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 384)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 73728)];
+      kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 448) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 512)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 512) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 576)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 110592)];
+      kernel_shared[(((int)threadIdx.x) + 640)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 640) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 704)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 704) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 768)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 147456)];
+      kernel_shared[(((int)threadIdx.x) + 832)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 832) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 896) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 960)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 184320)];
+      kernel_shared[(((int)threadIdx.x) + 1024)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1024) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1088)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1088) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1152)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 221184)];
+      kernel_shared[(((int)threadIdx.x) + 1216)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1216) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1280)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1280) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 258048)];
+      kernel_shared[(((int)threadIdx.x) + 1408)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1408) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1472)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1472) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1536)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 294912)];
+      kernel_shared[(((int)threadIdx.x) + 1600)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1600) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1664)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1664) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1728)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 331776)];
+      kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1792) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1856)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1856) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1920)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 368640)];
+      kernel_shared[(((int)threadIdx.x) + 1984)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1984) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2048)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2048) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2112)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 405504)];
+      kernel_shared[(((int)threadIdx.x) + 2176)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2176) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2240) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2304)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 442368)];
+      kernel_shared[(((int)threadIdx.x) + 2368)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2368) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2432)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2432) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2496)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 479232)];
+      kernel_shared[(((int)threadIdx.x) + 2560)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2560) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2624)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2624) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 516096)];
+      kernel_shared[(((int)threadIdx.x) + 2752)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2752) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2816)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2816) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2880)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 552960)];
+      kernel_shared[(((int)threadIdx.x) + 2944)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2944) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 3008)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3008) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      __syncthreads();
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[0] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[1] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[2] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[3] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[4] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[5] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[6] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[0] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
     }
-    __syncthreads();
-    for (int rc_outer_inner = 0; rc_outer_inner &lt; 16; ++rc_outer_inner) {
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9))] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 12)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 13)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 14)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 15)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 21)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 22)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 23)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 24)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 81)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 82)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 83)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 84)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 85)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 86)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 87)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 90)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 91)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 92)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 93)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 94)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 95)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 96)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 99)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 102)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 103)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 104)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 105)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 3)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 4)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 5)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 6)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 7)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 12)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 13)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 14)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 15)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 16)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 21)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 22)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 23)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 24)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 25)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 82)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 83)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 84)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 85)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 86)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 87)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 88)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 91)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 92)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 93)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 94)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 95)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 96)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 97)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 102)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 103)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 104)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 105)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 106)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 3)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 4)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 5)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 6)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 7)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 8)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 12)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 13)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 14)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 15)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 16)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 17)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 21)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 22)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 23)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 24)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 25)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 26)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 83)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 84)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 85)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 86)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 87)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 88)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 89)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 92)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 93)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 94)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 95)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 96)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 97)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 98)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 102)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 103)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 104)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 105)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 106)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + ((((int)threadIdx.x) % 7) * 9)) + 107)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
+  }
+  for (int i1_inner = 0; i1_inner &lt; 2; ++i1_inner) {
+    for (int i3_inner = 0; i3_inner &lt; 7; ++i3_inner) {
+      compute[((((((((int)blockIdx.x) / 7) * 6272) + (((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) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
     }
   }
-  compute[((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7))] = max((conv2d_nchw[0] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
-  compute[(((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7)) + 1)] = max((conv2d_nchw[1] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
-  compute[(((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7)) + 2)] = max((conv2d_nchw[2] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
-  compute[(((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7)) + 3)] = max((conv2d_nchw[3] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
-  compute[(((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7)) + 4)] = max((conv2d_nchw[4] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
-  compute[(((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7)) + 5)] = max((conv2d_nchw[5] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
-  compute[(((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7)) + 6)] = max((conv2d_nchw[6] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
 }
 </pre></div>
 </div>
@@ -1119,7 +1549,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  20.708 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  23.655 seconds)</p>
 <div class="sphx-glr-footer class 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 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 c99f42f0f..b7f55092a 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
@@ -876,7 +876,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.8713       9.8602       9.9208       9.8330       0.0367
+   9.9611       9.9576      10.0352       9.8905       0.0591
 </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 0144a927d..cd66a862c 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
@@ -895,7 +895,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)
-  786.3667     784.3729     792.5266     782.2005      4.4451
+  763.7746     763.9377     764.6339     762.7523      0.7767
 </pre></div>
 </div>
 </div>
@@ -917,7 +917,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  21.069 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  20.937 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autoscheduler-tune-network-x86-py">
 <div class="sphx-glr-download 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 ad6aa9b17..30d54f8ed 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
@@ -600,26 +600,29 @@ 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_8: placeholder_15: Buffer(placeholder_13, int32, [33], []), placeholder_5: placeholder_16: Buffer(placeholder_10, float32, [128, 256], []), placeholder_9: placeholder_17: Buffer(placeholder_14, float32, [128, 512], []), placeholder_6: placeholder_18: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_7: placeholder_19: Buffer(placeholder_12, int32, [4916], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], [])} {
-  for (i0.outer.i1.outer.fused: int32, 0, 256) &quot;parallel&quot; {
-    allocate(compute_4: Pointer(global float32), float32, [256]), storage_scope = global {
-      for (i.outer.inner: int32, 0, 8) {
-        for (nb_j.inner: int32, 0, 2) {
+  preflattened_buffer_map = {placeholder_5: placeholder_15: Buffer(placeholder_10, float32, [128, 256], []), placeholder_9: placeholder_16: Buffer(placeholder_14, float32, [128, 512], []), placeholder_6: placeholder_17: Buffer(placeholder_11, float32, [4916, 16, 1], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_7: placeholder_18: Buffer(placeholder_12, int32, [4916], []), placeholder_8: placeholder_19: Buffer(placeholder_13, int32, [33], [])} {
+  for (i0.outer: int32, 0, 32) &quot;parallel&quot; {
+    allocate(compute_4: Pointer(global float32), float32, [128]), storage_scope = global;
+    for (i1.outer: int32, 0, 16) {
+      for (nb_j.inner: int32, 0, 2) {
+        for (i.inner.init: int32, 0, 4) {
           for (j.init: int32, 0, 16) {
-            compute_5: Buffer(compute_4, float32, [256], [])[(((i.outer.inner*32) + (nb_j.inner*16)) + j.init)] = 0f32
+            compute_5: Buffer(compute_4, float32, [128], [])[(((i.inner.init*32) + (nb_j.inner*16)) + j.init)] = 0f32
           }
-          for (elem_idx: int32, 0, let cse_var_1: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
+        }
+        for (elem_idx: int32, 0, let cse_var_1: int32 = ((i1.outer*2) + nb_j.inner) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
+          for (i.inner: int32, 0, 4) {
             for (j: int32, 0, 16) {
-              let cse_var_3: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
-              let cse_var_2: int32 = (((i.outer.inner*32) + (nb_j.inner*16)) + j)
-              compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[(((floordiv(i0.outer.i1.outer.fused, 16)*2048) + (i.outer.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
+              let cse_var_3: int32 = ((i1.outer*2) + nb_j.inner)
+              let cse_var_2: int32 = (((i.inner*32) + (nb_j.inner*16)) + j)
+              compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[(((i0.outer*1024) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
             }
           }
         }
       }
-      for (i0.inner: int32, 0, 8) {
+      for (i0.inner: int32, 0, 4) {
         for (i1.inner: int32, 0, 32) {
-          let cse_var_4: int32 = ((((floordiv(i0.outer.i1.outer.fused, 16)*4096) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32)) + i1.inner)
+          let cse_var_4: int32 = ((((i0.outer*2048) + (i0.inner*512)) + (i1.outer*32)) + i1.inner)
           compute[cse_var_4] = max((compute_5[((i0.inner*32) + i1.inner)] + placeholder_4[cse_var_4]), 0f32)
         }
       }
@@ -660,7 +663,7 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 2.220 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.263 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 fce814d49..51bb86585 100644
--- a/docs/how_to/tune_with_autotvm/sg_execution_times.html
+++ b/docs/how_to/tune_with_autotvm/sg_execution_times.html
@@ -300,13 +300,13 @@
             
   <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:44.457</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
+<p><strong>00:44.752</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:43.554</strong>: <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></li>
-<li><p><strong>00:00.237</strong>: <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></li>
-<li><p><strong>00:00.223</strong>: <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></li>
-<li><p><strong>00:00.222</strong>: <a class="reference internal" href="tune_relay_mobile_gpu.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-mobile-gpu-py"><span class="std std-ref">Auto-tuning a Convolutional Network for Mobile GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_mobile_gpu.py</span></code>)</p></li>
-<li><p><strong>00:00.222</strong>: <a class="reference internal" href="tune_relay_arm.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-arm-py"><span class="std std-ref">Auto-tuning a Convolutional Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_arm.py</span></code>)</p></li>
+<li><p><strong>00:43.862</strong>: <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></li>
+<li><p><strong>00:00.236</strong>: <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></li>
+<li><p><strong>00:00.219</strong>: <a class="reference internal" href="tune_relay_mobile_gpu.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-mobile-gpu-py"><span class="std std-ref">Auto-tuning a Convolutional Network for Mobile GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_mobile_gpu.py</span></code>)</p></li>
+<li><p><strong>00:00.218</strong>: <a class="reference internal" href="tune_relay_arm.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-arm-py"><span class="std std-ref">Auto-tuning a Convolutional Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_arm.py</span></code>)</p></li>
+<li><p><strong>00:00.216</strong>: <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></li>
 </ul>
 </div>
 
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 2e60c332e..ca2d5ac9e 100644
--- a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
+++ b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
@@ -1142,8 +1142,8 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, 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: 109.93/109.93   result: MeasureResult(costs=(0.002105879854166667,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7977416515350342, timestamp=1650936839.9238315)       [(&#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/109.93     result: Traceback (most recent call last):
+No: 6   GFLOPS: 42.36/42.36     result: MeasureResult(costs=(0.005465203736842106,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.606165885925293, timestamp=1650937070.1503174)        [(&#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/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, 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 523, in _build_func_common
@@ -1266,7 +1266,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, 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/109.93     result: Traceback (most recent call last):
+No: 8   GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, 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 523, in _build_func_common
@@ -1389,7 +1389,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, 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/109.93     result: Traceback (most recent call last):
+No: 9   GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, 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 523, in _build_func_common
@@ -1512,7 +1512,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, 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/109.93     result: Traceback (most recent call last):
+No: 10  GFLOPS: 0.00/42.36      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
@@ -1530,7 +1530,7 @@ No: 10  GFLOPS: 0.00/109.93     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/109.93     result: Traceback (most recent call last):
+No: 11  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, 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 523, in _build_func_common
@@ -1653,7 +1653,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, 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/109.93     result: Traceback (most recent call last):
+No: 12  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, 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 523, in _build_func_common
@@ -1776,7 +1776,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, 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/109.93     result: Traceback (most recent call last):
+No: 13  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, 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 523, in _build_func_common
@@ -1899,7 +1899,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, 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/109.93     result: Traceback (most recent call last):
+No: 14  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, 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 523, in _build_func_common
@@ -2022,7 +2022,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, 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/109.93     result: Traceback (most recent call last):
+No: 15  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, 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 523, in _build_func_common
@@ -2145,7 +2145,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, 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/109.93     result: Traceback (most recent call last):
+No: 16  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, 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 523, in _build_func_common
@@ -2268,7 +2268,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, 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/109.93     result: Traceback (most recent call last):
+No: 17  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, 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 523, in _build_func_common
@@ -2391,7 +2391,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, 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/109.93     result: Traceback (most recent call last):
+No: 18  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, 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 523, in _build_func_common
@@ -2514,7 +2514,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, 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/109.93     result: Traceback (most recent call last):
+No: 19  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 721, 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 685, in run_through_rpc
@@ -2602,7 +2602,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   15: _PyEval_EvalFrameDefault
   14: 0x0000000000537c30
   13: _PyObject_FastCallKeywords
-  12: 0x00007fbade038fa2
+  12: 0x00007fac9015cfa2
   11: _ctypes_callproc
   10: ffi_call
   9: ffi_call_unix64
@@ -2667,7 +2667,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.30/144.30   result: MeasureResult(costs=(0.00160425705,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.437206745147705, timestamp=1650936866.4114358)       [(&#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: 144.01/144.01   result: MeasureResult(costs=(0.0016075883400000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4201436042785645, timestamp=1650937096.660884)       [(&#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,
@@ -2706,7 +2706,7 @@ and measure running time.</p>
 <p class="sphx-glr-script-out">Out:</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>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
-Time cost of this operator: 0.001959
+Time cost of this operator: 0.002048
 </pre></div>
 </div>
 <div class="sphx-glr-footer class 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 03c677e71..e8dcfc7e8 100644
--- a/docs/how_to/work_with_microtvm/micro_autotune.html
+++ b/docs/how_to/work_with_microtvm/micro_autotune.html
@@ -553,10 +553,10 @@ the tuned operator.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>########## Build without Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs
 ---------                                     ---                                           --------  -------  -----              ------  -------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  315.3     98.755   (1, 2, 10, 10, 3)  2       1
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.073     0.962    (1, 6, 10, 10)     1       1
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.901     0.282    (1, 1, 10, 10, 3)  1       1
-Total_time                                    -                                             319.274   -        -                  -       -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  308.9     98.704   (1, 2, 10, 10, 3)  2       1
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.156     1.009    (1, 6, 10, 10)     1       1
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.901     0.288    (1, 1, 10, 10, 3)  1       1
+Total_time                                    -                                             312.957   -        -                  -       -
 </pre></div>
 </div>
 </div>
@@ -608,10 +608,10 @@ Total_time                                    -
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>########## Build with Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs
 ---------                                     ---                                           --------  -------  -----              ------  -------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  530.1     99.337   (1, 3, 10, 10, 2)  2       1
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       2.302     0.431    (1, 6, 10, 10)     1       1
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         1.238     0.232    (1, 1, 10, 10, 3)  1       1
-Total_time                                    -                                             533.641   -        -                  -       -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  82.6      96.877   (1, 6, 10, 10, 1)  2       1
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.74      2.04     (1, 6, 10, 10)     1       1
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.923     1.082    (1, 1, 10, 10, 3)  1       1
+Total_time                                    -                                             85.263    -        -                  -       -
 </pre></div>
 </div>
 <div class="sphx-glr-footer class 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/sg_execution_times.html b/docs/how_to/work_with_microtvm/sg_execution_times.html
index a51306e85..f3d64fcc6 100644
--- a/docs/how_to/work_with_microtvm/sg_execution_times.html
+++ b/docs/how_to/work_with_microtvm/sg_execution_times.html
@@ -300,13 +300,13 @@
             
   <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>00:45.151</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
+<p><strong>00:44.948</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:40.964</strong>: <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></li>
-<li><p><strong>00:03.573</strong>: <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></li>
-<li><p><strong>00:00.206</strong>: <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</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_ethosu.py</span></code>)</p></li>
-<li><p><strong>00:00.204</strong>: <a class="reference internal" href="micro_reference_vm.html#sphx-glr-how-to-work-with-microtvm-micro-reference-vm-py"><span class="std std-ref">microTVM Reference Virtual Machines</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_reference_vm.py</span></code>)</p></li>
-<li><p><strong>00:00.204</strong>: <a class="reference internal" href="micro_tvmc.html#sphx-glr-how-to-work-with-microtvm-micro-tvmc-py"><span class="std std-ref">Executing a Tiny Model with TVMC Micro</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tvmc.py</span></code>)</p></li>
+<li><p><strong>00:40.735</strong>: <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></li>
+<li><p><strong>00:03.619</strong>: <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></li>
+<li><p><strong>00:00.199</strong>: <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</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_ethosu.py</span></code>)</p></li>
+<li><p><strong>00:00.198</strong>: <a class="reference internal" href="micro_reference_vm.html#sphx-glr-how-to-work-with-microtvm-micro-reference-vm-py"><span class="std std-ref">microTVM Reference Virtual Machines</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_reference_vm.py</span></code>)</p></li>
+<li><p><strong>00:00.197</strong>: <a class="reference internal" href="micro_tvmc.html#sphx-glr-how-to-work-with-microtvm-micro-tvmc-py"><span class="std std-ref">Executing a Tiny Model with TVMC Micro</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tvmc.py</span></code>)</p></li>
 </ul>
 </div>
 
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 d54731296..91df5ba02 100644
--- a/docs/how_to/work_with_relay/sg_execution_times.html
+++ b/docs/how_to/work_with_relay/sg_execution_times.html
@@ -300,11 +300,11 @@
             
   <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:08.750</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
+<p><strong>00:09.235</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:07.001</strong>: <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></li>
-<li><p><strong>00:01.532</strong>: <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></li>
-<li><p><strong>00:00.217</strong>: <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></li>
+<li><p><strong>00:07.266</strong>: <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></li>
+<li><p><strong>00:01.749</strong>: <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></li>
+<li><p><strong>00:00.220</strong>: <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></li>
 </ul>
 </div>
 
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 8b98d11c5..c9851a189 100644
--- a/docs/how_to/work_with_schedules/sg_execution_times.html
+++ b/docs/how_to/work_with_schedules/sg_execution_times.html
@@ -300,16 +300,16 @@
             
   <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:05.720</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
+<p><strong>00:05.880</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:02.105</strong>: <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></li>
-<li><p><strong>00:01.131</strong>: <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></li>
-<li><p><strong>00:00.732</strong>: <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></li>
-<li><p><strong>00:00.721</strong>: <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></li>
-<li><p><strong>00:00.316</strong>: <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></li>
-<li><p><strong>00:00.245</strong>: <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></li>
-<li><p><strong>00:00.242</strong>: <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></li>
-<li><p><strong>00:00.227</strong>: <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></li>
+<li><p><strong>00:02.178</strong>: <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></li>
+<li><p><strong>00:01.185</strong>: <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></li>
+<li><p><strong>00:00.751</strong>: <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></li>
+<li><p><strong>00:00.743</strong>: <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></li>
+<li><p><strong>00:00.310</strong>: <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></li>
+<li><p><strong>00:00.241</strong>: <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></li>
+<li><p><strong>00:00.241</strong>: <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></li>
+<li><p><strong>00:00.230</strong>: <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></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/work_with_schedules/tensorize.html b/docs/how_to/work_with_schedules/tensorize.html
index 3ccb99b38..cdad53fae 100644
--- a/docs/how_to/work_with_schedules/tensorize.html
+++ b/docs/how_to/work_with_schedules/tensorize.html
@@ -552,7 +552,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/tmppsyx6sox/input0.cc&#39;\nsource_filename = \&quot;/tmp/tmppsyx6sox/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/tmppiuuyk25/input0.cc&#39;\nsource_filename = \&quot;/tmp/tmppiuuyk25/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/classtvm_1_1tir_1_1usmp_1_1BufferInfo-members.html b/docs/reference/api/doxygen/classtvm_1_1tir_1_1usmp_1_1BufferInfo-members.html
index 565378992..255c04266 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1usmp_1_1BufferInfo-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1usmp_1_1BufferInfo-members.html
@@ -71,7 +71,7 @@ $(function() {
 <table class="directory">
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a3e9b0901b6e01257b060a45e159cc37e">_type_is_nullable</a></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">static</span></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a2d76fa1fb628ff276a284e61123589c5">as</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_1tir_1_1usmp_1_1BufferInfo.html#a56c05fe02fbd0b4e14b06ab614d4dd18">BufferInfo</a>(String name_hint, Integer size_bytes, Array&lt; PoolInfo &gt; pool_candidates, Integer alignment=runtime::kDefaultWorkspaceAlignment)</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">tvm::tir::usmp::BufferInfo</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html#a74e46605b35826079bc0c6b07125e918">BufferInfo</a>(String name_hint, Integer size_bytes, Array&lt; PoolInfo &gt; pool_candidates, Integer alignment=runtime::kDefaultWorkspaceAlignment, BufferInfoKind kind=BufferInfoKind::kIntermediate)</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">tvm::tir::usmp::BufferInfo</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#aa5c355fbb7d2f7402ee360dba8a52cdd">ContainerType</a> typedef</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 class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#ac261cdb80487fb29ac42b28678f8cbef">data_</a></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">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a17d8d5ad92691f9e18e3e0ae8ef69e4f">defined</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>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1usmp_1_1BufferInfo.html b/docs/reference/api/doxygen/classtvm_1_1tir_1_1usmp_1_1BufferInfo.html
index 16dd4a54a..695243b4d 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1usmp_1_1BufferInfo.html
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1usmp_1_1BufferInfo.html
@@ -86,8 +86,8 @@ Collaboration diagram for tvm::tir::usmp::BufferInfo:</div>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
 Public Member Functions</h2></td></tr>
-<tr class="memitem:a56c05fe02fbd0b4e14b06ab614d4dd18"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html#a56c05fe02fbd0b4e14b06ab614d4dd18">BufferInfo</a> (<a class="el" href="classtvm_1_1runtime_1_1String.html">String</a> name_hint, <a class="el" href="classtvm_1_1Integer.html">Integer</a> size_bytes, <a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a c [...]
-<tr class="separator:a56c05fe02fbd0b4e14b06ab614d4dd18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74e46605b35826079bc0c6b07125e918"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html#a74e46605b35826079bc0c6b07125e918">BufferInfo</a> (<a class="el" href="classtvm_1_1runtime_1_1String.html">String</a> name_hint, <a class="el" href="classtvm_1_1Integer.html">Integer</a> size_bytes, <a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a c [...]
+<tr class="separator:a74e46605b35826079bc0c6b07125e918"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ad5a544054cbca6130bfdacf7d5c96fc1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html#ad5a544054cbca6130bfdacf7d5c96fc1">TVM_DEFINE_MUTABLE_OBJECT_REF_METHODS</a> (<a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">BufferInfo</a>, <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a>, <a class="el" href="structtvm_1_1tir_1_1 [...]
 <tr class="separator:ad5a544054cbca6130bfdacf7d5c96fc1"><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>
@@ -154,8 +154,8 @@ Additional Inherited Members</h2></td></tr>
 <tr class="separator:ac261cdb80487fb29ac42b28678f8cbef inherit pro_attribs_classtvm_1_1runtime_1_1ObjectRef"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a id="a56c05fe02fbd0b4e14b06ab614d4dd18"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a56c05fe02fbd0b4e14b06ab614d4dd18">&#9670;&nbsp;</a></span>BufferInfo()</h2>
+<a id="a74e46605b35826079bc0c6b07125e918"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a74e46605b35826079bc0c6b07125e918">&#9670;&nbsp;</a></span>BufferInfo()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -182,7 +182,13 @@ Additional Inherited Members</h2></td></tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="classtvm_1_1Integer.html">Integer</a>&#160;</td>
-          <td class="paramname"><em>alignment</em> = <code><a class="el" href="namespacetvm_1_1runtime.html#a551bab1e24e2e794f8ccd4446b63a7af">runtime::kDefaultWorkspaceAlignment</a></code>&#160;</td>
+          <td class="paramname"><em>alignment</em> = <code><a class="el" href="namespacetvm_1_1runtime.html#a551bab1e24e2e794f8ccd4446b63a7af">runtime::kDefaultWorkspaceAlignment</a></code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95">BufferInfoKind</a>&#160;</td>
+          <td class="paramname"><em>kind</em> = <code><a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95a7e69a1214be9adba7d70a95f2f6fb8fb">BufferInfoKind::kIntermediate</a></code>&#160;</td>
         </tr>
         <tr>
           <td></td>
diff --git a/docs/reference/api/doxygen/functions_b.html b/docs/reference/api/doxygen/functions_b.html
index 7cfd98f14..e9e98a8c6 100644
--- a/docs/reference/api/doxygen/functions_b.html
+++ b/docs/reference/api/doxygen/functions_b.html
@@ -252,7 +252,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1tir_1_1BlockScopeNode.html#af5aafa70b0f0625c5f6d8556c799ed90">tvm::tir::BlockScopeNode</a>
 </li>
 <li>BufferInfo()
-: <a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html#a56c05fe02fbd0b4e14b06ab614d4dd18">tvm::tir::usmp::BufferInfo</a>
+: <a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html#a74e46605b35826079bc0c6b07125e918">tvm::tir::usmp::BufferInfo</a>
 </li>
 <li>BufferInfoAnalysis()
 : <a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysis.html#a3e3ef785c00a36fef0b1f0872c949d5a">tvm::tir::usmp::BufferInfoAnalysis</a>
diff --git a/docs/reference/api/doxygen/functions_func_b.html b/docs/reference/api/doxygen/functions_func_b.html
index bc2af6eba..27f4c8a10 100644
--- a/docs/reference/api/doxygen/functions_func_b.html
+++ b/docs/reference/api/doxygen/functions_func_b.html
@@ -132,7 +132,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1tir_1_1Buffer.html#a96bc724486ee74cf7e1379a257b48ab7">tvm::tir::Buffer</a>
 </li>
 <li>BufferInfo()
-: <a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html#a56c05fe02fbd0b4e14b06ab614d4dd18">tvm::tir::usmp::BufferInfo</a>
+: <a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html#a74e46605b35826079bc0c6b07125e918">tvm::tir::usmp::BufferInfo</a>
 </li>
 <li>BufferInfoAnalysis()
 : <a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysis.html#a3e3ef785c00a36fef0b1f0872c949d5a">tvm::tir::usmp::BufferInfoAnalysis</a>
diff --git a/docs/reference/api/doxygen/functions_k.html b/docs/reference/api/doxygen/functions_k.html
index ec381dc59..b8b8eab03 100644
--- a/docs/reference/api/doxygen/functions_k.html
+++ b/docs/reference/api/doxygen/functions_k.html
@@ -148,6 +148,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1tir_1_1DependencyNode.html#aeb900845b1ca3fb8787ab183af8389b7">tvm::tir::DependencyNode</a>
 , <a class="el" href="classtvm_1_1tir_1_1ForNode.html#a4fe09a4b1fb71a8ae8d5e7c807d8540b">tvm::tir::ForNode</a>
 , <a class="el" href="classtvm_1_1tir_1_1InstructionNode.html#a85c4921fdf1ebae5c95e5c4f09467355">tvm::tir::InstructionNode</a>
+, <a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a49f502f888fb6a2816e455f548c5f050">tvm::tir::usmp::BufferInfoNode</a>
 , <a class="el" href="classtvm_1_1TypeVarNode.html#afc08e151afef3c4644ba8d2cd796106a">tvm::TypeVarNode</a>
 </li>
 <li>kInt
diff --git a/docs/reference/api/doxygen/functions_vars_k.html b/docs/reference/api/doxygen/functions_vars_k.html
index 258e81c42..c088d9564 100644
--- a/docs/reference/api/doxygen/functions_vars_k.html
+++ b/docs/reference/api/doxygen/functions_vars_k.html
@@ -123,6 +123,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1tir_1_1DependencyNode.html#aeb900845b1ca3fb8787ab183af8389b7">tvm::tir::DependencyNode</a>
 , <a class="el" href="classtvm_1_1tir_1_1ForNode.html#a4fe09a4b1fb71a8ae8d5e7c807d8540b">tvm::tir::ForNode</a>
 , <a class="el" href="classtvm_1_1tir_1_1InstructionNode.html#a85c4921fdf1ebae5c95e5c4f09467355">tvm::tir::InstructionNode</a>
+, <a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a49f502f888fb6a2816e455f548c5f050">tvm::tir::usmp::BufferInfoNode</a>
 , <a class="el" href="classtvm_1_1TypeVarNode.html#afc08e151afef3c4644ba8d2cd796106a">tvm::TypeVarNode</a>
 </li>
 <li>kInvalidNonce
diff --git a/docs/reference/api/doxygen/greedy_8h_source.html b/docs/reference/api/doxygen/greedy_8h_source.html
index cf3841e86..307b6ff59 100644
--- a/docs/reference/api/doxygen/greedy_8h_source.html
+++ b/docs/reference/api/doxygen/greedy_8h_source.html
@@ -70,7 +70,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1tir_1_1usmp_1_1algo_1_1GreedyBase_html"><div class="ttname"><a href="classtvm_1_1tir_1_1usmp_1_1algo_1_1GreedyBase.html">tvm::tir::usmp::algo::GreedyBase</a></div><div class="ttdoc">This is the base class for Greedy Algorithms where the sorting is specialized in the extended classes...</div><div class="ttdef"><b>Definition:</b> greedy.h:45</div></div>
 <div class="ttc" id="namespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">runtime implementation for LibTorch/TorchScript. </div><div class="ttdef"><b>Definition:</b> analyzer.h:36</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1usmp_1_1algo_1_1GreedyBase_html_ac0d7645aee89a53f7b76b410a2d17192"><div class="ttname"><a href="classtvm_1_1tir_1_1usmp_1_1algo_1_1GreedyBase.html#ac0d7645aee89a53f7b76b410a2d17192">tvm::tir::usmp::algo::GreedyBase::PostSortAllocation</a></div><div class="ttdeci">Map&lt; BufferInfo, PoolAllocation &gt; PostSortAllocation(const std::vector&lt; BufferInfo &gt; &amp;buffer_info_vec)</div><div class="ttdoc">This is the base allocation function that wor [...]
-<div class="ttc" id="classtvm_1_1tir_1_1usmp_1_1BufferInfo_html"><div class="ttname"><a href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">tvm::tir::usmp::BufferInfo</a></div><div class="ttdef"><b>Definition:</b> utils.h:101</div></div>
+<div class="ttc" id="classtvm_1_1tir_1_1usmp_1_1BufferInfo_html"><div class="ttname"><a href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">tvm::tir::usmp::BufferInfo</a></div><div class="ttdef"><b>Definition:</b> utils.h:115</div></div>
 <div class="ttc" id="analyzer_8h_html"><div class="ttname"><a href="analyzer_8h.html">analyzer.h</a></div><div class="ttdoc">Algebra expression simplifications. </div></div>
 <div class="ttc" id="classtvm_1_1PoolInfo_html"><div class="ttname"><a href="classtvm_1_1PoolInfo.html">tvm::PoolInfo</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:132</div></div>
 <div class="ttc" id="tir_2function_8h_html"><div class="ttname"><a href="tir_2function_8h.html">function.h</a></div><div class="ttdoc">TIR Function. </div></div>
diff --git a/docs/reference/api/doxygen/namespacemembers_b.html b/docs/reference/api/doxygen/namespacemembers_b.html
index bdc135c48..99682bd69 100644
--- a/docs/reference/api/doxygen/namespacemembers_b.html
+++ b/docs/reference/api/doxygen/namespacemembers_b.html
@@ -115,7 +115,7 @@ $(function() {
 <li>bitwise_xor()
 : <a class="el" href="namespacetvm.html#a6c238cafec94d03b8e70688d4cf82642">tvm</a>
 , <a class="el" href="namespacetvm_1_1tir_1_1builtin.html#a0cd2ac37b80c498ded412572146ecc67">tvm::tir::builtin</a>
-, <a class="el" href="namespacetvm_1_1topi.html#ab2162aa07f9ffde1e507c3784337afcc">tvm::topi</a>
+, <a class="el" href="namespacetvm_1_1topi.html#ac9457ae2cc2fda275b615b7c79cadb6d">tvm::topi</a>
 </li>
 <li>BoundTypeVars()
 : <a class="el" href="namespacetvm_1_1relay.html#a1e5aa65b13f8ca172009aa2ff3ba59d6">tvm::relay</a>
@@ -138,11 +138,14 @@ $(function() {
 <li>BufferIndexType
 : <a class="el" href="namespacetvm_1_1tir.html#a1c8232edeb2fcce8eb95477c5153237a">tvm::tir</a>
 </li>
+<li>BufferInfoKind
+: <a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95">tvm::tir::usmp</a>
+</li>
 <li>BufferType
 : <a class="el" href="namespacetvm_1_1tir.html#a9ac05a14db42ca73da1d3945e7ce2fd1">tvm::tir</a>
 </li>
 <li>build()
-: <a class="el" href="namespacetvm.html#a018d7138c17ef78300ee256f6d348d00">tvm</a>
+: <a class="el" href="namespacetvm.html#ab5392acd55c76e34323a71a4052f7bb2">tvm</a>
 </li>
 <li>Build()
 : <a class="el" href="namespacetvm_1_1codegen.html#a0d6322c2dda54a66a3b82022f5f3632c">tvm::codegen</a>
diff --git a/docs/reference/api/doxygen/namespacemembers_c.html b/docs/reference/api/doxygen/namespacemembers_c.html
index 58ef7dc9a..64f235d44 100644
--- a/docs/reference/api/doxygen/namespacemembers_c.html
+++ b/docs/reference/api/doxygen/namespacemembers_c.html
@@ -245,6 +245,9 @@ $(function() {
 <li>create_schedule()
 : <a class="el" href="namespacetvm_1_1te.html#a485034766309df280239e0994913b34b">tvm::te</a>
 </li>
+<li>CreateAllocatesForIO()
+: <a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1transform.html#ad1751f300f05f2448d280b98c48b65a1">tvm::tir::usmp::transform</a>
+</li>
 <li>CreateArrayBufferInfo()
 : <a class="el" href="namespacetvm_1_1tir_1_1usmp.html#a99eb04efa8e77b6759ccfb3ae7c4b5c8">tvm::tir::usmp</a>
 </li>
diff --git a/docs/reference/api/doxygen/namespacemembers_enum.html b/docs/reference/api/doxygen/namespacemembers_enum.html
index 967f01986..a56c4e1d8 100644
--- a/docs/reference/api/doxygen/namespacemembers_enum.html
+++ b/docs/reference/api/doxygen/namespacemembers_enum.html
@@ -77,6 +77,9 @@ $(function() {
 <li>BufferIndexType
 : <a class="el" href="namespacetvm_1_1tir.html#a1c8232edeb2fcce8eb95477c5153237a">tvm::tir</a>
 </li>
+<li>BufferInfoKind
+: <a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95">tvm::tir::usmp</a>
+</li>
 <li>BufferType
 : <a class="el" href="namespacetvm_1_1tir.html#a9ac05a14db42ca73da1d3945e7ce2fd1">tvm::tir</a>
 </li>
diff --git a/docs/reference/api/doxygen/namespacemembers_func_c.html b/docs/reference/api/doxygen/namespacemembers_func_c.html
index 287cfeb3b..86c9e10a5 100644
--- a/docs/reference/api/doxygen/namespacemembers_func_c.html
+++ b/docs/reference/api/doxygen/namespacemembers_func_c.html
@@ -209,6 +209,9 @@ $(function() {
 <li>create_schedule()
 : <a class="el" href="namespacetvm_1_1te.html#a485034766309df280239e0994913b34b">tvm::te</a>
 </li>
+<li>CreateAllocatesForIO()
+: <a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1transform.html#ad1751f300f05f2448d280b98c48b65a1">tvm::tir::usmp::transform</a>
+</li>
 <li>CreateArrayBufferInfo()
 : <a class="el" href="namespacetvm_1_1tir_1_1usmp.html#a99eb04efa8e77b6759ccfb3ae7c4b5c8">tvm::tir::usmp</a>
 </li>
diff --git a/docs/reference/api/doxygen/namespacemembers_func_g.html b/docs/reference/api/doxygen/namespacemembers_func_g.html
index 07e88e109..ee29b914d 100644
--- a/docs/reference/api/doxygen/namespacemembers_func_g.html
+++ b/docs/reference/api/doxygen/namespacemembers_func_g.html
@@ -94,6 +94,9 @@ $(function() {
 <li>GetExprRefCount()
 : <a class="el" href="namespacetvm_1_1relay.html#a2d10acef75390fa6d1a5e64a379c5036">tvm::relay</a>
 </li>
+<li>GetIOPoolAllocations()
+: <a class="el" href="namespacetvm_1_1tir_1_1usmp.html#af09b2e5d53a727e24e1322834b71b67f">tvm::tir::usmp</a>
+</li>
 <li>GetMemoryInfo()
 : <a class="el" href="namespacetvm.html#a6e525343df6fbd739a45b291cb0dfb4f">tvm</a>
 </li>
@@ -147,11 +150,11 @@ $(function() {
 </li>
 <li>greater()
 : <a class="el" href="namespacetvm.html#a7ffc1cdb3a52b680e4b509395c9a252d">tvm</a>
-, <a class="el" href="namespacetvm_1_1topi.html#acf30a8cba376ecf711ba3a4e69060aa1">tvm::topi</a>
+, <a class="el" href="namespacetvm_1_1topi.html#ac4567ae14cdbf86db365e66f9de5d43a">tvm::topi</a>
 </li>
 <li>greater_equal()
-: <a class="el" href="namespacetvm.html#abb5d20ed2442a24c846734f9b403827f">tvm</a>
-, <a class="el" href="namespacetvm_1_1topi.html#a0e5d182474d3db1873fb6690743cf489">tvm::topi</a>
+: <a class="el" href="namespacetvm.html#aa7f616193a71c13d01ce3a3fab469f9d">tvm</a>
+, <a class="el" href="namespacetvm_1_1topi.html#a4ab87f8165493b3fa0acc00a83c0a2e4">tvm::topi</a>
 </li>
 <li>GreedyByConflicts()
 : <a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1algo.html#a868e8374bf03e930ba222ce83df0e635">tvm::tir::usmp::algo</a>
diff --git a/docs/reference/api/doxygen/namespacemembers_func_p.html b/docs/reference/api/doxygen/namespacemembers_func_p.html
index 3bbdc9cac..f5dfa0d16 100644
--- a/docs/reference/api/doxygen/namespacemembers_func_p.html
+++ b/docs/reference/api/doxygen/namespacemembers_func_p.html
@@ -67,12 +67,12 @@ $(function() {
 <li>PackImportsToLLVM()
 : <a class="el" href="namespacetvm_1_1codegen.html#ab2cd2a65bac4b26427a8ca0abe4e0bd6">tvm::codegen</a>
 </li>
-<li>pad()
-: <a class="el" href="namespacetvm_1_1topi.html#a3305d377f96cd20c23032eeada2756d5">tvm::topi</a>
-</li>
 <li>Pad()
 : <a class="el" href="namespacetvm_1_1topi.html#a97c798d0a0ec20a95d351618b83d5121">tvm::topi</a>
 </li>
+<li>pad()
+: <a class="el" href="namespacetvm_1_1topi.html#a3305d377f96cd20c23032eeada2756d5">tvm::topi</a>
+</li>
 <li>parallel_for()
 : <a class="el" href="namespacetvm_1_1support.html#a8bf1225e8bb1db575578ca2d645fb23c">tvm::support</a>
 </li>
diff --git a/docs/reference/api/doxygen/namespacemembers_func_s.html b/docs/reference/api/doxygen/namespacemembers_func_s.html
index a2f8e85d6..680084f51 100644
--- a/docs/reference/api/doxygen/namespacemembers_func_s.html
+++ b/docs/reference/api/doxygen/namespacemembers_func_s.html
@@ -234,12 +234,12 @@ $(function() {
 <li>Specialize()
 : <a class="el" href="namespacetvm_1_1tir.html#a69b6f1b0014dc6e7dd390cff746e9782">tvm::tir</a>
 </li>
-<li>Split()
-: <a class="el" href="namespacetvm_1_1topi.html#a164125ca6dd5c4b677f72e63ce6b3c21">tvm::topi</a>
-</li>
 <li>split()
 : <a class="el" href="namespacetvm_1_1topi.html#af4e59b01a5842baf6b47ad3f83731f53">tvm::topi</a>
 </li>
+<li>Split()
+: <a class="el" href="namespacetvm_1_1topi.html#a164125ca6dd5c4b677f72e63ce6b3c21">tvm::topi</a>
+</li>
 <li>split_sections()
 : <a class="el" href="namespacetvm_1_1topi.html#acc643e2ed166fa2ed82a95853e145619">tvm::topi</a>
 </li>
diff --git a/docs/reference/api/doxygen/namespacemembers_g.html b/docs/reference/api/doxygen/namespacemembers_g.html
index 434092e96..9c0816415 100644
--- a/docs/reference/api/doxygen/namespacemembers_g.html
+++ b/docs/reference/api/doxygen/namespacemembers_g.html
@@ -94,6 +94,9 @@ $(function() {
 <li>GetExprRefCount()
 : <a class="el" href="namespacetvm_1_1relay.html#a2d10acef75390fa6d1a5e64a379c5036">tvm::relay</a>
 </li>
+<li>GetIOPoolAllocations()
+: <a class="el" href="namespacetvm_1_1tir_1_1usmp.html#af09b2e5d53a727e24e1322834b71b67f">tvm::tir::usmp</a>
+</li>
 <li>GetMemoryInfo()
 : <a class="el" href="namespacetvm.html#a6e525343df6fbd739a45b291cb0dfb4f">tvm</a>
 </li>
@@ -159,11 +162,11 @@ $(function() {
 </li>
 <li>greater()
 : <a class="el" href="namespacetvm.html#a7ffc1cdb3a52b680e4b509395c9a252d">tvm</a>
-, <a class="el" href="namespacetvm_1_1topi.html#ab0f3830047f4c7386efafe415aefd19f">tvm::topi</a>
+, <a class="el" href="namespacetvm_1_1topi.html#acf30a8cba376ecf711ba3a4e69060aa1">tvm::topi</a>
 </li>
 <li>greater_equal()
-: <a class="el" href="namespacetvm.html#ab1b704bb5a31b602869fb5c94a56f468">tvm</a>
-, <a class="el" href="namespacetvm_1_1topi.html#a1bb9dc6d401013bedf5a2af6f991a60d">tvm::topi</a>
+: <a class="el" href="namespacetvm.html#a78f0e420a400bb38907d21cfeaab8e18">tvm</a>
+, <a class="el" href="namespacetvm_1_1topi.html#a4ab87f8165493b3fa0acc00a83c0a2e4">tvm::topi</a>
 </li>
 <li>GreedyByConflicts()
 : <a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1algo.html#a868e8374bf03e930ba222ce83df0e635">tvm::tir::usmp::algo</a>
diff --git a/docs/reference/api/doxygen/namespacemembers_k.html b/docs/reference/api/doxygen/namespacemembers_k.html
index 7541ca6b2..70838907c 100644
--- a/docs/reference/api/doxygen/namespacemembers_k.html
+++ b/docs/reference/api/doxygen/namespacemembers_k.html
@@ -403,11 +403,14 @@ $(function() {
 <li>kUSMPEnableOption
 : <a class="el" href="namespacetvm.html#adb1d2ec4c6dde078fb6849479be21759">tvm</a>
 </li>
+<li>kUSMPUseWorkspaceIO
+: <a class="el" href="namespacetvm.html#a42ee9d0672e323515afbef908e8fe458">tvm</a>
+</li>
 <li>kVariableDimensions
 : <a class="el" href="namespacetvm_1_1relay.html#adab76fedc831b249d1c80d69c4a620a3a1a3550732b0caf3981198af2c1373542">tvm::relay</a>
 </li>
 <li>kVectorized
-: <a class="el" href="namespacetvm_1_1tir.html#add7d0a6b1dd91f0c3c5dd2f4cf64358ead3e330e7fdb5593e51d3fad3845e0be6">tvm::tir</a>
+: <a class="el" href="namespacetvm_1_1tir.html#add7d0a6b1dd91f0c3c5dd2f4cf64358ea1d03c8fa5be7edb0032b8155736239bd">tvm::tir</a>
 </li>
 <li>kVerifyCachedFlags
 : <a class="el" href="namespacetvm_1_1tir.html#a230fa4eb6152910f125f636dab3bd4e0a94964b0d13eecd365705d870d658cc83">tvm::tir</a>
diff --git a/docs/reference/api/doxygen/namespacemembers_p.html b/docs/reference/api/doxygen/namespacemembers_p.html
index d4332dcb9..4080907a3 100644
--- a/docs/reference/api/doxygen/namespacemembers_p.html
+++ b/docs/reference/api/doxygen/namespacemembers_p.html
@@ -67,12 +67,12 @@ $(function() {
 <li>PackImportsToLLVM()
 : <a class="el" href="namespacetvm_1_1codegen.html#ab2cd2a65bac4b26427a8ca0abe4e0bd6">tvm::codegen</a>
 </li>
-<li>pad()
-: <a class="el" href="namespacetvm_1_1topi.html#a3305d377f96cd20c23032eeada2756d5">tvm::topi</a>
-</li>
 <li>Pad()
 : <a class="el" href="namespacetvm_1_1topi.html#a97c798d0a0ec20a95d351618b83d5121">tvm::topi</a>
 </li>
+<li>pad()
+: <a class="el" href="namespacetvm_1_1topi.html#a3305d377f96cd20c23032eeada2756d5">tvm::topi</a>
+</li>
 <li>parallel_for()
 : <a class="el" href="namespacetvm_1_1support.html#a8bf1225e8bb1db575578ca2d645fb23c">tvm::support</a>
 </li>
diff --git a/docs/reference/api/doxygen/namespacemembers_s.html b/docs/reference/api/doxygen/namespacemembers_s.html
index 9e11c2a27..863646f73 100644
--- a/docs/reference/api/doxygen/namespacemembers_s.html
+++ b/docs/reference/api/doxygen/namespacemembers_s.html
@@ -276,12 +276,12 @@ $(function() {
 <li>Specialize()
 : <a class="el" href="namespacetvm_1_1tir.html#a69b6f1b0014dc6e7dd390cff746e9782">tvm::tir</a>
 </li>
-<li>Split()
-: <a class="el" href="namespacetvm_1_1topi.html#a164125ca6dd5c4b677f72e63ce6b3c21">tvm::topi</a>
-</li>
 <li>split()
 : <a class="el" href="namespacetvm_1_1topi.html#af4e59b01a5842baf6b47ad3f83731f53">tvm::topi</a>
 </li>
+<li>Split()
+: <a class="el" href="namespacetvm_1_1topi.html#a164125ca6dd5c4b677f72e63ce6b3c21">tvm::topi</a>
+</li>
 <li>split_sections()
 : <a class="el" href="namespacetvm_1_1topi.html#acc643e2ed166fa2ed82a95853e145619">tvm::topi</a>
 </li>
diff --git a/docs/reference/api/doxygen/namespacemembers_vars.html b/docs/reference/api/doxygen/namespacemembers_vars.html
index bbf4e2041..db30a05ef 100644
--- a/docs/reference/api/doxygen/namespacemembers_vars.html
+++ b/docs/reference/api/doxygen/namespacemembers_vars.html
@@ -303,6 +303,9 @@ $(function() {
 <li>kUSMPEnableOption
 : <a class="el" href="namespacetvm.html#adb1d2ec4c6dde078fb6849479be21759">tvm</a>
 </li>
+<li>kUSMPUseWorkspaceIO
+: <a class="el" href="namespacetvm.html#a42ee9d0672e323515afbef908e8fe458">tvm</a>
+</li>
 <li>kVirtualDevice
 : <a class="el" href="namespacetvm.html#a067221db210e0f758d352a6f1ba7d06b">tvm</a>
 </li>
diff --git a/docs/reference/api/doxygen/namespacetvm.html b/docs/reference/api/doxygen/namespacetvm.html
index 3787e5b6f..53925e157 100644
--- a/docs/reference/api/doxygen/namespacetvm.html
+++ b/docs/reference/api/doxygen/namespacetvm.html
@@ -1246,6 +1246,9 @@ Variables</h2></td></tr>
 <tr class="memitem:ad4b5803c3423c0b15a3df281dd636212"><td class="memItemLeft" align="right" valign="top">constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm.html#ad4b5803c3423c0b15a3df281dd636212">kUSMPAlgorithmOption</a> = &quot;tir.usmp.algorithm&quot;</td></tr>
 <tr class="memdesc:ad4b5803c3423c0b15a3df281dd636212"><td class="mdescLeft">&#160;</td><td class="mdescRight">PassContext option to select the memory planning algorithm in USMP.  <a href="#ad4b5803c3423c0b15a3df281dd636212">More...</a><br /></td></tr>
 <tr class="separator:ad4b5803c3423c0b15a3df281dd636212"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a42ee9d0672e323515afbef908e8fe458"><td class="memItemLeft" align="right" valign="top">constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm.html#a42ee9d0672e323515afbef908e8fe458">kUSMPUseWorkspaceIO</a> = &quot;tir.usmp.use_workspace_io&quot;</td></tr>
+<tr class="memdesc:a42ee9d0672e323515afbef908e8fe458"><td class="mdescLeft">&#160;</td><td class="mdescRight">PassContext option to enable placing I/O tensors in the workspace.  <a href="#a42ee9d0672e323515afbef908e8fe458">More...</a><br /></td></tr>
+<tr class="separator:a42ee9d0672e323515afbef908e8fe458"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>runtime implementation for LibTorch/TorchScript. </p>
@@ -12694,6 +12697,22 @@ template&lt;typename TFunc &gt; </div>
 
 <p>PassContext option to enable the USMP. </p>
 
+</div>
+</div>
+<a id="a42ee9d0672e323515afbef908e8fe458"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a42ee9d0672e323515afbef908e8fe458">&#9670;&nbsp;</a></span>kUSMPUseWorkspaceIO</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">constexpr const char* tvm::kUSMPUseWorkspaceIO = &quot;tir.usmp.use_workspace_io&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>PassContext option to enable placing I/O tensors in the workspace. </p>
+
 </div>
 </div>
 <a id="a067221db210e0f758d352a6f1ba7d06b"></a>
diff --git a/docs/reference/api/doxygen/namespacetvm_1_1tir_1_1usmp.html b/docs/reference/api/doxygen/namespacetvm_1_1tir_1_1usmp.html
index 5f33a3b8a..ea956eefb 100644
--- a/docs/reference/api/doxygen/namespacetvm_1_1tir_1_1usmp.html
+++ b/docs/reference/api/doxygen/namespacetvm_1_1tir_1_1usmp.html
@@ -65,6 +65,7 @@ $(function() {
   <div class="summary">
 <a href="#namespaces">Namespaces</a> &#124;
 <a href="#nested-classes">Classes</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
 <a href="#func-members">Functions</a>  </div>
   <div class="headertitle">
 <div class="title">tvm::tir::usmp Namespace Reference</div>  </div>
@@ -101,6 +102,15 @@ Classes</h2></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The pool allocation produced after the USMP algorithm.  <a href="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode.html#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:ae54e3c895dbf7871be67970f91b16b95"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95">BufferInfoKind</a> { <a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95a7e69a1214be9adba7d70a95f2f6fb8fb">BufferInfoKind::kIntermediate</a> = 0, 
+<a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95ae22aedaa9915a19ef49578764f6dea64">BufferInfoKind::kInput</a> = 1, 
+<a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95af2bbd8203bc7c5c4efd47aa348753504">BufferInfoKind::kOutput</a> = 2
+ }<tr class="memdesc:ae54e3c895dbf7871be67970f91b16b95"><td class="mdescLeft">&#160;</td><td class="mdescRight">A special kind to distinguish between I/O tensors to the model and intermediate tensors of the model.  <a href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95">More...</a><br /></td></tr>
+</td></tr>
+<tr class="separator:ae54e3c895dbf7871be67970f91b16b95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:a4cdc4bc9b24f043b0f45952efd25f10f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysis.html">BufferInfoAnalysis</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1tir_1_1usmp.html#a4cdc4bc9b24f043b0f45952efd25f10f">ExtractBufferInfo</a> (const <a class="el" href="classtvm_1_1tir_1_1PrimFunc.html">PrimFunc</a> &amp;main_func, const <a class="el" href="classtvm_1_1IRM [...]
@@ -118,7 +128,40 @@ Functions</h2></td></tr>
 <tr class="memitem:a4933c94607060c1ce922d43c30ad0c59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a>&lt; <a class="el" href="classtvm_1_1tir_1_1Stmt.html">Stmt</a>, <a class="el" href="classtvm_1_1tir_1_1usmp_1_1PoolAllocation.html">PoolAllocation</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1tir_1_1usmp.html#a4933c94607060c1ce922d43c30ad0c59">AssignStmtPoolAllocations</a> ( [...]
 <tr class="memdesc:a4933c94607060c1ce922d43c30ad0c59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Joins the <a class="el" href="classtvm_1_1tir_1_1Stmt.html" title="Container of all statements. ">Stmt</a> nodes with <a class="el" href="classtvm_1_1tir_1_1usmp_1_1PoolAllocation.html">PoolAllocation</a> objects.  <a href="#a4933c94607060c1ce922d43c30ad0c59">More...</a><br /></td></tr>
 <tr class="separator:a4933c94607060c1ce922d43c30ad0c59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af09b2e5d53a727e24e1322834b71b67f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a>&lt; <a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>, <a class="el" href="classtvm_1_1tir_1_1usmp_1_1PoolAllocation.html">PoolAllocation</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1tir_1_1usmp.html#af09b2e5d53a727e24e1322834b71b67f">GetIOPoolAllocations</a [...]
+<tr class="memdesc:af09b2e5d53a727e24e1322834b71b67f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtains I/O tensor names to their <a class="el" href="classtvm_1_1tir_1_1usmp_1_1PoolAllocation.html">PoolAllocation</a> objects.  <a href="#af09b2e5d53a727e24e1322834b71b67f">More...</a><br /></td></tr>
+<tr class="separator:af09b2e5d53a727e24e1322834b71b67f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a id="ae54e3c895dbf7871be67970f91b16b95"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae54e3c895dbf7871be67970f91b16b95">&#9670;&nbsp;</a></span>BufferInfoKind</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95">tvm::tir::usmp::BufferInfoKind</a></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">strong</span></span>  </td>
+  </tr>
 </table>
+</div><div class="memdoc">
+
+<p>A special kind to distinguish between I/O tensors to the model and intermediate tensors of the model. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ae54e3c895dbf7871be67970f91b16b95a7e69a1214be9adba7d70a95f2f6fb8fb"></a>kIntermediate&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="ae54e3c895dbf7871be67970f91b16b95ae22aedaa9915a19ef49578764f6dea64"></a>kInput&#160;</td><td class="fielddoc"></td></tr>
+<tr><td class="fieldname"><a id="ae54e3c895dbf7871be67970f91b16b95af2bbd8203bc7c5c4efd47aa348753504"></a>kOutput&#160;</td><td class="fielddoc"></td></tr>
+</table>
+
+</div>
+</div>
 <h2 class="groupheader">Function Documentation</h2>
 <a id="a4933c94607060c1ce922d43c30ad0c59"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a4933c94607060c1ce922d43c30ad0c59">&#9670;&nbsp;</a></span>AssignStmtPoolAllocations()</h2>
@@ -265,6 +308,33 @@ Functions</h2></td></tr>
 <p>This pass would extract the buffer information of allocate nodes including liveness conflict with other buffer info objects.</p>
 <dl class="section return"><dt>Returns</dt><dd>A Map of <a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">BufferInfo</a> objects and their associated Stmts </dd></dl>
 
+</div>
+</div>
+<a id="af09b2e5d53a727e24e1322834b71b67f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af09b2e5d53a727e24e1322834b71b67f">&#9670;&nbsp;</a></span>GetIOPoolAllocations()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a>&lt;<a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>, <a class="el" href="classtvm_1_1tir_1_1usmp_1_1PoolAllocation.html">PoolAllocation</a>&gt; tvm::tir::usmp::GetIOPoolAllocations </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a>&lt; <a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">BufferInfo</a>, <a class="el" href="classtvm_1_1tir_1_1usmp_1_1PoolAllocation.html">PoolAllocation</a> &gt; &amp;&#160;</td>
+          <td class="paramname"><em>buffer_info_to_pool_allocation</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Obtains I/O tensor names to their <a class="el" href="classtvm_1_1tir_1_1usmp_1_1PoolAllocation.html">PoolAllocation</a> objects. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">buffer_info_to_pool_allocation</td><td>the map of <a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">BufferInfo</a> objects to <a class="el" href="classtvm_1_1tir_1_1usmp_1_1PoolAllocation.html">PoolAllocation</a> objects</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will obtain pool allocations for I/O tensors if that had been planned </p>
+
 </div>
 </div>
 </div><!-- contents -->
diff --git a/docs/reference/api/doxygen/namespacetvm_1_1tir_1_1usmp_1_1transform.html b/docs/reference/api/doxygen/namespacetvm_1_1tir_1_1usmp_1_1transform.html
index 3b1cf0a1f..350467a54 100644
--- a/docs/reference/api/doxygen/namespacetvm_1_1tir_1_1usmp_1_1transform.html
+++ b/docs/reference/api/doxygen/namespacetvm_1_1tir_1_1usmp_1_1transform.html
@@ -83,6 +83,9 @@ Functions</h2></td></tr>
 <tr class="memitem:a1b12a47b959ac6298f1e3df40ed48458"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1transform.html#a901e9d4d9288aacc08b1bc7cde535f56">Pass</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1transform.html#a1b12a47b959ac6298f1e3df40ed48458">AssignPoolInfo</a> ()</td></tr>
 <tr class="memdesc:a1b12a47b959ac6298f1e3df40ed48458"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign <a class="el" href="classtvm_1_1PoolInfo.html">PoolInfo</a> objects to tir.allocate nodes depending on the <a class="el" href="classtvm_1_1tir_1_1PrimFunc.html" title="Managed reference to PrimFuncNode. ">PrimFunc</a>'s target.  <a href="#a1b12a47b959ac6298f1e3df40ed48458">More...</a><br /></td></tr>
 <tr class="separator:a1b12a47b959ac6298f1e3df40ed48458"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad1751f300f05f2448d280b98c48b65a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1transform.html#a901e9d4d9288aacc08b1bc7cde535f56">Pass</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1transform.html#ad1751f300f05f2448d280b98c48b65a1">CreateAllocatesForIO</a> ()</td></tr>
+<tr class="memdesc:ad1751f300f05f2448d280b98c48b65a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This pass creates <a class="el" href="classtvm_1_1tir_1_1Allocate.html" title="Managed reference to AllocateNode. ">Allocate</a> nodes for I/O tensors.  <a href="#ad1751f300f05f2448d280b98c48b65a1">More...</a><br /></td></tr>
+<tr class="separator:ad1751f300f05f2448d280b98c48b65a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Typedef Documentation</h2>
 <a id="a901e9d4d9288aacc08b1bc7cde535f56"></a>
@@ -151,6 +154,27 @@ Functions</h2></td></tr>
 <p>This pass would convert the main function to accept pool variables as an input that get passed onto the operator PrimFuncs. Furthermore, the static allocations will be converted to offsets within the pool variable.</p>
 <dl class="section return"><dt>Returns</dt><dd>the pass </dd></dl>
 
+</div>
+</div>
+<a id="ad1751f300f05f2448d280b98c48b65a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad1751f300f05f2448d280b98c48b65a1">&#9670;&nbsp;</a></span>CreateAllocatesForIO()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1transform.html#a901e9d4d9288aacc08b1bc7cde535f56">Pass</a> tvm::tir::usmp::transform::CreateAllocatesForIO </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This pass creates <a class="el" href="classtvm_1_1tir_1_1Allocate.html" title="Managed reference to AllocateNode. ">Allocate</a> nodes for I/O tensors. </p>
+<p>If the user wants to place the I/O tensors in the workspace, this pass is required to be run. In doing so, it will create <a class="el" href="classtvm_1_1tir_1_1Allocate.html" title="Managed reference to AllocateNode. ">Allocate</a> nodes for I/O tensors to be planned, and be removed from function arguments.</p>
+<dl class="section return"><dt>Returns</dt><dd>the pass </dd></dl>
+
 </div>
 </div>
 </div><!-- contents -->
diff --git a/docs/reference/api/doxygen/search/all_11.js b/docs/reference/api/doxygen/search/all_11.js
index d9e2a82fa..746f442be 100644
--- a/docs/reference/api/doxygen/search/all_11.js
+++ b/docs/reference/api/doxygen/search/all_11.js
@@ -21,7 +21,7 @@ var searchData=
   ['packetfieldsizebytes',['PacketFieldSizeBytes',['../classtvm_1_1runtime_1_1micro__rpc_1_1PacketFieldSizeBytes.html',1,'tvm::runtime::micro_rpc']]],
   ['packimportstoc',['PackImportsToC',['../namespacetvm_1_1codegen.html#abf02059ebadcdb8bbbe5c840b646d67b',1,'tvm::codegen']]],
   ['packimportstollvm',['PackImportsToLLVM',['../namespacetvm_1_1codegen.html#ab2cd2a65bac4b26427a8ca0abe4e0bd6',1,'tvm::codegen']]],
-  ['pad',['Pad',['../namespacetvm_1_1topi.html#a97c798d0a0ec20a95d351618b83d5121',1,'tvm::topi::Pad(const Array&lt; PrimExpr &gt; shape, int odim)'],['../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=kElement [...]
+  ['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 [...]
   ['pad_5fmode',['pad_mode',['../structtvm_1_1relay_1_1PadAttrs.html#a5b524c3add781cd2da894e81553079f8',1,'tvm::relay::PadAttrs']]],
   ['pad_5futils_2eh',['pad_utils.h',['../pad__utils_8h.html',1,'']]],
   ['pad_5fvalue',['pad_value',['../structtvm_1_1relay_1_1SpaceToBatchNDAttrs.html#a7c0fbd47621c925a45e1074f85a6b70f',1,'tvm::relay::SpaceToBatchNDAttrs']]],
diff --git a/docs/reference/api/doxygen/search/all_14.js b/docs/reference/api/doxygen/search/all_14.js
index 028286ba1..39c73c83d 100644
--- a/docs/reference/api/doxygen/search/all_14.js
+++ b/docs/reference/api/doxygen/search/all_14.js
@@ -268,7 +268,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_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_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']]],
diff --git a/docs/reference/api/doxygen/search/all_3.js b/docs/reference/api/doxygen/search/all_3.js
index bd0680c35..0535b075c 100644
--- a/docs/reference/api/doxygen/search/all_3.js
+++ b/docs/reference/api/doxygen/search/all_3.js
@@ -103,9 +103,10 @@ var searchData=
   ['buffer_5fvar',['buffer_var',['../classtvm_1_1tir_1_1LoadNode.html#a2c69902eee069e824c822492068e6913',1,'tvm::tir::LoadNode::buffer_var()'],['../classtvm_1_1tir_1_1StoreNode.html#aed2fc3d3c119126a61182666930e8729',1,'tvm::tir::StoreNode::buffer_var()'],['../classtvm_1_1tir_1_1AllocateNode.html#acc0828bc8173ba2d46f90ddd2a329ae0',1,'tvm::tir::AllocateNode::buffer_var()'],['../classtvm_1_1tir_1_1AllocateConstNode.html#a8f0ca4a2b427645a93605494680cc669',1,'tvm::tir::AllocateConstNode::buf [...]
   ['buffer_5fwriters',['buffer_writers',['../classtvm_1_1tir_1_1BlockScopeNode.html#af5aafa70b0f0625c5f6d8556c799ed90',1,'tvm::tir::BlockScopeNode']]],
   ['bufferindextype',['BufferIndexType',['../namespacetvm_1_1tir.html#a1c8232edeb2fcce8eb95477c5153237a',1,'tvm::tir']]],
-  ['bufferinfo',['BufferInfo',['../classtvm_1_1tir_1_1usmp_1_1BufferInfo.html',1,'tvm::tir::usmp::BufferInfo'],['../classtvm_1_1tir_1_1usmp_1_1BufferInfo.html#a56c05fe02fbd0b4e14b06ab614d4dd18',1,'tvm::tir::usmp::BufferInfo::BufferInfo()']]],
+  ['bufferinfo',['BufferInfo',['../classtvm_1_1tir_1_1usmp_1_1BufferInfo.html',1,'tvm::tir::usmp::BufferInfo'],['../classtvm_1_1tir_1_1usmp_1_1BufferInfo.html#a74e46605b35826079bc0c6b07125e918',1,'tvm::tir::usmp::BufferInfo::BufferInfo()']]],
   ['bufferinfoanalysis',['BufferInfoAnalysis',['../classtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysis.html',1,'tvm::tir::usmp::BufferInfoAnalysis'],['../classtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysis.html#a3e3ef785c00a36fef0b1f0872c949d5a',1,'tvm::tir::usmp::BufferInfoAnalysis::BufferInfoAnalysis()']]],
   ['bufferinfoanalysisnode',['BufferInfoAnalysisNode',['../structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode.html',1,'tvm::tir::usmp']]],
+  ['bufferinfokind',['BufferInfoKind',['../namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95',1,'tvm::tir::usmp']]],
   ['bufferinfonode',['BufferInfoNode',['../structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html',1,'tvm::tir::usmp']]],
   ['bufferload',['BufferLoad',['../classtvm_1_1tir_1_1BufferLoad.html',1,'tvm::tir::BufferLoad'],['../classtvm_1_1tir_1_1BufferLoadNode.html#a4fc20852a07acb158a99c2ccc16b6226',1,'tvm::tir::BufferLoadNode::BufferLoad()'],['../classtvm_1_1tir_1_1BufferLoad.html#a5f1d2fe0e7ee0ebd1dbed005aa11f79f',1,'tvm::tir::BufferLoad::BufferLoad()']]],
   ['bufferloadnode',['BufferLoadNode',['../classtvm_1_1tir_1_1BufferLoadNode.html',1,'tvm::tir']]],
diff --git a/docs/reference/api/doxygen/search/all_4.js b/docs/reference/api/doxygen/search/all_4.js
index a1b1b25fe..49a9f63ba 100644
--- a/docs/reference/api/doxygen/search/all_4.js
+++ b/docs/reference/api/doxygen/search/all_4.js
@@ -247,6 +247,7 @@ var searchData=
   ['create',['Create',['../classtvm_1_1transform_1_1PassContext.html#aabfad8965c2f4e7b6e4b0812652ddfd2',1,'tvm::transform::PassContext::Create()'],['../classtvm_1_1relay_1_1Executor.html#a40d1e25dda59f1d3bb24317c8cf9aac9',1,'tvm::relay::Executor::Create()'],['../classtvm_1_1relay_1_1Runtime.html#a7f9d3ecff6d137acf0537a495a6e25a9',1,'tvm::relay::Runtime::Create()']]],
   ['create_5fgroup',['create_group',['../classtvm_1_1te_1_1Schedule.html#a638e7b946df3b5d2e2cde3acc0201da0',1,'tvm::te::Schedule']]],
   ['create_5fschedule',['create_schedule',['../namespacetvm_1_1te.html#a485034766309df280239e0994913b34b',1,'tvm::te']]],
+  ['createallocatesforio',['CreateAllocatesForIO',['../namespacetvm_1_1tir_1_1usmp_1_1transform.html#ad1751f300f05f2448d280b98c48b65a1',1,'tvm::tir::usmp::transform']]],
   ['createarraybufferinfo',['CreateArrayBufferInfo',['../namespacetvm_1_1tir_1_1usmp.html#a99eb04efa8e77b6759ccfb3ae7c4b5c8',1,'tvm::tir::usmp']]],
   ['createfromrange',['CreateFromRange',['../classtvm_1_1runtime_1_1MapNode.html#a6b54c7503c17ee3bb7eadcd1ac0ed009',1,'tvm::runtime::MapNode']]],
   ['createfunctionpass',['CreateFunctionPass',['../namespacetvm_1_1relay_1_1transform.html#a2101aa797e69d398012ef94b63db51da',1,'tvm::relay::transform']]],
diff --git a/docs/reference/api/doxygen/search/all_8.js b/docs/reference/api/doxygen/search/all_8.js
index 42809a1d3..c800283d5 100644
--- a/docs/reference/api/doxygen/search/all_8.js
+++ b/docs/reference/api/doxygen/search/all_8.js
@@ -65,6 +65,7 @@ var searchData=
   ['getglobalvar',['GetGlobalVar',['../classtvm_1_1IRModuleNode.html#a18354400214e8695aac9625e587c5fad',1,'tvm::IRModuleNode']]],
   ['getglobalvars',['GetGlobalVars',['../classtvm_1_1IRModuleNode.html#a16ed1c2bfd82c1042d429fde05201cc4',1,'tvm::IRModuleNode']]],
   ['gethost',['GetHost',['../classtvm_1_1TargetNode.html#a94129658128c764ddd0e2255a490be05',1,'tvm::TargetNode']]],
+  ['getiopoolallocations',['GetIOPoolAllocations',['../namespacetvm_1_1tir_1_1usmp.html#af09b2e5d53a727e24e1322834b71b67f',1,'tvm::tir::usmp']]],
   ['getkeys',['GetKeys',['../classtvm_1_1TargetNode.html#abd05b2c258974b13af1192c911ccb12b',1,'tvm::TargetNode']]],
   ['getlib',['GetLib',['../classtvm_1_1runtime_1_1vm_1_1Executable.html#aabfeb049c4a50df7b204b34f56b31567',1,'tvm::runtime::vm::Executable']]],
   ['getlibs',['GetLibs',['../classtvm_1_1TargetNode.html#a1bd600905c1a4469726184adbc9087b0',1,'tvm::TargetNode']]],
diff --git a/docs/reference/api/doxygen/search/all_c.js b/docs/reference/api/doxygen/search/all_c.js
index 6181f9619..75eed01cb 100644
--- a/docs/reference/api/doxygen/search/all_c.js
+++ b/docs/reference/api/doxygen/search/all_c.js
@@ -96,15 +96,17 @@ var searchData=
   ['khandle',['kHandle',['../classtvm_1_1runtime_1_1DataType.html#a3c9ce1627be2550f656cd37b6c698c7da2a59b355bef5ebc40bd78833666197cb',1,'tvm::runtime::DataType::kHandle()'],['../namespacetvm_1_1runtime_1_1metadata.html#a6edfc2b47c55d18f94867a18a7b02fb7a4061bb63b08e7e004e7e2ee0c4cafc53',1,'tvm::runtime::metadata::kHandle()']]],
   ['khelp',['kHelp',['../namespacetvm.html#a908c332516a33fdc106cd9ee2ebc2b9ea244ce4b6c7f56eaa446d64fc2d068bbb',1,'tvm']]],
   ['killregister',['KillRegister',['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#a8a0d04f104703b4b7932acba981401a9',1,'tvm::runtime::vm::Instruction::KillRegister()'],['../namespacetvm_1_1runtime_1_1vm.html#a8d8d95ce8d629c7213f2f595917870eca4dbbdb7762429945fba6aa5906b473ed',1,'tvm::runtime::vm::KillRegister()']]],
-  ['kind',['kind',['../classtvm_1_1TypeVarNode.html#afc08e151afef3c4644ba8d2cd796106a',1,'tvm::TypeVarNode::kind()'],['../classtvm_1_1GlobalTypeVarNode.html#a335e232894a68cc1e0ecb766bf4053c7',1,'tvm::GlobalTypeVarNode::kind()'],['../classtvm_1_1IncompleteTypeNode.html#ab5f37175c1fd0dbbbedc2edaa23d33dc',1,'tvm::IncompleteTypeNode::kind()'],['../classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode.html#a695a21a69be1e72b330abe32c685552e',1,'tvm::runtime::metadata::MetadataArrayNode::kind()' [...]
+  ['kind',['kind',['../classtvm_1_1TypeVarNode.html#afc08e151afef3c4644ba8d2cd796106a',1,'tvm::TypeVarNode::kind()'],['../classtvm_1_1GlobalTypeVarNode.html#a335e232894a68cc1e0ecb766bf4053c7',1,'tvm::GlobalTypeVarNode::kind()'],['../classtvm_1_1IncompleteTypeNode.html#ab5f37175c1fd0dbbbedc2edaa23d33dc',1,'tvm::IncompleteTypeNode::kind()'],['../classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode.html#a695a21a69be1e72b330abe32c685552e',1,'tvm::runtime::metadata::MetadataArrayNode::kind()' [...]
   ['kindcheck',['KindCheck',['../namespacetvm_1_1relay.html#a9c09d2d83aa356218069b1def8046ee7',1,'tvm::relay']]],
   ['kinjective',['kInjective',['../namespacetvm_1_1relay.html#ab5f4d382bf1bee69c3e484ea6c837578a7f703d1ae163ba4e6bef88357a232e00',1,'tvm::relay::kInjective()'],['../namespacetvm_1_1topi.html#a29e22aa45900dad3b6f9f705bb1dc688',1,'tvm::topi::kInjective()']]],
   ['kinline',['kInline',['../namespacetvm_1_1relay_1_1attr.html#ad294262b6b1ca1b7bf3924a139f17562',1,'tvm::relay::attr::kInline()'],['../namespacetvm_1_1te.html#a7693a274748dadfa2eaa35f5ce9008a5a6472eda35fc70bd00e3ce3b3ce3047fc',1,'tvm::te::kInline()']]],
   ['kinlined',['kInlined',['../namespacetvm_1_1auto__scheduler.html#ab75208ecc6a00ca7f86af04b3cc5657fa65de1fd3169eecfb4618d2c8e71e631b',1,'tvm::auto_scheduler']]],
   ['kinlinedalready',['kInlinedAlready',['../namespacetvm_1_1te.html#a7693a274748dadfa2eaa35f5ce9008a5af4fc945dfabb70f21d7341f8ee0b3cf3',1,'tvm::te']]],
+  ['kinput',['kInput',['../namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95ae22aedaa9915a19ef49578764f6dea64',1,'tvm::tir::usmp']]],
   ['kinstantiationerror',['kInstantiationError',['../namespacetvm_1_1auto__scheduler.html#acd2b9ff22c8ef2f009aef57f80926b9aa5d00c14ab3efe3c4b637681a1a745dea',1,'tvm::auto_scheduler']]],
   ['kint',['kInt',['../classtvm_1_1runtime_1_1DataType.html#a3c9ce1627be2550f656cd37b6c698c7daba80c33310f753ce7578ba71f8b19450',1,'tvm::runtime::DataType']]],
   ['kint64',['kInt64',['../namespacetvm_1_1runtime_1_1metadata.html#a6edfc2b47c55d18f94867a18a7b02fb7a59eaf67f3b8f99cbb4e5d6136b867c08',1,'tvm::runtime::metadata']]],
+  ['kintermediate',['kIntermediate',['../namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95a7e69a1214be9adba7d70a95f2f6fb8fb',1,'tvm::tir::usmp']]],
   ['kinvaliddevicetype',['kInvalidDeviceType',['../namespacetvm.html#ab3c85920678b8ba5d925d386b66c0261',1,'tvm']]],
   ['kinvalidnonce',['kInvalidNonce',['../classtvm_1_1runtime_1_1micro__rpc_1_1Session.html#afc446d6776b086bf75ca68777d11022f',1,'tvm::runtime::micro_rpc::Session']]],
   ['kisentryfunc',['kIsEntryFunc',['../namespacetvm_1_1tir_1_1attr.html#a489d0cebd2820025bc3d6c5a9011cdd4',1,'tvm::tir::attr']]],
@@ -138,6 +140,7 @@ var searchData=
   ['kopengl',['kOpenGL',['../c__runtime__api_8h.html#a57cbccb14c35a0e62dbc1b911188fcefa72361be679c1aca1c1be5f9b500a3315',1,'c_runtime_api.h']]],
   ['kordered',['kOrdered',['../namespacetvm_1_1tir.html#add7d0a6b1dd91f0c3c5dd2f4cf64358eaba48cf32065b1bf9086138313912f64b',1,'tvm::tir']]],
   ['koutewisefusable',['kOutEWiseFusable',['../namespacetvm_1_1relay.html#ab5f4d382bf1bee69c3e484ea6c837578ab9b265465c486425c2f60cd4057e2ef4',1,'tvm::relay']]],
+  ['koutput',['kOutput',['../namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95af2bbd8203bc7c5c4efd47aa348753504',1,'tvm::tir::usmp']]],
   ['kpacketstart',['kPacketStart',['../namespacetvm_1_1runtime_1_1micro__rpc.html#ae62577b404cccb2018ca8576b1f75bb6a26a9a852e18f197c43cb0791b78bf3ae',1,'tvm::runtime::micro_rpc']]],
   ['kparallel',['kParallel',['../namespacetvm_1_1auto__scheduler.html#ad81bc395fc88957fbd33bf041adbe0eca6fb3551e3657204372d76d2d9b83a3b9',1,'tvm::auto_scheduler::kParallel()'],['../namespacetvm_1_1tir.html#a9f59694e9c3912cc5e80654ddbc1e40aa6fb3551e3657204372d76d2d9b83a3b9',1,'tvm::tir::kParallel()']]],
   ['kparallelized',['kParallelized',['../namespacetvm_1_1tir.html#add7d0a6b1dd91f0c3c5dd2f4cf64358eae12eb286fbc36da6dd2e4775a1306652',1,'tvm::tir']]],
@@ -269,6 +272,7 @@ var searchData=
   ['kupdatestate',['kUpdateState',['../namespacetvm_1_1tir.html#a8f4a86b205145696c0555fd02bd37f46af5cd553beea158407e669139955fffe0',1,'tvm::tir']]],
   ['kusmpalgorithmoption',['kUSMPAlgorithmOption',['../namespacetvm.html#ad4b5803c3423c0b15a3df281dd636212',1,'tvm']]],
   ['kusmpenableoption',['kUSMPEnableOption',['../namespacetvm.html#adb1d2ec4c6dde078fb6849479be21759',1,'tvm']]],
+  ['kusmpuseworkspaceio',['kUSMPUseWorkspaceIO',['../namespacetvm.html#a42ee9d0672e323515afbef908e8fe458',1,'tvm']]],
   ['kvariabledimensions',['kVariableDimensions',['../namespacetvm_1_1relay.html#adab76fedc831b249d1c80d69c4a620a3a1a3550732b0caf3981198af2c1373542',1,'tvm::relay']]],
   ['kvectorize',['kVectorize',['../namespacetvm_1_1auto__scheduler.html#ad81bc395fc88957fbd33bf041adbe0eca4fb69c050a3bd280581e1e4e9e9f3834',1,'tvm::auto_scheduler']]],
   ['kvectorized',['kVectorized',['../namespacetvm_1_1tir.html#add7d0a6b1dd91f0c3c5dd2f4cf64358ea1d03c8fa5be7edb0032b8155736239bd',1,'tvm::tir::kVectorized()'],['../namespacetvm_1_1tir.html#add7d0a6b1dd91f0c3c5dd2f4cf64358ead3e330e7fdb5593e51d3fad3845e0be6',1,'tvm::tir::kVectorized()']]],
diff --git a/docs/reference/api/doxygen/search/enums_1.js b/docs/reference/api/doxygen/search/enums_1.js
index d803d3b5c..a0c789a04 100644
--- a/docs/reference/api/doxygen/search/enums_1.js
+++ b/docs/reference/api/doxygen/search/enums_1.js
@@ -1,5 +1,6 @@
 var searchData=
 [
   ['bufferindextype',['BufferIndexType',['../namespacetvm_1_1tir.html#a1c8232edeb2fcce8eb95477c5153237a',1,'tvm::tir']]],
+  ['bufferinfokind',['BufferInfoKind',['../namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95',1,'tvm::tir::usmp']]],
   ['buffertype',['BufferType',['../namespacetvm_1_1tir.html#a9ac05a14db42ca73da1d3945e7ce2fd1',1,'tvm::tir']]]
 ];
diff --git a/docs/reference/api/doxygen/search/enumvalues_5.js b/docs/reference/api/doxygen/search/enumvalues_5.js
index 2913fc5b1..b1842db9a 100644
--- a/docs/reference/api/doxygen/search/enumvalues_5.js
+++ b/docs/reference/api/doxygen/search/enumvalues_5.js
@@ -67,9 +67,11 @@ var searchData=
   ['kinline',['kInline',['../namespacetvm_1_1te.html#a7693a274748dadfa2eaa35f5ce9008a5a6472eda35fc70bd00e3ce3b3ce3047fc',1,'tvm::te']]],
   ['kinlined',['kInlined',['../namespacetvm_1_1auto__scheduler.html#ab75208ecc6a00ca7f86af04b3cc5657fa65de1fd3169eecfb4618d2c8e71e631b',1,'tvm::auto_scheduler']]],
   ['kinlinedalready',['kInlinedAlready',['../namespacetvm_1_1te.html#a7693a274748dadfa2eaa35f5ce9008a5af4fc945dfabb70f21d7341f8ee0b3cf3',1,'tvm::te']]],
+  ['kinput',['kInput',['../namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95ae22aedaa9915a19ef49578764f6dea64',1,'tvm::tir::usmp']]],
   ['kinstantiationerror',['kInstantiationError',['../namespacetvm_1_1auto__scheduler.html#acd2b9ff22c8ef2f009aef57f80926b9aa5d00c14ab3efe3c4b637681a1a745dea',1,'tvm::auto_scheduler']]],
   ['kint',['kInt',['../classtvm_1_1runtime_1_1DataType.html#a3c9ce1627be2550f656cd37b6c698c7daba80c33310f753ce7578ba71f8b19450',1,'tvm::runtime::DataType']]],
   ['kint64',['kInt64',['../namespacetvm_1_1runtime_1_1metadata.html#a6edfc2b47c55d18f94867a18a7b02fb7a59eaf67f3b8f99cbb4e5d6136b867c08',1,'tvm::runtime::metadata']]],
+  ['kintermediate',['kIntermediate',['../namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95a7e69a1214be9adba7d70a95f2f6fb8fb',1,'tvm::tir::usmp']]],
   ['kiter',['kIter',['../namespacetvm_1_1auto__scheduler.html#ab75208ecc6a00ca7f86af04b3cc5657fa8db9b1354688d96ec52c71f2b290165c',1,'tvm::auto_scheduler']]],
   ['klittle',['kLittle',['../classtvm_1_1runtime_1_1threading_1_1ThreadGroup.html#a5230a4c2d7f6c2f73f3d5fb00e9f6acda618cfa7040dff793381df4c9e6c13b73',1,'tvm::runtime::threading::ThreadGroup']]],
   ['klog',['kLog',['../namespacetvm_1_1runtime_1_1micro__rpc.html#a07b2902f093d341cd67bd16738037a85af7971cffe1eeab35748c8d08e50703ec',1,'tvm::runtime::micro_rpc']]],
@@ -92,6 +94,7 @@ var searchData=
   ['kopengl',['kOpenGL',['../c__runtime__api_8h.html#a57cbccb14c35a0e62dbc1b911188fcefa72361be679c1aca1c1be5f9b500a3315',1,'c_runtime_api.h']]],
   ['kordered',['kOrdered',['../namespacetvm_1_1tir.html#add7d0a6b1dd91f0c3c5dd2f4cf64358eaba48cf32065b1bf9086138313912f64b',1,'tvm::tir']]],
   ['koutewisefusable',['kOutEWiseFusable',['../namespacetvm_1_1relay.html#ab5f4d382bf1bee69c3e484ea6c837578ab9b265465c486425c2f60cd4057e2ef4',1,'tvm::relay']]],
+  ['koutput',['kOutput',['../namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95af2bbd8203bc7c5c4efd47aa348753504',1,'tvm::tir::usmp']]],
   ['kpacketstart',['kPacketStart',['../namespacetvm_1_1runtime_1_1micro__rpc.html#ae62577b404cccb2018ca8576b1f75bb6a26a9a852e18f197c43cb0791b78bf3ae',1,'tvm::runtime::micro_rpc']]],
   ['kparallel',['kParallel',['../namespacetvm_1_1auto__scheduler.html#ad81bc395fc88957fbd33bf041adbe0eca6fb3551e3657204372d76d2d9b83a3b9',1,'tvm::auto_scheduler::kParallel()'],['../namespacetvm_1_1tir.html#a9f59694e9c3912cc5e80654ddbc1e40aa6fb3551e3657204372d76d2d9b83a3b9',1,'tvm::tir::kParallel()']]],
   ['kparallelized',['kParallelized',['../namespacetvm_1_1tir.html#add7d0a6b1dd91f0c3c5dd2f4cf64358eae12eb286fbc36da6dd2e4775a1306652',1,'tvm::tir']]],
diff --git a/docs/reference/api/doxygen/search/functions_10.js b/docs/reference/api/doxygen/search/functions_10.js
index 0cbbf8976..d0952c878 100644
--- a/docs/reference/api/doxygen/search/functions_10.js
+++ b/docs/reference/api/doxygen/search/functions_10.js
@@ -7,7 +7,7 @@ var searchData=
   ['packetdone',['PacketDone',['../classtvm_1_1runtime_1_1micro__rpc_1_1WriteStream.html#a1745b7d9d5a0e094e129eb7a4c363ac9',1,'tvm::runtime::micro_rpc::WriteStream']]],
   ['packimportstoc',['PackImportsToC',['../namespacetvm_1_1codegen.html#abf02059ebadcdb8bbbe5c840b646d67b',1,'tvm::codegen']]],
   ['packimportstollvm',['PackImportsToLLVM',['../namespacetvm_1_1codegen.html#ab2cd2a65bac4b26427a8ca0abe4e0bd6',1,'tvm::codegen']]],
-  ['pad',['Pad',['../namespacetvm_1_1topi.html#a97c798d0a0ec20a95d351618b83d5121',1,'tvm::topi::Pad(const Array&lt; PrimExpr &gt; shape, int odim)'],['../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=kElement [...]
+  ['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_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']]],
diff --git a/docs/reference/api/doxygen/search/functions_13.js b/docs/reference/api/doxygen/search/functions_13.js
index cbb8bb0c2..1522f84c5 100644
--- a/docs/reference/api/doxygen/search/functions_13.js
+++ b/docs/reference/api/doxygen/search/functions_13.js
@@ -145,7 +145,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#af8a330c3 [...]
+  ['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#af8a330c3 [...]
   ['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']]],
diff --git a/docs/reference/api/doxygen/search/functions_2.js b/docs/reference/api/doxygen/search/functions_2.js
index dac64583d..f8ef88530 100644
--- a/docs/reference/api/doxygen/search/functions_2.js
+++ b/docs/reference/api/doxygen/search/functions_2.js
@@ -33,7 +33,7 @@ var searchData=
   ['broadcast',['Broadcast',['../classtvm_1_1tir_1_1Broadcast.html#a8d75100fc3b889b0719b23bbd8e1aa23',1,'tvm::tir::Broadcast']]],
   ['broadcast_5fto',['broadcast_to',['../namespacetvm_1_1topi.html#a545c1404478aba2e2a44c77438da9fd5',1,'tvm::topi']]],
   ['buffer',['Buffer',['../classtvm_1_1tir_1_1Buffer.html#a96bc724486ee74cf7e1379a257b48ab7',1,'tvm::tir::Buffer']]],
-  ['bufferinfo',['BufferInfo',['../classtvm_1_1tir_1_1usmp_1_1BufferInfo.html#a56c05fe02fbd0b4e14b06ab614d4dd18',1,'tvm::tir::usmp::BufferInfo']]],
+  ['bufferinfo',['BufferInfo',['../classtvm_1_1tir_1_1usmp_1_1BufferInfo.html#a74e46605b35826079bc0c6b07125e918',1,'tvm::tir::usmp::BufferInfo']]],
   ['bufferinfoanalysis',['BufferInfoAnalysis',['../classtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysis.html#a3e3ef785c00a36fef0b1f0872c949d5a',1,'tvm::tir::usmp::BufferInfoAnalysis']]],
   ['bufferload',['BufferLoad',['../classtvm_1_1tir_1_1BufferLoad.html#a5f1d2fe0e7ee0ebd1dbed005aa11f79f',1,'tvm::tir::BufferLoad']]],
   ['buffernode',['BufferNode',['../classtvm_1_1tir_1_1BufferNode.html#a1abac917e1de0b3c43774ee94477016b',1,'tvm::tir::BufferNode']]],
diff --git a/docs/reference/api/doxygen/search/functions_3.js b/docs/reference/api/doxygen/search/functions_3.js
index bec3d5cc7..27bc8e7c8 100644
--- a/docs/reference/api/doxygen/search/functions_3.js
+++ b/docs/reference/api/doxygen/search/functions_3.js
@@ -126,6 +126,7 @@ var searchData=
   ['create',['Create',['../classtvm_1_1transform_1_1PassContext.html#aabfad8965c2f4e7b6e4b0812652ddfd2',1,'tvm::transform::PassContext::Create()'],['../classtvm_1_1relay_1_1Executor.html#a40d1e25dda59f1d3bb24317c8cf9aac9',1,'tvm::relay::Executor::Create()'],['../classtvm_1_1relay_1_1Runtime.html#a7f9d3ecff6d137acf0537a495a6e25a9',1,'tvm::relay::Runtime::Create()']]],
   ['create_5fgroup',['create_group',['../classtvm_1_1te_1_1Schedule.html#a638e7b946df3b5d2e2cde3acc0201da0',1,'tvm::te::Schedule']]],
   ['create_5fschedule',['create_schedule',['../namespacetvm_1_1te.html#a485034766309df280239e0994913b34b',1,'tvm::te']]],
+  ['createallocatesforio',['CreateAllocatesForIO',['../namespacetvm_1_1tir_1_1usmp_1_1transform.html#ad1751f300f05f2448d280b98c48b65a1',1,'tvm::tir::usmp::transform']]],
   ['createarraybufferinfo',['CreateArrayBufferInfo',['../namespacetvm_1_1tir_1_1usmp.html#a99eb04efa8e77b6759ccfb3ae7c4b5c8',1,'tvm::tir::usmp']]],
   ['createfromrange',['CreateFromRange',['../classtvm_1_1runtime_1_1MapNode.html#a6b54c7503c17ee3bb7eadcd1ac0ed009',1,'tvm::runtime::MapNode']]],
   ['createfunctionpass',['CreateFunctionPass',['../namespacetvm_1_1relay_1_1transform.html#a2101aa797e69d398012ef94b63db51da',1,'tvm::relay::transform']]],
diff --git a/docs/reference/api/doxygen/search/functions_7.js b/docs/reference/api/doxygen/search/functions_7.js
index dcef44efa..1c24f793b 100644
--- a/docs/reference/api/doxygen/search/functions_7.js
+++ b/docs/reference/api/doxygen/search/functions_7.js
@@ -56,6 +56,7 @@ var searchData=
   ['getglobalvar',['GetGlobalVar',['../classtvm_1_1IRModuleNode.html#a18354400214e8695aac9625e587c5fad',1,'tvm::IRModuleNode']]],
   ['getglobalvars',['GetGlobalVars',['../classtvm_1_1IRModuleNode.html#a16ed1c2bfd82c1042d429fde05201cc4',1,'tvm::IRModuleNode']]],
   ['gethost',['GetHost',['../classtvm_1_1TargetNode.html#a94129658128c764ddd0e2255a490be05',1,'tvm::TargetNode']]],
+  ['getiopoolallocations',['GetIOPoolAllocations',['../namespacetvm_1_1tir_1_1usmp.html#af09b2e5d53a727e24e1322834b71b67f',1,'tvm::tir::usmp']]],
   ['getkeys',['GetKeys',['../classtvm_1_1TargetNode.html#abd05b2c258974b13af1192c911ccb12b',1,'tvm::TargetNode']]],
   ['getlib',['GetLib',['../classtvm_1_1runtime_1_1vm_1_1Executable.html#aabfeb049c4a50df7b204b34f56b31567',1,'tvm::runtime::vm::Executable']]],
   ['getlibs',['GetLibs',['../classtvm_1_1TargetNode.html#a1bd600905c1a4469726184adbc9087b0',1,'tvm::TargetNode']]],
diff --git a/docs/reference/api/doxygen/search/variables_a.js b/docs/reference/api/doxygen/search/variables_a.js
index e64c8bba3..07164e24b 100644
--- a/docs/reference/api/doxygen/search/variables_a.js
+++ b/docs/reference/api/doxygen/search/variables_a.js
@@ -34,7 +34,7 @@ var searchData=
   ['keys',['keys',['../classtvm_1_1TargetNode.html#aec9e821b23172eb9460f46df0dc346fb',1,'tvm::TargetNode']]],
   ['kglobalsymbol',['kGlobalSymbol',['../namespacetvm_1_1attr.html#a7737d03caeeaeac61531ace9a91f7d74',1,'tvm::attr']]],
   ['kgroupconv2d',['kGroupConv2d',['../namespacetvm_1_1topi.html#a8352661bace9139ad3a0d0ab8a01caf5',1,'tvm::topi']]],
-  ['kind',['kind',['../classtvm_1_1TypeVarNode.html#afc08e151afef3c4644ba8d2cd796106a',1,'tvm::TypeVarNode::kind()'],['../classtvm_1_1GlobalTypeVarNode.html#a335e232894a68cc1e0ecb766bf4053c7',1,'tvm::GlobalTypeVarNode::kind()'],['../classtvm_1_1IncompleteTypeNode.html#ab5f37175c1fd0dbbbedc2edaa23d33dc',1,'tvm::IncompleteTypeNode::kind()'],['../classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode.html#a695a21a69be1e72b330abe32c685552e',1,'tvm::runtime::metadata::MetadataArrayNode::kind()' [...]
+  ['kind',['kind',['../classtvm_1_1TypeVarNode.html#afc08e151afef3c4644ba8d2cd796106a',1,'tvm::TypeVarNode::kind()'],['../classtvm_1_1GlobalTypeVarNode.html#a335e232894a68cc1e0ecb766bf4053c7',1,'tvm::GlobalTypeVarNode::kind()'],['../classtvm_1_1IncompleteTypeNode.html#ab5f37175c1fd0dbbbedc2edaa23d33dc',1,'tvm::IncompleteTypeNode::kind()'],['../classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode.html#a695a21a69be1e72b330abe32c685552e',1,'tvm::runtime::metadata::MetadataArrayNode::kind()' [...]
   ['kinjective',['kInjective',['../namespacetvm_1_1topi.html#a29e22aa45900dad3b6f9f705bb1dc688',1,'tvm::topi']]],
   ['kinline',['kInline',['../namespacetvm_1_1relay_1_1attr.html#ad294262b6b1ca1b7bf3924a139f17562',1,'tvm::relay::attr']]],
   ['kinvaliddevicetype',['kInvalidDeviceType',['../namespacetvm.html#ab3c85920678b8ba5d925d386b66c0261',1,'tvm']]],
@@ -63,6 +63,7 @@ var searchData=
   ['ktvmndarraymagic',['kTVMNDArrayMagic',['../namespacetvm_1_1runtime.html#acf4599f17bfe79ae1fe8afc1af053b43',1,'tvm::runtime']]],
   ['kusmpalgorithmoption',['kUSMPAlgorithmOption',['../namespacetvm.html#ad4b5803c3423c0b15a3df281dd636212',1,'tvm']]],
   ['kusmpenableoption',['kUSMPEnableOption',['../namespacetvm.html#adb1d2ec4c6dde078fb6849479be21759',1,'tvm']]],
+  ['kusmpuseworkspaceio',['kUSMPUseWorkspaceIO',['../namespacetvm.html#a42ee9d0672e323515afbef908e8fe458',1,'tvm']]],
   ['kversion',['kVersion',['../classtvm_1_1runtime_1_1micro__rpc_1_1Session.html#aba29fe6e0aa5946f495a1f7b8482a0e9',1,'tvm::runtime::micro_rpc::Session']]],
   ['kvirtualdevice',['kVirtualDevice',['../namespacetvm.html#a067221db210e0f758d352a6f1ba7d06b',1,'tvm']]],
   ['kworkspacememorypools',['kWorkspaceMemoryPools',['../namespacetvm_1_1attr.html#a32466fc61e01e9fccbf0c50a6d307930',1,'tvm::attr']]]
diff --git a/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode-members.html b/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode-members.html
index 73c9cd184..82e18445a 100644
--- a/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode-members.html
+++ b/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode-members.html
@@ -88,28 +88,29 @@ $(function() {
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a5693cbadcc1168b96db7b1cc5c200b86">GetTypeKeyHash</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ac9e5eed7719e322117bde996a171e33a">IncRef</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a90e90b3f4ba8a590baff78c75807bbc7">IsInstance</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#aa689b9925de4d61fe1cd447169e487c6">name_hint</a></td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a133436a9ec5c4a768b94102bf95a660b">Object</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ab7968feb6ad38ecaffc320e13819d826">Object</a>(const Object &amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#aa1612f69ea5b4225d4cda759cd517323">Object</a>(Object &amp;&amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a69c32fbd96181f5c21d2c878ab285e4f">operator=</a>(const Object &amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ae341e561272ff43cdcbc927bc29ac50d">operator=</a>(Object &amp;&amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a6cd3d345ae413278011f54d481f2b346">pool_candidates</a></td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a0d492efee331e2239a093f4b2017c10f">ref_counter_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a55549a6c23987890246248682560a03d">RefCounterType</a> typedef</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ad94d79729ac85aa7c976e23d39066383">RuntimeTypeIndex</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#ad4854d17ddc7cca29d1554b1288ba92b">SEqualReduce</a>(const BufferInfoNode *other, SEqualReducer equal) const</td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a71406cb97aa80ff7e870bd4afaf24c84">SetConflicts</a>(Array&lt; ObjectRef &gt; conflicting_buffer_info_objs)</td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#ae40b59b07953bbabbe5ae034ace2cecc">SHashReduce</a>(SHashReducer hash_reduce) const</td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a0a5d4bd6072c268df05b90d267b4c0a0">size_bytes</a></td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a0e5a25884c2c8eb7b4b2fd671900c06e">TVM_DECLARE_FINAL_OBJECT_INFO</a>(BufferInfoNode, Object)</td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a481f01923b14e1851ebd38506e9c66ea">type_index</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a4bfc2586cb55f2af47728187b3256255">type_index_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a817ba6c23b7ee1821c48a75edf255a30">TypeIndex2Key</a>(uint32_t tindex)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a6ee32a02dd44257da105fbbe5d9c8622">TypeIndex2KeyHash</a>(uint32_t tindex)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a6841f97e06e6614dd7e82c6dd41b818a">TypeKey2Index</a>(const std::string &amp;key)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#afd548730a6139d19fe24473ad66026d7">unique</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a9e971c887ace0d525a07bab9dc60b58e">VisitAttrs</a>(tvm::AttrVisitor *v)</td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a49f502f888fb6a2816e455f548c5f050">kind</a></td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#aa689b9925de4d61fe1cd447169e487c6">name_hint</a></td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a133436a9ec5c4a768b94102bf95a660b">Object</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ab7968feb6ad38ecaffc320e13819d826">Object</a>(const Object &amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#aa1612f69ea5b4225d4cda759cd517323">Object</a>(Object &amp;&amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a69c32fbd96181f5c21d2c878ab285e4f">operator=</a>(const Object &amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ae341e561272ff43cdcbc927bc29ac50d">operator=</a>(Object &amp;&amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a6cd3d345ae413278011f54d481f2b346">pool_candidates</a></td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a0d492efee331e2239a093f4b2017c10f">ref_counter_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a55549a6c23987890246248682560a03d">RefCounterType</a> typedef</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ad94d79729ac85aa7c976e23d39066383">RuntimeTypeIndex</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#ad4854d17ddc7cca29d1554b1288ba92b">SEqualReduce</a>(const BufferInfoNode *other, SEqualReducer equal) const</td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a71406cb97aa80ff7e870bd4afaf24c84">SetConflicts</a>(Array&lt; ObjectRef &gt; conflicting_buffer_info_objs)</td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#ae40b59b07953bbabbe5ae034ace2cecc">SHashReduce</a>(SHashReducer hash_reduce) const</td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a0a5d4bd6072c268df05b90d267b4c0a0">size_bytes</a></td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a0e5a25884c2c8eb7b4b2fd671900c06e">TVM_DECLARE_FINAL_OBJECT_INFO</a>(BufferInfoNode, Object)</td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a481f01923b14e1851ebd38506e9c66ea">type_index</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a4bfc2586cb55f2af47728187b3256255">type_index_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a817ba6c23b7ee1821c48a75edf255a30">TypeIndex2Key</a>(uint32_t tindex)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a6ee32a02dd44257da105fbbe5d9c8622">TypeIndex2KeyHash</a>(uint32_t tindex)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a6841f97e06e6614dd7e82c6dd41b818a">TypeKey2Index</a>(const std::string &amp;key)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#afd548730a6139d19fe24473ad66026d7">unique</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a9e971c887ace0d525a07bab9dc60b58e">VisitAttrs</a>(tvm::AttrVisitor *v)</td><td class="entry"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">tvm::tir::usmp::BufferInfoNode</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/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html b/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html
index 8b9f1eafa..fe89eb4f9 100644
--- a/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html
+++ b/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html
@@ -79,13 +79,13 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::tir::usmp::BufferInfoNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode__inherit__graph.svg" width="290" height="800"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode__inherit__graph.svg" width="290" height="815"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <div class="dynheader">
 Collaboration diagram for tvm::tir::usmp::BufferInfoNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode__coll__graph.svg" width="871" height="2599"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode__coll__graph.svg" width="870" height="2614"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <table class="memberdecls">
@@ -142,6 +142,9 @@ Public Attributes</h2></td></tr>
 <tr class="memitem:a6fee33f30028a2358ccd7a62f1ba4cb3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a6fee33f30028a2358ccd7a62f1ba4cb3">conflicts</a></td></tr>
 <tr class="memdesc:a6fee33f30028a2358ccd7a62f1ba4cb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The liveness conflicting other buffer info objects.  <a href="#a6fee33f30028a2358ccd7a62f1ba4cb3">More...</a><br /></td></tr>
 <tr class="separator:a6fee33f30028a2358ccd7a62f1ba4cb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49f502f888fb6a2816e455f548c5f050"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95">BufferInfoKind</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a49f502f888fb6a2816e455f548c5f050">kind</a></td></tr>
+<tr class="memdesc:a49f502f888fb6a2816e455f548c5f050"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether <a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">BufferInfo</a> object retains info about IO tensors or intermediaries.  <a href="#a49f502f888fb6a2816e455f548c5f050">More...</a><br /></td></tr>
+<tr class="separator:a49f502f888fb6a2816e455f548c5f050"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
 Static Public Attributes</h2></td></tr>
@@ -408,6 +411,22 @@ Additional Inherited Members</h2></td></tr>
 
 <p>The liveness conflicting other buffer info objects. </p>
 
+</div>
+</div>
+<a id="a49f502f888fb6a2816e455f548c5f050"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a49f502f888fb6a2816e455f548c5f050">&#9670;&nbsp;</a></span>kind</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95">BufferInfoKind</a> tvm::tir::usmp::BufferInfoNode::kind</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Whether <a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">BufferInfo</a> object retains info about IO tensors or intermediaries. </p>
+
 </div>
 </div>
 <a id="aa689b9925de4d61fe1cd447169e487c6"></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 4d3118332..2f53ae382 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
@@ -4,17 +4,18 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: tvm::tir::usmp::BufferInfoNode Pages: 1 -->
-<svg width="653pt" height="1949pt"
- viewBox="0.00 0.00 652.50 1949.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1945)">
+<svg width="652pt" height="1960pt"
+ viewBox="0.00 0.00 651.50 1960.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1956)">
 <title>tvm::tir::usmp::BufferInfoNode</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1945 648.5,-1945 648.5,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1956 647.5,-1956 647.5,4 -4,4"/>
 <!-- Node2 -->
 <g id="node1" class="node">
 <title>Node2</title>
-<polygon fill="#bfbfbf" stroke="#000000" points="257,-.5 257,-101.5 466,-101.5 466,-.5 257,-.5"/>
-<text text-anchor="middle" x="361.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::BufferInfoNode</text>
-<polyline fill="none" stroke="#000000" points="257,-82.5 466,-82.5 "/>
+<polygon fill="#bfbfbf" stroke="#000000" points="257,-.5 257,-112.5 466,-112.5 466,-.5 257,-.5"/>
+<text text-anchor="middle" x="361.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::BufferInfoNode</text>
+<polyline fill="none" stroke="#000000" points="257,-93.5 466,-93.5 "/>
+<text text-anchor="start" x="265" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ kind</text>
 <text text-anchor="start" x="265" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
 <polyline fill="none" stroke="#000000" points="257,-63.5 466,-63.5 "/>
 <text text-anchor="start" x="265" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
@@ -27,68 +28,69 @@
 <g id="node2" class="node">
 <title>Node3</title>
 <g id="a_node2"><a xlink:href="classtvm_1_1runtime_1_1Object.html" target="_top" xlink:title="base class of all object containers. ">
-<polygon fill="#ffffff" stroke="#000000" points="0,-160.5 0,-547.5 183,-547.5 183,-160.5 0,-160.5"/>
-<text text-anchor="middle" x="91.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
-<polyline fill="none" stroke="#000000" points="0,-528.5 183,-528.5 "/>
-<text text-anchor="start" x="8" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<text text-anchor="start" x="8" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_final</text>
-<text text-anchor="start" x="8" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots</text>
-<text text-anchor="start" x="8" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots_can</text>
-<text text-anchor="start" x="8" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_overflow</text>
-<text text-anchor="start" x="8" y="-461.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_visit</text>
-<text text-anchor="start" x="8" y="-450.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attrs</text>
-<text text-anchor="start" x="8" y="-439.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="8" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
-<text text-anchor="start" x="8" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_shash</text>
-<text text-anchor="start" x="8" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
-<text text-anchor="start" x="8" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_index</text>
-<text text-anchor="start" x="8" y="-384.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># type_index_</text>
-<text text-anchor="start" x="8" y="-373.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># ref_counter_</text>
-<polyline fill="none" stroke="#000000" points="0,-366.5 183,-366.5 "/>
-<text text-anchor="start" x="8" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ type_index()</text>
-<text text-anchor="start" x="8" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKey()</text>
-<text text-anchor="start" x="8" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKeyHash()</text>
-<text text-anchor="start" x="8" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsInstance()</text>
-<text text-anchor="start" x="8" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<polygon fill="#ffffff" stroke="#000000" points="0,-171.5 0,-558.5 183,-558.5 183,-171.5 0,-171.5"/>
+<text text-anchor="middle" x="91.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
+<polyline fill="none" stroke="#000000" points="0,-539.5 183,-539.5 "/>
+<text text-anchor="start" x="8" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<text text-anchor="start" x="8" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_final</text>
+<text text-anchor="start" x="8" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots</text>
+<text text-anchor="start" x="8" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots_can</text>
+<text text-anchor="start" x="8" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_overflow</text>
+<text text-anchor="start" x="8" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_visit</text>
+<text text-anchor="start" x="8" y="-461.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attrs</text>
+<text text-anchor="start" x="8" y="-450.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="8" y="-439.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
+<text text-anchor="start" x="8" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_shash</text>
+<text text-anchor="start" x="8" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
+<text text-anchor="start" x="8" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_index</text>
+<text text-anchor="start" x="8" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># type_index_</text>
+<text text-anchor="start" x="8" y="-384.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># ref_counter_</text>
+<polyline fill="none" stroke="#000000" points="0,-377.5 183,-377.5 "/>
+<text text-anchor="start" x="8" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ type_index()</text>
+<text text-anchor="start" x="8" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKey()</text>
+<text text-anchor="start" x="8" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKeyHash()</text>
+<text text-anchor="start" x="8" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsInstance()</text>
+<text text-anchor="start" x="8" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<text text-anchor="start" x="8" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
 <text text-anchor="start" x="8" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
 <text text-anchor="start" x="8" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
-<text text-anchor="start" x="8" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
+<text text-anchor="start" x="8" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
 <text text-anchor="start" x="8" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="8" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="8" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2Key()</text>
-<text text-anchor="start" x="8" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2KeyHash()</text>
-<text text-anchor="start" x="8" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeKey2Index()</text>
-<text text-anchor="start" x="8" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _GetOrAllocRuntimeTypeIndex()</text>
-<text text-anchor="start" x="8" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ RuntimeTypeIndex()</text>
-<text text-anchor="start" x="8" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># IncRef()</text>
-<text text-anchor="start" x="8" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
-<text text-anchor="start" x="8" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
+<text text-anchor="start" x="8" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2Key()</text>
+<text text-anchor="start" x="8" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2KeyHash()</text>
+<text text-anchor="start" x="8" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeKey2Index()</text>
+<text text-anchor="start" x="8" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _GetOrAllocRuntimeTypeIndex()</text>
+<text text-anchor="start" x="8" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ RuntimeTypeIndex()</text>
+<text text-anchor="start" x="8" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># IncRef()</text>
+<text text-anchor="start" x="8" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
+<text text-anchor="start" x="8" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node2 -->
 <g id="edge1" class="edge">
 <title>Node3&#45;&gt;Node2</title>
-<path fill="none" stroke="#191970" d="M189.4587,-209.8585C213.3759,-178.7831 240.0371,-147.1446 267.5,-120 273.8351,-113.7383 280.7694,-107.5908 287.9097,-101.7031"/>
-<polygon fill="none" stroke="#191970" points="186.3985,-208.0993 183.114,-218.1722 191.9631,-212.3461 186.3985,-208.0993"/>
+<path fill="none" stroke="#191970" d="M189.2548,-222.8513C213.3817,-191.342 240.1835,-159.017 267.5,-131 273.6055,-124.738 280.2377,-118.5254 287.0596,-112.5146"/>
+<polygon fill="none" stroke="#191970" points="186.4461,-220.7626 183.1798,-230.8414 192.0184,-224.9993 186.4461,-220.7626"/>
 </g>
 <!-- Node3&#45;&gt;Node3 -->
 <g id="edge2" class="edge">
 <title>Node3&#45;&gt;Node3</title>
-<path fill="none" stroke="#404040" d="M183.3625,-389.525C194.0482,-382.9686 201,-371.127 201,-354 201,-342.4928 197.8618,-333.3715 192.5615,-326.6361"/>
-<polygon fill="none" stroke="#404040" points="192.3391,-326.4387 185.1962,-325.449 183.3625,-318.475 190.5054,-319.4647 192.3391,-326.4387"/>
-<text text-anchor="middle" x="227" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #deleter_</text>
+<path fill="none" stroke="#404040" d="M183.3625,-400.525C194.0482,-393.9686 201,-382.127 201,-365 201,-353.4928 197.8618,-344.3715 192.5615,-337.6361"/>
+<polygon fill="none" stroke="#404040" points="192.3391,-337.4387 185.1962,-336.449 183.3625,-329.475 190.5054,-330.4647 192.3391,-337.4387"/>
+<text text-anchor="middle" x="227" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #deleter_</text>
 </g>
 <!-- Node4 -->
 <g id="node3" class="node">
 <title>Node4</title>
 <g id="a_node3"><a xlink:href="classtvm_1_1runtime_1_1Array.html" target="_top" xlink:title="{tvm::runtime::Array\l\&lt; tvm::runtime::ObjectRef \&gt;\n||+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ operator=()\l+ operator=()\land 24 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="191.5,-1189.5 191.5,-1367.5 347.5,-1367.5 347.5,-1189.5 191.5,-1189.5"/>
-<text text-anchor="start" x="199.5" y="-1355.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
-<text text-anchor="middle" x="269.5" y="-1344.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::runtime::ObjectRef &gt;</text>
-<polyline fill="none" stroke="#000000" points="191.5,-1337.5 347.5,-1337.5 "/>
-<text text-anchor="middle" x="269.5" y="-1325.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="191.5,-1318.5 347.5,-1318.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="191.5,-1200.5 191.5,-1378.5 347.5,-1378.5 347.5,-1200.5 191.5,-1200.5"/>
+<text text-anchor="start" x="199.5" y="-1366.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
+<text text-anchor="middle" x="269.5" y="-1355.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::runtime::ObjectRef &gt;</text>
+<polyline fill="none" stroke="#000000" points="191.5,-1348.5 347.5,-1348.5 "/>
+<text text-anchor="middle" x="269.5" y="-1336.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="191.5,-1329.5 347.5,-1329.5 "/>
+<text text-anchor="start" x="199.5" y="-1317.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="199.5" y="-1306.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="199.5" y="-1295.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="199.5" y="-1284.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
@@ -96,64 +98,64 @@
 <text text-anchor="start" x="199.5" y="-1262.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="199.5" y="-1251.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="199.5" y="-1240.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="199.5" y="-1229.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="199.5" y="-1229.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
 <text text-anchor="start" x="199.5" y="-1218.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="199.5" y="-1207.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="199.5" y="-1196.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 24 more...</text>
+<text text-anchor="start" x="199.5" y="-1207.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 24 more...</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node2 -->
 <g id="edge3" class="edge">
 <title>Node4&#45;&gt;Node2</title>
-<path fill="none" stroke="#404040" d="M274.6761,-1189.3765C277.9239,-1125.8685 281.5,-1038.4661 281.5,-961.5 281.5,-961.5 281.5,-961.5 281.5,-354 281.5,-268.2586 311.8169,-173.2563 335.1247,-112.8879"/>
-<polygon fill="none" stroke="#404040" points="335.1478,-112.8289 333.6176,-105.782 339.5338,-101.6592 341.0641,-108.7061 335.1478,-112.8289"/>
-<text text-anchor="middle" x="307.5" y="-811.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +conflicts</text>
+<path fill="none" stroke="#404040" d="M274.6761,-1200.3765C277.9239,-1136.8685 281.5,-1049.4661 281.5,-972.5 281.5,-972.5 281.5,-972.5 281.5,-365 281.5,-279.882 310.3884,-185.6614 333.4459,-124.0146"/>
+<polygon fill="none" stroke="#404040" points="333.5549,-123.7281 331.9499,-116.6979 337.8221,-112.5124 339.427,-119.5427 333.5549,-123.7281"/>
+<text text-anchor="middle" x="307.5" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +conflicts</text>
 </g>
 <!-- Node5 -->
 <g id="node4" class="node">
 <title>Node5</title>
 <g id="a_node4"><a xlink:href="classtvm_1_1runtime_1_1ObjectRef.html" target="_top" xlink:title="Base class of all object reference. ">
-<polygon fill="#ffffff" stroke="#000000" points="327.5,-1492.5 327.5,-1714.5 461.5,-1714.5 461.5,-1492.5 327.5,-1492.5"/>
-<text text-anchor="middle" x="394.5" y="-1702.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectRef</text>
-<polyline fill="none" stroke="#000000" points="327.5,-1695.5 461.5,-1695.5 "/>
-<text text-anchor="start" x="335.5" y="-1683.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_is_nullable</text>
-<polyline fill="none" stroke="#000000" points="327.5,-1676.5 461.5,-1676.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="327.5,-1503.5 327.5,-1725.5 461.5,-1725.5 461.5,-1503.5 327.5,-1503.5"/>
+<text text-anchor="middle" x="394.5" y="-1713.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectRef</text>
+<polyline fill="none" stroke="#000000" points="327.5,-1706.5 461.5,-1706.5 "/>
+<text text-anchor="start" x="335.5" y="-1694.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_is_nullable</text>
+<polyline fill="none" stroke="#000000" points="327.5,-1687.5 461.5,-1687.5 "/>
+<text text-anchor="start" x="335.5" y="-1675.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
 <text text-anchor="start" x="335.5" y="-1664.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
-<text text-anchor="start" x="335.5" y="-1653.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
-<text text-anchor="start" x="335.5" y="-1642.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ same_as()</text>
-<text text-anchor="start" x="335.5" y="-1631.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
-<text text-anchor="start" x="335.5" y="-1620.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
-<text text-anchor="start" x="335.5" y="-1609.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&lt;()</text>
-<text text-anchor="start" x="335.5" y="-1598.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ defined()</text>
-<text text-anchor="start" x="335.5" y="-1587.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
-<text text-anchor="start" x="335.5" y="-1576.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="335.5" y="-1565.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
-<text text-anchor="start" x="335.5" y="-1554.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ use_count()</text>
-<text text-anchor="start" x="335.5" y="-1543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ as()</text>
-<text text-anchor="start" x="335.5" y="-1532.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># get_mutable()</text>
-<text text-anchor="start" x="335.5" y="-1521.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DowncastNoCheck()</text>
-<text text-anchor="start" x="335.5" y="-1510.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIClearAfterMove()</text>
-<text text-anchor="start" x="335.5" y="-1499.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetDataPtr()</text>
+<text text-anchor="start" x="335.5" y="-1653.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ same_as()</text>
+<text text-anchor="start" x="335.5" y="-1642.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
+<text text-anchor="start" x="335.5" y="-1631.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
+<text text-anchor="start" x="335.5" y="-1620.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&lt;()</text>
+<text text-anchor="start" x="335.5" y="-1609.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ defined()</text>
+<text text-anchor="start" x="335.5" y="-1598.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
+<text text-anchor="start" x="335.5" y="-1587.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="335.5" y="-1576.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<text text-anchor="start" x="335.5" y="-1565.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ use_count()</text>
+<text text-anchor="start" x="335.5" y="-1554.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ as()</text>
+<text text-anchor="start" x="335.5" y="-1543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># get_mutable()</text>
+<text text-anchor="start" x="335.5" y="-1532.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DowncastNoCheck()</text>
+<text text-anchor="start" x="335.5" y="-1521.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIClearAfterMove()</text>
+<text text-anchor="start" x="335.5" y="-1510.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetDataPtr()</text>
 </a>
 </g>
 </g>
 <!-- Node5&#45;&gt;Node4 -->
 <g id="edge4" class="edge">
 <title>Node5&#45;&gt;Node4</title>
-<path fill="none" stroke="#191970" d="M347.965,-1482.5091C333.3289,-1444.4552 317.4409,-1403.1463 303.8141,-1367.7165"/>
-<polygon fill="none" stroke="#191970" points="344.8004,-1484.0311 351.657,-1492.1081 351.3338,-1481.5182 344.8004,-1484.0311"/>
+<path fill="none" stroke="#191970" d="M347.965,-1493.5091C333.3289,-1455.4552 317.4409,-1414.1463 303.8141,-1378.7165"/>
+<polygon fill="none" stroke="#191970" points="344.8004,-1495.0311 351.657,-1503.1081 351.3338,-1492.5182 344.8004,-1495.0311"/>
 </g>
 <!-- Node7 -->
 <g id="node6" class="node">
 <title>Node7</title>
 <g id="a_node6"><a xlink:href="classtvm_1_1runtime_1_1Array.html" target="_top" xlink:title="{tvm::runtime::Array\l\&lt; tvm::PoolInfo \&gt;\n||+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ operator=()\l+ operator=()\land 24 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="305,-872.5 305,-1050.5 418,-1050.5 418,-872.5 305,-872.5"/>
-<text text-anchor="start" x="313" y="-1038.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
-<text text-anchor="middle" x="361.5" y="-1027.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::PoolInfo &gt;</text>
-<polyline fill="none" stroke="#000000" points="305,-1020.5 418,-1020.5 "/>
-<text text-anchor="middle" x="361.5" y="-1008.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="305,-1001.5 418,-1001.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="305,-883.5 305,-1061.5 418,-1061.5 418,-883.5 305,-883.5"/>
+<text text-anchor="start" x="313" y="-1049.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
+<text text-anchor="middle" x="361.5" y="-1038.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::PoolInfo &gt;</text>
+<polyline fill="none" stroke="#000000" points="305,-1031.5 418,-1031.5 "/>
+<text text-anchor="middle" x="361.5" y="-1019.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="305,-1012.5 418,-1012.5 "/>
+<text text-anchor="start" x="313" y="-1000.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="313" y="-989.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="313" y="-978.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="313" y="-967.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
@@ -161,195 +163,194 @@
 <text text-anchor="start" x="313" y="-945.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="313" y="-934.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="313" y="-923.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="313" y="-912.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="313" y="-912.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
 <text text-anchor="start" x="313" y="-901.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="313" y="-890.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="313" y="-879.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 24 more...</text>
+<text text-anchor="start" x="313" y="-890.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 24 more...</text>
 </a>
 </g>
 </g>
 <!-- Node5&#45;&gt;Node7 -->
 <g id="edge7" class="edge">
 <title>Node5&#45;&gt;Node7</title>
-<path fill="none" stroke="#191970" d="M383.4264,-1482.3883C382.7235,-1473.1244 382.0705,-1463.9144 381.5,-1455 372.4637,-1313.8056 366.7673,-1149.6096 363.8594,-1050.7175"/>
-<polygon fill="none" stroke="#191970" points="379.9439,-1482.7511 384.2071,-1492.4504 386.9229,-1482.2096 379.9439,-1482.7511"/>
+<path fill="none" stroke="#191970" d="M383.4264,-1493.3883C382.7235,-1484.1244 382.0705,-1474.9144 381.5,-1466 372.4637,-1324.8056 366.7673,-1160.6096 363.8594,-1061.7175"/>
+<polygon fill="none" stroke="#191970" points="379.9439,-1493.7511 384.2071,-1503.4504 386.9229,-1493.2096 379.9439,-1493.7511"/>
 </g>
 <!-- Node11 -->
 <g id="node10" class="node">
 <title>Node11</title>
 <g id="a_node10"><a xlink:href="classtvm_1_1BaseExpr.html" target="_top" xlink:title="Managed reference to BaseExprNode. ">
-<polygon fill="#ffffff" stroke="#000000" points="390.5,-1386.5 390.5,-1454.5 544.5,-1454.5 544.5,-1386.5 390.5,-1386.5"/>
-<text text-anchor="middle" x="467.5" y="-1442.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseExpr</text>
-<polyline fill="none" stroke="#000000" points="390.5,-1435.5 544.5,-1435.5 "/>
-<text text-anchor="middle" x="467.5" y="-1423.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="390.5,-1416.5 544.5,-1416.5 "/>
-<text text-anchor="start" x="398.5" y="-1404.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="398.5" y="-1393.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
+<polygon fill="#ffffff" stroke="#000000" points="390.5,-1397.5 390.5,-1465.5 544.5,-1465.5 544.5,-1397.5 390.5,-1397.5"/>
+<text text-anchor="middle" x="467.5" y="-1453.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseExpr</text>
+<polyline fill="none" stroke="#000000" points="390.5,-1446.5 544.5,-1446.5 "/>
+<text text-anchor="middle" x="467.5" y="-1434.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="390.5,-1427.5 544.5,-1427.5 "/>
+<text text-anchor="start" x="398.5" y="-1415.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="398.5" y="-1404.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
 </a>
 </g>
 </g>
 <!-- Node5&#45;&gt;Node11 -->
 <g id="edge12" class="edge">
 <title>Node5&#45;&gt;Node11</title>
-<path fill="none" stroke="#191970" d="M442.6318,-1482.8408C446.6829,-1472.6853 450.5205,-1463.065 453.9143,-1454.5572"/>
-<polygon fill="none" stroke="#191970" points="439.3123,-1481.7161 438.858,-1492.3012 445.8141,-1484.3098 439.3123,-1481.7161"/>
+<path fill="none" stroke="#191970" d="M442.6318,-1493.8408C446.6829,-1483.6853 450.5205,-1474.065 453.9143,-1465.5572"/>
+<polygon fill="none" stroke="#191970" points="439.3123,-1492.7161 438.858,-1503.3012 445.8141,-1495.3098 439.3123,-1492.7161"/>
 </g>
 <!-- Node12 -->
 <g id="node11" class="node">
 <title>Node12</title>
 <g id="a_node11"><a xlink:href="classtvm_1_1runtime_1_1String.html" target="_top" xlink:title="Reference to string objects. ">
-<polygon fill="#ffffff" stroke="#000000" points="498.5,-566.5 498.5,-755.5 614.5,-755.5 614.5,-566.5 498.5,-566.5"/>
-<text text-anchor="middle" x="556.5" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::String</text>
-<polyline fill="none" stroke="#000000" points="498.5,-736.5 614.5,-736.5 "/>
-<text text-anchor="middle" x="556.5" y="-724.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="498.5,-717.5 614.5,-717.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="498.5,-577.5 498.5,-766.5 614.5,-766.5 614.5,-577.5 498.5,-577.5"/>
+<text text-anchor="middle" x="556.5" y="-754.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::String</text>
+<polyline fill="none" stroke="#000000" points="498.5,-747.5 614.5,-747.5 "/>
+<text text-anchor="middle" x="556.5" y="-735.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="498.5,-728.5 614.5,-728.5 "/>
+<text text-anchor="start" x="506.5" y="-716.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
 <text text-anchor="start" x="506.5" y="-705.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
 <text text-anchor="start" x="506.5" y="-694.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
 <text text-anchor="start" x="506.5" y="-683.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
-<text text-anchor="start" x="506.5" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
+<text text-anchor="start" x="506.5" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
 <text text-anchor="start" x="506.5" y="-661.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="506.5" y="-650.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="506.5" y="-650.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
 <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">+ compare()</text>
-<text text-anchor="start" x="506.5" y="-606.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="506.5" y="-595.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 7 more...</text>
-<text text-anchor="start" x="506.5" y="-584.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
-<text text-anchor="start" x="506.5" y="-573.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</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="-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>
 </g>
 </g>
 <!-- Node5&#45;&gt;Node12 -->
 <g id="edge14" class="edge">
 <title>Node5&#45;&gt;Node12</title>
-<path fill="none" stroke="#191970" d="M470.1982,-1563.5874C518.6578,-1532.0188 572.5,-1482.9026 572.5,-1420.5 572.5,-1420.5 572.5,-1420.5 572.5,-961.5 572.5,-892.5379 568.2461,-814.7993 564.1251,-755.6698"/>
-<polygon fill="none" stroke="#191970" points="468.1076,-1560.7688 461.5405,-1569.083 471.859,-1566.6788 468.1076,-1560.7688"/>
+<path fill="none" stroke="#191970" d="M470.1982,-1574.5874C518.6578,-1543.0188 572.5,-1493.9026 572.5,-1431.5 572.5,-1431.5 572.5,-1431.5 572.5,-972.5 572.5,-903.5379 568.2461,-825.7993 564.1251,-766.6698"/>
+<polygon fill="none" stroke="#191970" points="468.1076,-1571.7688 461.5405,-1580.083 471.859,-1577.6788 468.1076,-1571.7688"/>
 </g>
 <!-- Node6 -->
 <g id="node5" class="node">
 <title>Node6</title>
 <g id="a_node5"><a xlink:href="classtvm_1_1runtime_1_1ObjectPtr.html" target="_top" xlink:title="{tvm::runtime::ObjectPtr\l\&lt; tvm::runtime::Object \&gt;\n||+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ~ObjectPtr()\l+ swap()\l+ get()\l+ operator&#45;\&gt;()\land 11 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="324.5,-1762.5 324.5,-1940.5 464.5,-1940.5 464.5,-1762.5 324.5,-1762.5"/>
-<text text-anchor="start" x="332.5" y="-1928.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectPtr</text>
-<text text-anchor="middle" x="394.5" y="-1917.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::runtime::Object &gt;</text>
-<polyline fill="none" stroke="#000000" points="324.5,-1910.5 464.5,-1910.5 "/>
-<text text-anchor="middle" x="394.5" y="-1898.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="324.5,-1891.5 464.5,-1891.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="324.5,-1773.5 324.5,-1951.5 464.5,-1951.5 464.5,-1773.5 324.5,-1773.5"/>
+<text text-anchor="start" x="332.5" y="-1939.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectPtr</text>
+<text text-anchor="middle" x="394.5" y="-1928.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::runtime::Object &gt;</text>
+<polyline fill="none" stroke="#000000" points="324.5,-1921.5 464.5,-1921.5 "/>
+<text text-anchor="middle" x="394.5" y="-1909.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="324.5,-1902.5 464.5,-1902.5 "/>
+<text text-anchor="start" x="332.5" y="-1890.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
 <text text-anchor="start" x="332.5" y="-1879.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
 <text text-anchor="start" x="332.5" y="-1868.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
 <text text-anchor="start" x="332.5" y="-1857.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
 <text text-anchor="start" x="332.5" y="-1846.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
 <text text-anchor="start" x="332.5" y="-1835.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="332.5" y="-1824.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="332.5" y="-1813.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~ObjectPtr()</text>
-<text text-anchor="start" x="332.5" y="-1802.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ swap()</text>
-<text text-anchor="start" x="332.5" y="-1791.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
-<text text-anchor="start" x="332.5" y="-1780.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="332.5" y="-1769.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 11 more...</text>
+<text text-anchor="start" x="332.5" y="-1824.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~ObjectPtr()</text>
+<text text-anchor="start" x="332.5" y="-1813.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ swap()</text>
+<text text-anchor="start" x="332.5" y="-1802.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
+<text text-anchor="start" x="332.5" y="-1791.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="332.5" y="-1780.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 11 more...</text>
 </a>
 </g>
 </g>
 <!-- Node6&#45;&gt;Node5 -->
 <g id="edge5" class="edge">
 <title>Node6&#45;&gt;Node5</title>
-<path fill="none" stroke="#404040" d="M394.5,-1762.3167C394.5,-1750.8765 394.5,-1739.0062 394.5,-1727.1402"/>
-<polygon fill="none" stroke="#404040" points="394.5001,-1726.7944 390.5,-1720.7944 394.5,-1714.7944 398.5,-1720.7943 394.5001,-1726.7944"/>
-<text text-anchor="middle" x="414" y="-1736" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #data_</text>
+<path fill="none" stroke="#404040" d="M394.5,-1773.3167C394.5,-1761.8765 394.5,-1750.0062 394.5,-1738.1402"/>
+<polygon fill="none" stroke="#404040" points="394.5001,-1737.7944 390.5,-1731.7944 394.5,-1725.7944 398.5,-1731.7943 394.5001,-1737.7944"/>
+<text text-anchor="middle" x="414" y="-1747" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #data_</text>
 </g>
 <!-- Node7&#45;&gt;Node2 -->
 <g id="edge6" class="edge">
 <title>Node7&#45;&gt;Node2</title>
-<path fill="none" stroke="#404040" d="M361.5,-872.1232C361.5,-688.4642 361.5,-272.587 361.5,-114.026"/>
-<polygon fill="none" stroke="#404040" points="361.5001,-113.7197 357.5,-107.7198 361.5,-101.7197 365.5,-107.7197 361.5001,-113.7197"/>
-<text text-anchor="middle" x="407" y="-658.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +pool_candidates</text>
+<path fill="none" stroke="#404040" d="M361.5,-883.4204C361.5,-700.9241 361.5,-288.0274 361.5,-124.7744"/>
+<polygon fill="none" stroke="#404040" points="361.5001,-124.5319 357.5,-118.5319 361.5,-112.5319 365.5,-118.5319 361.5001,-124.5319"/>
+<text text-anchor="middle" x="407" y="-669.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +pool_candidates</text>
 </g>
 <!-- Node8 -->
 <g id="node7" class="node">
 <title>Node8</title>
 <g id="a_node7"><a xlink:href="classtvm_1_1Integer.html" target="_top" xlink:title="Container of constant int that adds more constructors. ">
-<polygon fill="#ffffff" stroke="#000000" points="398,-270.5 398,-437.5 511,-437.5 511,-270.5 398,-270.5"/>
-<text text-anchor="middle" x="454.5" y="-425.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::Integer</text>
-<polyline fill="none" stroke="#000000" points="398,-418.5 511,-418.5 "/>
-<text text-anchor="middle" x="454.5" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="398,-399.5 511,-399.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="398,-281.5 398,-448.5 511,-448.5 511,-281.5 398,-281.5"/>
+<text text-anchor="middle" x="454.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::Integer</text>
+<polyline fill="none" stroke="#000000" points="398,-429.5 511,-429.5 "/>
+<text text-anchor="middle" x="454.5" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="398,-410.5 511,-410.5 "/>
+<text text-anchor="start" x="406" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Integer()</text>
 <text text-anchor="start" x="406" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Integer()</text>
 <text text-anchor="start" x="406" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Integer()</text>
 <text text-anchor="start" x="406" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Integer()</text>
 <text text-anchor="start" x="406" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Integer()</text>
-<text text-anchor="start" x="406" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Integer()</text>
-<text text-anchor="start" x="406" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="406" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator int64_t()</text>
-<text text-anchor="start" x="406" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
-<text text-anchor="start" x="406" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
-<text text-anchor="start" x="406" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
-<text text-anchor="start" x="406" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
+<text text-anchor="start" x="406" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="406" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator int64_t()</text>
+<text text-anchor="start" x="406" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
+<text text-anchor="start" x="406" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
+<text text-anchor="start" x="406" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
+<text text-anchor="start" x="406" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
 </a>
 </g>
 </g>
 <!-- Node8&#45;&gt;Node2 -->
 <g id="edge8" class="edge">
 <title>Node8&#45;&gt;Node2</title>
-<path fill="none" stroke="#404040" d="M428.8412,-270.4018C413.5907,-220.7149 394.5693,-158.742 380.636,-113.3463"/>
-<polygon fill="none" stroke="#404040" points="380.55,-113.0659 374.9655,-108.5037 377.0289,-101.5941 382.6134,-106.1563 380.55,-113.0659"/>
-<text text-anchor="middle" x="419" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +alignment</text>
-<text text-anchor="middle" x="419" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+size_bytes</text>
+<path fill="none" stroke="#404040" d="M429.2102,-281.1085C414.3661,-231.8678 395.852,-170.4526 381.9371,-124.2939"/>
+<polygon fill="none" stroke="#404040" points="381.8768,-124.0939 376.3153,-119.5038 378.4132,-112.6046 383.9748,-117.1947 381.8768,-124.0939"/>
+<text text-anchor="middle" x="419" y="-145" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +alignment</text>
+<text text-anchor="middle" x="419" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+size_bytes</text>
 </g>
 <!-- Node9 -->
 <g id="node8" class="node">
 <title>Node9</title>
 <g id="a_node8"><a xlink:href="classtvm_1_1IntImm.html" target="_top" xlink:title="Managed reference class to IntImmNode. ">
-<polygon fill="#ffffff" stroke="#000000" points="390.5,-774.5 390.5,-853.5 544.5,-853.5 544.5,-774.5 390.5,-774.5"/>
-<text text-anchor="middle" x="467.5" y="-841.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::IntImm</text>
-<polyline fill="none" stroke="#000000" points="390.5,-834.5 544.5,-834.5 "/>
-<text text-anchor="middle" x="467.5" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="390.5,-815.5 544.5,-815.5 "/>
-<text text-anchor="start" x="398.5" y="-803.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IntImm()</text>
-<text text-anchor="start" x="398.5" y="-792.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="398.5" y="-781.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
+<polygon fill="#ffffff" stroke="#000000" points="390.5,-785.5 390.5,-864.5 544.5,-864.5 544.5,-785.5 390.5,-785.5"/>
+<text text-anchor="middle" x="467.5" y="-852.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::IntImm</text>
+<polyline fill="none" stroke="#000000" points="390.5,-845.5 544.5,-845.5 "/>
+<text text-anchor="middle" x="467.5" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="390.5,-826.5 544.5,-826.5 "/>
+<text text-anchor="start" x="398.5" y="-814.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IntImm()</text>
+<text text-anchor="start" x="398.5" y="-803.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="398.5" y="-792.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node8 -->
 <g id="edge9" class="edge">
 <title>Node9&#45;&gt;Node8</title>
-<path fill="none" stroke="#191970" d="M466.0954,-764.2995C463.8826,-685.9997 459.5597,-533.0372 456.8629,-437.6088"/>
-<polygon fill="none" stroke="#191970" points="462.5992,-764.4854 466.3804,-774.3825 469.5964,-764.2876 462.5992,-764.4854"/>
+<path fill="none" stroke="#191970" d="M466.0954,-775.2995C463.8826,-696.9997 459.5597,-544.0372 456.8629,-448.6088"/>
+<polygon fill="none" stroke="#191970" points="462.5992,-775.4854 466.3804,-785.3825 469.5964,-775.2876 462.5992,-775.4854"/>
 </g>
 <!-- Node10 -->
 <g id="node9" class="node">
 <title>Node10</title>
 <g id="a_node9"><a xlink:href="classtvm_1_1PrimExpr.html" target="_top" xlink:title="Reference to PrimExprNode. ">
-<polygon fill="#ffffff" stroke="#000000" points="390.5,-1069.5 390.5,-1170.5 544.5,-1170.5 544.5,-1069.5 390.5,-1069.5"/>
-<text text-anchor="middle" x="467.5" y="-1158.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PrimExpr</text>
-<polyline fill="none" stroke="#000000" points="390.5,-1151.5 544.5,-1151.5 "/>
-<text text-anchor="middle" x="467.5" y="-1139.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="390.5,-1132.5 544.5,-1132.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="390.5,-1080.5 390.5,-1181.5 544.5,-1181.5 544.5,-1080.5 390.5,-1080.5"/>
+<text text-anchor="middle" x="467.5" y="-1169.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PrimExpr</text>
+<polyline fill="none" stroke="#000000" points="390.5,-1162.5 544.5,-1162.5 "/>
+<text text-anchor="middle" x="467.5" y="-1150.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="390.5,-1143.5 544.5,-1143.5 "/>
+<text text-anchor="start" x="398.5" y="-1131.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ PrimExpr()</text>
 <text text-anchor="start" x="398.5" y="-1120.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ PrimExpr()</text>
-<text text-anchor="start" x="398.5" y="-1109.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ PrimExpr()</text>
-<text text-anchor="start" x="398.5" y="-1098.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ dtype()</text>
-<text text-anchor="start" x="398.5" y="-1087.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="398.5" y="-1076.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
+<text text-anchor="start" x="398.5" y="-1109.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ dtype()</text>
+<text text-anchor="start" x="398.5" y="-1098.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="398.5" y="-1087.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node9 -->
 <g id="edge10" class="edge">
 <title>Node10&#45;&gt;Node9</title>
-<path fill="none" stroke="#191970" d="M467.5,-1059.2154C467.5,-998.2455 467.5,-906.1129 467.5,-853.8668"/>
-<polygon fill="none" stroke="#191970" points="464.0001,-1059.4703 467.5,-1069.4703 471.0001,-1059.4704 464.0001,-1059.4703"/>
+<path fill="none" stroke="#191970" d="M467.5,-1070.2154C467.5,-1009.2455 467.5,-917.1129 467.5,-864.8668"/>
+<polygon fill="none" stroke="#191970" points="464.0001,-1070.4703 467.5,-1080.4703 471.0001,-1070.4704 464.0001,-1070.4703"/>
 </g>
 <!-- Node11&#45;&gt;Node10 -->
 <g id="edge11" class="edge">
 <title>Node11&#45;&gt;Node10</title>
-<path fill="none" stroke="#191970" d="M467.5,-1376.2202C467.5,-1321.4032 467.5,-1228.2528 467.5,-1170.6472"/>
-<polygon fill="none" stroke="#191970" points="464.0001,-1376.3214 467.5,-1386.3214 471.0001,-1376.3214 464.0001,-1376.3214"/>
+<path fill="none" stroke="#191970" d="M467.5,-1387.2202C467.5,-1332.4032 467.5,-1239.2528 467.5,-1181.6472"/>
+<polygon fill="none" stroke="#191970" points="464.0001,-1387.3214 467.5,-1397.3214 471.0001,-1387.3214 464.0001,-1387.3214"/>
 </g>
 <!-- Node12&#45;&gt;Node2 -->
 <g id="edge13" class="edge">
 <title>Node12&#45;&gt;Node2</title>
-<path fill="none" stroke="#404040" d="M572.8664,-566.2918C586.2421,-459.99 592.7433,-285.9449 520.5,-160 509.1556,-140.2227 492.5891,-123.2525 474.3834,-108.9958"/>
-<polygon fill="none" stroke="#404040" points="474.3467,-108.9684 467.1459,-108.5826 464.7325,-101.7874 471.9333,-102.1732 474.3467,-108.9684"/>
-<text text-anchor="middle" x="612.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +name_hint</text>
+<path fill="none" stroke="#404040" d="M572.388,-577.1173C585.2373,-471.0471 591.1741,-297.5825 520.5,-171 509.4148,-151.1455 493.2773,-133.8528 475.4819,-119.1376"/>
+<polygon fill="none" stroke="#404040" points="475.4575,-119.1184 468.2699,-118.5362 466.0429,-111.6776 473.2305,-112.2598 475.4575,-119.1184"/>
+<text text-anchor="middle" x="611.5" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +name_hint</text>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode__inherit__graph.svg b/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode__inherit__graph.svg
index 7ae15d21d..a9271da2a 100644
--- a/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1tir_1_1usmp_1_1BufferInfoNode__inherit__graph.svg
@@ -4,22 +4,23 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: tvm::tir::usmp::BufferInfoNode Pages: 1 -->
-<svg width="217pt" height="600pt"
- viewBox="0.00 0.00 217.00 600.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 596)">
+<svg width="217pt" height="611pt"
+ viewBox="0.00 0.00 217.00 611.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 607)">
 <title>tvm::tir::usmp::BufferInfoNode</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-596 213,-596 213,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-607 213,-607 213,4 -4,4"/>
 <!-- Node0 -->
 <g id="node1" class="node">
 <title>Node0</title>
-<polygon fill="#bfbfbf" stroke="#000000" points="0,-.5 0,-156.5 209,-156.5 209,-.5 0,-.5"/>
-<text text-anchor="middle" x="104.5" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::BufferInfoNode</text>
-<polyline fill="none" stroke="#000000" points="0,-137.5 209,-137.5 "/>
-<text text-anchor="start" x="8" y="-125.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ name_hint</text>
-<text text-anchor="start" x="8" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ size_bytes</text>
-<text text-anchor="start" x="8" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ pool_candidates</text>
-<text text-anchor="start" x="8" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ alignment</text>
-<text text-anchor="start" x="8" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ conflicts</text>
+<polygon fill="#bfbfbf" stroke="#000000" points="0,-.5 0,-167.5 209,-167.5 209,-.5 0,-.5"/>
+<text text-anchor="middle" x="104.5" y="-155.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::BufferInfoNode</text>
+<polyline fill="none" stroke="#000000" points="0,-148.5 209,-148.5 "/>
+<text text-anchor="start" x="8" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ name_hint</text>
+<text text-anchor="start" x="8" y="-125.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ size_bytes</text>
+<text text-anchor="start" x="8" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ pool_candidates</text>
+<text text-anchor="start" x="8" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ alignment</text>
+<text text-anchor="start" x="8" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ conflicts</text>
+<text text-anchor="start" x="8" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ kind</text>
 <text text-anchor="start" x="8" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
 <polyline fill="none" stroke="#000000" points="0,-63.5 209,-63.5 "/>
 <text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
@@ -32,51 +33,51 @@
 <g id="node2" class="node">
 <title>Node1</title>
 <g id="a_node2"><a xlink:href="classtvm_1_1runtime_1_1Object.html" target="_top" xlink:title="base class of all object containers. ">
-<polygon fill="#ffffff" stroke="#000000" points="13,-193.5 13,-591.5 196,-591.5 196,-193.5 13,-193.5"/>
-<text text-anchor="middle" x="104.5" y="-579.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
-<polyline fill="none" stroke="#000000" points="13,-572.5 196,-572.5 "/>
-<text text-anchor="start" x="21" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<text text-anchor="start" x="21" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_final</text>
-<text text-anchor="start" x="21" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots</text>
-<text text-anchor="start" x="21" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots_can</text>
-<text text-anchor="start" x="21" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_overflow</text>
-<text text-anchor="start" x="21" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_visit</text>
-<text text-anchor="start" x="21" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attrs</text>
-<text text-anchor="start" x="21" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="21" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
-<text text-anchor="start" x="21" y="-461.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_shash</text>
-<text text-anchor="start" x="21" y="-450.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
-<text text-anchor="start" x="21" y="-439.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_index</text>
-<text text-anchor="start" x="21" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># type_index_</text>
-<text text-anchor="start" x="21" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># ref_counter_</text>
-<text text-anchor="start" x="21" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># deleter_</text>
-<polyline fill="none" stroke="#000000" points="13,-399.5 196,-399.5 "/>
-<text text-anchor="start" x="21" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ type_index()</text>
-<text text-anchor="start" x="21" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKey()</text>
-<text text-anchor="start" x="21" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKeyHash()</text>
-<text text-anchor="start" x="21" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsInstance()</text>
-<text text-anchor="start" x="21" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<polygon fill="#ffffff" stroke="#000000" points="13,-204.5 13,-602.5 196,-602.5 196,-204.5 13,-204.5"/>
+<text text-anchor="middle" x="104.5" y="-590.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
+<polyline fill="none" stroke="#000000" points="13,-583.5 196,-583.5 "/>
+<text text-anchor="start" x="21" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<text text-anchor="start" x="21" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_final</text>
+<text text-anchor="start" x="21" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots</text>
+<text text-anchor="start" x="21" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots_can</text>
+<text text-anchor="start" x="21" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_overflow</text>
+<text text-anchor="start" x="21" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_visit</text>
+<text text-anchor="start" x="21" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attrs</text>
+<text text-anchor="start" x="21" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="21" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
+<text text-anchor="start" x="21" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_shash</text>
+<text text-anchor="start" x="21" y="-461.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
+<text text-anchor="start" x="21" y="-450.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_index</text>
+<text text-anchor="start" x="21" y="-439.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># type_index_</text>
+<text text-anchor="start" x="21" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># ref_counter_</text>
+<text text-anchor="start" x="21" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># deleter_</text>
+<polyline fill="none" stroke="#000000" points="13,-410.5 196,-410.5 "/>
+<text text-anchor="start" x="21" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ type_index()</text>
+<text text-anchor="start" x="21" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKey()</text>
+<text text-anchor="start" x="21" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKeyHash()</text>
+<text text-anchor="start" x="21" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsInstance()</text>
+<text text-anchor="start" x="21" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<text text-anchor="start" x="21" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
 <text text-anchor="start" x="21" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
 <text text-anchor="start" x="21" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
-<text text-anchor="start" x="21" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
+<text text-anchor="start" x="21" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
 <text text-anchor="start" x="21" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="21" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="21" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2Key()</text>
-<text text-anchor="start" x="21" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2KeyHash()</text>
-<text text-anchor="start" x="21" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeKey2Index()</text>
-<text text-anchor="start" x="21" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _GetOrAllocRuntimeTypeIndex()</text>
-<text text-anchor="start" x="21" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ RuntimeTypeIndex()</text>
-<text text-anchor="start" x="21" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># IncRef()</text>
-<text text-anchor="start" x="21" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
-<text text-anchor="start" x="21" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
+<text text-anchor="start" x="21" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2Key()</text>
+<text text-anchor="start" x="21" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2KeyHash()</text>
+<text text-anchor="start" x="21" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeKey2Index()</text>
+<text text-anchor="start" x="21" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _GetOrAllocRuntimeTypeIndex()</text>
+<text text-anchor="start" x="21" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ RuntimeTypeIndex()</text>
+<text text-anchor="start" x="21" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># IncRef()</text>
+<text text-anchor="start" x="21" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
+<text text-anchor="start" x="21" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node0 -->
 <g id="edge1" class="edge">
 <title>Node1&#45;&gt;Node0</title>
-<path fill="none" stroke="#191970" d="M104.5,-183.134C104.5,-173.9541 104.5,-165.044 104.5,-156.5506"/>
-<polygon fill="none" stroke="#191970" points="101.0001,-183.194 104.5,-193.1941 108.0001,-183.1941 101.0001,-183.194"/>
+<path fill="none" stroke="#191970" d="M104.5,-194.3328C104.5,-185.1966 104.5,-176.2996 104.5,-167.7785"/>
+<polygon fill="none" stroke="#191970" points="101.0001,-194.3339 104.5,-204.334 108.0001,-194.334 101.0001,-194.3339"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/tir_2usmp_2transform_8h.html b/docs/reference/api/doxygen/tir_2usmp_2transform_8h.html
index 3bc4a3d9d..5433d7901 100644
--- a/docs/reference/api/doxygen/tir_2usmp_2transform_8h.html
+++ b/docs/reference/api/doxygen/tir_2usmp_2transform_8h.html
@@ -108,6 +108,9 @@ Functions</h2></td></tr>
 <tr class="memitem:a1b12a47b959ac6298f1e3df40ed48458"><td class="memItemLeft" align="right" valign="top">Pass&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1transform.html#a1b12a47b959ac6298f1e3df40ed48458">tvm::tir::usmp::transform::AssignPoolInfo</a> ()</td></tr>
 <tr class="memdesc:a1b12a47b959ac6298f1e3df40ed48458"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign <a class="el" href="classtvm_1_1PoolInfo.html">PoolInfo</a> objects to tir.allocate nodes depending on the <a class="el" href="classtvm_1_1tir_1_1PrimFunc.html" title="Managed reference to PrimFuncNode. ">PrimFunc</a>'s target.  <a href="namespacetvm_1_1tir_1_1usmp_1_1transform.html#a1b12a47b959ac6298f1e3df40ed48458">More...</a><br /></td></tr>
 <tr class="separator:a1b12a47b959ac6298f1e3df40ed48458"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad1751f300f05f2448d280b98c48b65a1"><td class="memItemLeft" align="right" valign="top">Pass&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1transform.html#ad1751f300f05f2448d280b98c48b65a1">tvm::tir::usmp::transform::CreateAllocatesForIO</a> ()</td></tr>
+<tr class="memdesc:ad1751f300f05f2448d280b98c48b65a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This pass creates <a class="el" href="classtvm_1_1tir_1_1Allocate.html" title="Managed reference to AllocateNode. ">Allocate</a> nodes for I/O tensors.  <a href="namespacetvm_1_1tir_1_1usmp_1_1transform.html#ad1751f300f05f2448d280b98c48b65a1">More...</a><br /></td></tr>
+<tr class="separator:ad1751f300f05f2448d280b98c48b65a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>The transform passes for TIR-based Unified Static Memory Planner. </p>
diff --git a/docs/reference/api/doxygen/tir_2usmp_2transform_8h_source.html b/docs/reference/api/doxygen/tir_2usmp_2transform_8h_source.html
index 8e8e98d56..58d6fa6eb 100644
--- a/docs/reference/api/doxygen/tir_2usmp_2transform_8h_source.html
+++ b/docs/reference/api/doxygen/tir_2usmp_2transform_8h_source.html
@@ -66,10 +66,11 @@ $(function() {
 <div class="title">transform.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="tir_2usmp_2transform_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">  [...]
+<a href="tir_2usmp_2transform_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">  [...]
 <div class="ttc" id="classtvm_1_1Bool_html"><div class="ttname"><a href="classtvm_1_1Bool.html">tvm::Bool</a></div><div class="ttdoc">Boolean constant. </div><div class="ttdef"><b>Definition:</b> expr.h:368</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_1tir_1_1usmp_1_1transform_html_a1b12a47b959ac6298f1e3df40ed48458"><div class="ttname"><a href="namespacetvm_1_1tir_1_1usmp_1_1transform.html#a1b12a47b959ac6298f1e3df40ed48458">tvm::tir::usmp::transform::AssignPoolInfo</a></div><div class="ttdeci">Pass AssignPoolInfo()</div><div class="ttdoc">Assign PoolInfo objects to tir.allocate nodes depending on the PrimFunc&amp;#39;s target. ...</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_1_1usmp_1_1transform_html_ad1751f300f05f2448d280b98c48b65a1"><div class="ttname"><a href="namespacetvm_1_1tir_1_1usmp_1_1transform.html#ad1751f300f05f2448d280b98c48b65a1">tvm::tir::usmp::transform::CreateAllocatesForIO</a></div><div class="ttdeci">Pass CreateAllocatesForIO()</div><div class="ttdoc">This pass creates Allocate nodes for I/O tensors. </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="tir_2usmp_2utils_8h_html"><div class="ttname"><a href="tir_2usmp_2utils_8h.html">utils.h</a></div><div class="ttdoc">Utilities for Unified Static Memory Planner. </div></div>
 <div class="ttc" id="namespacetvm_1_1tir_1_1usmp_1_1transform_html_a901e9d4d9288aacc08b1bc7cde535f56"><div class="ttname"><a href="namespacetvm_1_1tir_1_1usmp_1_1transform.html#a901e9d4d9288aacc08b1bc7cde535f56">tvm::tir::usmp::transform::Pass</a></div><div class="ttdeci">tvm::transform::Pass Pass</div><div class="ttdef"><b>Definition:</b> transform.h:35</div></div>
diff --git a/docs/reference/api/doxygen/tir_2usmp_2utils_8h.html b/docs/reference/api/doxygen/tir_2usmp_2utils_8h.html
index 11b1a8508..337132753 100644
--- a/docs/reference/api/doxygen/tir_2usmp_2utils_8h.html
+++ b/docs/reference/api/doxygen/tir_2usmp_2utils_8h.html
@@ -65,6 +65,7 @@ $(function() {
   <div class="summary">
 <a href="#nested-classes">Classes</a> &#124;
 <a href="#namespaces">Namespaces</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
 <a href="#func-members">Functions</a> &#124;
 <a href="#var-members">Variables</a>  </div>
   <div class="headertitle">
@@ -130,6 +131,15 @@ Namespaces</h2></td></tr>
 <tr class="memdesc:namespacetvm_1_1attr"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic attribute names that can be attached to any function. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:ae54e3c895dbf7871be67970f91b16b95"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95">tvm::tir::usmp::BufferInfoKind</a> { <a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95a7e69a1214be9adba7d70a95f2f6fb8fb">tvm::tir::usmp::BufferInfoKind::kIntermediate</a> = 0, 
+<a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95ae22aedaa9915a19ef49578764f6dea64">tvm::tir::usmp::BufferInfoKind::kInput</a> = 1, 
+<a class="el" href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95af2bbd8203bc7c5c4efd47aa348753504">tvm::tir::usmp::BufferInfoKind::kOutput</a> = 2
+ }<tr class="memdesc:ae54e3c895dbf7871be67970f91b16b95"><td class="mdescLeft">&#160;</td><td class="mdescRight">A special kind to distinguish between I/O tensors to the model and intermediate tensors of the model.  <a href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95">More...</a><br /></td></tr>
+</td></tr>
+<tr class="separator:ae54e3c895dbf7871be67970f91b16b95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:a99eb04efa8e77b6759ccfb3ae7c4b5c8"><td class="memItemLeft" align="right" valign="top">Array&lt; BufferInfo &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1tir_1_1usmp.html#a99eb04efa8e77b6759ccfb3ae7c4b5c8">tvm::tir::usmp::CreateArrayBufferInfo</a> (const Map&lt; BufferInfo, Stmt &gt; &amp;buffer_info_map)</td></tr>
@@ -144,6 +154,9 @@ Functions</h2></td></tr>
 <tr class="memitem:a4933c94607060c1ce922d43c30ad0c59"><td class="memItemLeft" align="right" valign="top">Map&lt; Stmt, PoolAllocation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1tir_1_1usmp.html#a4933c94607060c1ce922d43c30ad0c59">tvm::tir::usmp::AssignStmtPoolAllocations</a> (const Map&lt; BufferInfo, Stmt &gt; &amp;buffer_info_to_stmt, const Map&lt; BufferInfo, PoolAllocation &gt; &amp;buffer_info_to_pool_allocation)</td></tr>
 <tr class="memdesc:a4933c94607060c1ce922d43c30ad0c59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Joins the <a class="el" href="classtvm_1_1tir_1_1Stmt.html" title="Container of all statements. ">Stmt</a> nodes with <a class="el" href="classtvm_1_1tir_1_1usmp_1_1PoolAllocation.html">PoolAllocation</a> objects.  <a href="namespacetvm_1_1tir_1_1usmp.html#a4933c94607060c1ce922d43c30ad0c59">More...</a><br /></td></tr>
 <tr class="separator:a4933c94607060c1ce922d43c30ad0c59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af09b2e5d53a727e24e1322834b71b67f"><td class="memItemLeft" align="right" valign="top">Map&lt; String, PoolAllocation &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1tir_1_1usmp.html#af09b2e5d53a727e24e1322834b71b67f">tvm::tir::usmp::GetIOPoolAllocations</a> (const Map&lt; BufferInfo, PoolAllocation &gt; &amp;buffer_info_to_pool_allocation)</td></tr>
+<tr class="memdesc:af09b2e5d53a727e24e1322834b71b67f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtains I/O tensor names to their <a class="el" href="classtvm_1_1tir_1_1usmp_1_1PoolAllocation.html">PoolAllocation</a> objects.  <a href="namespacetvm_1_1tir_1_1usmp.html#af09b2e5d53a727e24e1322834b71b67f">More...</a><br /></td></tr>
+<tr class="separator:af09b2e5d53a727e24e1322834b71b67f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
 Variables</h2></td></tr>
@@ -153,6 +166,9 @@ Variables</h2></td></tr>
 <tr class="memitem:ad4b5803c3423c0b15a3df281dd636212"><td class="memItemLeft" align="right" valign="top">constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm.html#ad4b5803c3423c0b15a3df281dd636212">tvm::kUSMPAlgorithmOption</a> = &quot;tir.usmp.algorithm&quot;</td></tr>
 <tr class="memdesc:ad4b5803c3423c0b15a3df281dd636212"><td class="mdescLeft">&#160;</td><td class="mdescRight">PassContext option to select the memory planning algorithm in USMP.  <a href="namespacetvm.html#ad4b5803c3423c0b15a3df281dd636212">More...</a><br /></td></tr>
 <tr class="separator:ad4b5803c3423c0b15a3df281dd636212"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a42ee9d0672e323515afbef908e8fe458"><td class="memItemLeft" align="right" valign="top">constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm.html#a42ee9d0672e323515afbef908e8fe458">tvm::kUSMPUseWorkspaceIO</a> = &quot;tir.usmp.use_workspace_io&quot;</td></tr>
+<tr class="memdesc:a42ee9d0672e323515afbef908e8fe458"><td class="mdescLeft">&#160;</td><td class="mdescRight">PassContext option to enable placing I/O tensors in the workspace.  <a href="namespacetvm.html#a42ee9d0672e323515afbef908e8fe458">More...</a><br /></td></tr>
+<tr class="separator:a42ee9d0672e323515afbef908e8fe458"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>Utilities for Unified Static Memory Planner. </p>
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 27212f8ed..5700f8f0f 100644
--- a/docs/reference/api/doxygen/tir_2usmp_2utils_8h_source.html
+++ b/docs/reference/api/doxygen/tir_2usmp_2utils_8h_source.html
@@ -66,70 +66,75 @@ $(function() {
 <div class="title">utils.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="tir_2usmp_2utils_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 [...]
+<a href="tir_2usmp_2utils_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 [...]
+<div class="ttc" id="namespacetvm_1_1tir_1_1usmp_html_ae54e3c895dbf7871be67970f91b16b95"><div class="ttname"><a href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95">tvm::tir::usmp::BufferInfoKind</a></div><div class="ttdeci">BufferInfoKind</div><div class="ttdoc">A special kind to distinguish between I/O tensors to the model and intermediate tensors of the model...</div><div class="ttdef"><b>Definition:</b> utils.h:56</div></div>
 <div class="ttc" id="namespacetvm_1_1tir_1_1usmp_html_a4933c94607060c1ce922d43c30ad0c59"><div class="ttname"><a href="namespacetvm_1_1tir_1_1usmp.html#a4933c94607060c1ce922d43c30ad0c59">tvm::tir::usmp::AssignStmtPoolAllocations</a></div><div class="ttdeci">Map&lt; Stmt, PoolAllocation &gt; AssignStmtPoolAllocations(const Map&lt; BufferInfo, Stmt &gt; &amp;buffer_info_to_stmt, const Map&lt; BufferInfo, PoolAllocation &gt; &amp;buffer_info_to_pool_allocation)</div><div class="ttdoc">Joins  [...]
-<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode_html_a6fee33f30028a2358ccd7a62f1ba4cb3"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a6fee33f30028a2358ccd7a62f1ba4cb3">tvm::tir::usmp::BufferInfoNode::conflicts</a></div><div class="ttdeci">Array&lt; ObjectRef &gt; conflicts</div><div class="ttdoc">The liveness conflicting other buffer info objects. </div><div class="ttdef"><b>Definition:</b> utils.h:67</div></div>
+<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode_html_a6fee33f30028a2358ccd7a62f1ba4cb3"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a6fee33f30028a2358ccd7a62f1ba4cb3">tvm::tir::usmp::BufferInfoNode::conflicts</a></div><div class="ttdeci">Array&lt; ObjectRef &gt; conflicts</div><div class="ttdoc">The liveness conflicting other buffer info objects. </div><div class="ttdef"><b>Definition:</b> utils.h:77</div></div>
 <div class="ttc" id="namespacetvm_1_1runtime_html_a551bab1e24e2e794f8ccd4446b63a7af"><div class="ttname"><a href="namespacetvm_1_1runtime.html#a551bab1e24e2e794f8ccd4446b63a7af">tvm::runtime::kDefaultWorkspaceAlignment</a></div><div class="ttdeci">constexpr int kDefaultWorkspaceAlignment</div><div class="ttdoc">Number of bytes each allocation must align to by default in the workspace buffer to service intermedi...</div><div class="ttdef"><b>Definition:</b> device_api.h:65</div></div>
-<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode_html_abe011d839b991676394d5be1e824a3c0"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html#abe011d839b991676394d5be1e824a3c0">tvm::tir::usmp::AllocatedPoolInfoNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const AllocatedPoolInfoNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> utils.h:197</div></div>
-<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode_html"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html">tvm::tir::usmp::AllocatedPoolInfoNode</a></div><div class="ttdoc">This object contains information post-allocation for PoolInfo objects. </div><div class="ttdef"><b>Definition:</b> utils.h:183</div></div>
-<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode_html_a4e023619c84e960e20651a41e0a279aa"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode.html#a4e023619c84e960e20651a41e0a279aa">tvm::tir::usmp::PoolAllocationNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> utils.h:165</div></div>
+<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode_html_abe011d839b991676394d5be1e824a3c0"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html#abe011d839b991676394d5be1e824a3c0">tvm::tir::usmp::AllocatedPoolInfoNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const AllocatedPoolInfoNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> utils.h:212</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_1_1usmp_html_af09b2e5d53a727e24e1322834b71b67f"><div class="ttname"><a href="namespacetvm_1_1tir_1_1usmp.html#af09b2e5d53a727e24e1322834b71b67f">tvm::tir::usmp::GetIOPoolAllocations</a></div><div class="ttdeci">Map&lt; String, PoolAllocation &gt; GetIOPoolAllocations(const Map&lt; BufferInfo, PoolAllocation &gt; &amp;buffer_info_to_pool_allocation)</div><div class="ttdoc">Obtains I/O tensor names to their PoolAllocation objects. </div></div>
+<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode_html"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html">tvm::tir::usmp::AllocatedPoolInfoNode</a></div><div class="ttdoc">This object contains information post-allocation for PoolInfo objects. </div><div class="ttdef"><b>Definition:</b> utils.h:198</div></div>
+<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode_html_a4e023619c84e960e20651a41e0a279aa"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode.html#a4e023619c84e960e20651a41e0a279aa">tvm::tir::usmp::PoolAllocationNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> utils.h:180</div></div>
 <div class="ttc" id="classtvm_1_1SEqualReducer_html"><div class="ttname"><a href="classtvm_1_1SEqualReducer.html">tvm::SEqualReducer</a></div><div class="ttdoc">A Reducer class to reduce the structural equality result of two objects. </div><div class="ttdef"><b>Definition:</b> structural_equal.h:102</div></div>
-<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode_html_a50746d43c1d14584dc8cc1f2b4c31bd7"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode.html#a50746d43c1d14584dc8cc1f2b4c31bd7">tvm::tir::usmp::PoolAllocationNode::byte_offset</a></div><div class="ttdeci">Integer byte_offset</div><div class="ttdoc">The byte offset where the tensor is supposed to be placed within the pool. </div><div class="ttdef"><b>Definition:</b> utils.h:154</div></div>
+<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode_html_a50746d43c1d14584dc8cc1f2b4c31bd7"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode.html#a50746d43c1d14584dc8cc1f2b4c31bd7">tvm::tir::usmp::PoolAllocationNode::byte_offset</a></div><div class="ttdeci">Integer byte_offset</div><div class="ttdoc">The byte offset where the tensor is supposed to be placed within the pool. </div><div class="ttdef"><b>Definition:</b> utils.h:169</div></div>
 <div class="ttc" id="memory__pools_8h_html"><div class="ttname"><a href="memory__pools_8h.html">memory_pools.h</a></div><div class="ttdoc">The object definition for relay.build argument type of memory pools. </div></div>
 <div class="ttc" id="ir_2expr_8h_html"><div class="ttname"><a href="ir_2expr_8h.html">expr.h</a></div><div class="ttdoc">Base expr nodes in TVM. </div></div>
-<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode_html_a483f36e5cf578050c9e7df7def07b705"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode.html#a483f36e5cf578050c9e7df7def07b705">tvm::tir::usmp::BufferInfoAnalysisNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const BufferInfoAnalysisNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> utils.h:130</div></div>
-<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode_html_a7db7e64edd3b2a8be2d8da3f4fa502b5"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode.html#a7db7e64edd3b2a8be2d8da3f4fa502b5">tvm::tir::usmp::BufferInfoAnalysisNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> utils.h:125</div></div>
+<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode_html_a483f36e5cf578050c9e7df7def07b705"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode.html#a483f36e5cf578050c9e7df7def07b705">tvm::tir::usmp::BufferInfoAnalysisNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const BufferInfoAnalysisNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> utils.h:145</div></div>
+<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode_html_a7db7e64edd3b2a8be2d8da3f4fa502b5"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode.html#a7db7e64edd3b2a8be2d8da3f4fa502b5">tvm::tir::usmp::BufferInfoAnalysisNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> utils.h:140</div></div>
 <div class="ttc" id="namespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">runtime implementation for LibTorch/TorchScript. </div><div class="ttdef"><b>Definition:</b> analyzer.h:36</div></div>
 <div class="ttc" id="classtvm_1_1SHashReducer_html"><div class="ttname"><a href="classtvm_1_1SHashReducer.html">tvm::SHashReducer</a></div><div class="ttdoc">A Reducer class to reduce the structural hash value. </div><div class="ttdef"><b>Definition:</b> structural_hash.h:102</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_1_1usmp_html_ae54e3c895dbf7871be67970f91b16b95ae22aedaa9915a19ef49578764f6dea64"><div class="ttname"><a href="namespacetvm_1_1tir_1_1usmp.html#ae54e3c895dbf7871be67970f91b16b95ae22aedaa9915a19ef49578764f6dea64">tvm::tir::usmp::BufferInfoKind::kInput</a></div></div>
 <div class="ttc" id="namespacetvm_1_1tir_1_1usmp_html_a99eb04efa8e77b6759ccfb3ae7c4b5c8"><div class="ttname"><a href="namespacetvm_1_1tir_1_1usmp.html#a99eb04efa8e77b6759ccfb3ae7c4b5c8">tvm::tir::usmp::CreateArrayBufferInfo</a></div><div class="ttdeci">Array&lt; BufferInfo &gt; CreateArrayBufferInfo(const Map&lt; BufferInfo, Stmt &gt; &amp;buffer_info_map)</div><div class="ttdoc">Convert the IR-bound BufferInfo map to an array of BufferInfo. </div></div>
-<div class="ttc" id="classtvm_1_1tir_1_1usmp_1_1BufferInfo_html"><div class="ttname"><a href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">tvm::tir::usmp::BufferInfo</a></div><div class="ttdef"><b>Definition:</b> utils.h:101</div></div>
+<div class="ttc" id="classtvm_1_1tir_1_1usmp_1_1BufferInfo_html"><div class="ttname"><a href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">tvm::tir::usmp::BufferInfo</a></div><div class="ttdef"><b>Definition:</b> utils.h:115</div></div>
 <div class="ttc" id="namespacetvm_html_a1c4f14382b85bcfa57d9a3460db2354a"><div class="ttname"><a href="namespacetvm.html#a1c4f14382b85bcfa57d9a3460db2354a">tvm::equal</a></div><div class="ttdeci">PrimExpr equal(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">equal </div></div>
-<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode_html_a3536a1c18fc71ac5890f752df2adf27a"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode.html#a3536a1c18fc71ac5890f752df2adf27a">tvm::tir::usmp::PoolAllocationNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> utils.h:156</div></div>
-<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode_html_a289af8dd85bf6b5919ec77adfc5436e0"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a289af8dd85bf6b5919ec77adfc5436e0">tvm::tir::usmp::BufferInfoNode::_type_key</a></div><div class="ttdeci">static constexpr const char * _type_key</div><div class="ttdef"><b>Definition:</b> utils.h:97</div></div>
+<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode_html_a3536a1c18fc71ac5890f752df2adf27a"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode.html#a3536a1c18fc71ac5890f752df2adf27a">tvm::tir::usmp::PoolAllocationNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> utils.h:171</div></div>
 <div class="ttc" id="classtvm_1_1PoolInfo_html"><div class="ttname"><a href="classtvm_1_1PoolInfo.html">tvm::PoolInfo</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:132</div></div>
-<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode_html_a133223871982347da894c949cada9ba3"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html#a133223871982347da894c949cada9ba3">tvm::tir::usmp::AllocatedPoolInfoNode::pool_var_idx</a></div><div class="ttdeci">Optional&lt; Integer &gt; pool_var_idx</div><div class="ttdoc">An optional associated pool Var index of PrimFunc params. </div><div class="ttdef"><b>Definition:</b> utils.h:189</div></div>
-<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode_html_ae22f04d799f7cc35273d85fd3d9851fd"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html#ae22f04d799f7cc35273d85fd3d9851fd">tvm::tir::usmp::AllocatedPoolInfoNode::allocated_size</a></div><div class="ttdeci">Integer allocated_size</div><div class="ttdoc">The allocated size into this pool. </div><div class="ttdef"><b>Definition:</b> utils.h:187</div></div>
+<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode_html_a133223871982347da894c949cada9ba3"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html#a133223871982347da894c949cada9ba3">tvm::tir::usmp::AllocatedPoolInfoNode::pool_var_idx</a></div><div class="ttdeci">Optional&lt; Integer &gt; pool_var_idx</div><div class="ttdoc">An optional associated pool Var index of PrimFunc params. </div><div class="ttdef"><b>Definition:</b> utils.h:204</div></div>
+<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode_html_ae22f04d799f7cc35273d85fd3d9851fd"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html#ae22f04d799f7cc35273d85fd3d9851fd">tvm::tir::usmp::AllocatedPoolInfoNode::allocated_size</a></div><div class="ttdeci">Integer allocated_size</div><div class="ttdoc">The allocated size into this pool. </div><div class="ttdef"><b>Definition:</b> utils.h:202</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="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode_html_afda8f6acac9b3af97dcf00f5df2887fb"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html#afda8f6acac9b3af97dcf00f5df2887fb">tvm::tir::usmp::AllocatedPoolInfoNode::pool_info</a></div><div class="ttdeci">PoolInfo pool_info</div><div class="ttdoc">The assigned PoolInfo object. </div><div class="ttdef"><b>Definition:</b> utils.h:185</div></div>
+<div class="ttc" id="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode_html_afda8f6acac9b3af97dcf00f5df2887fb"><div class="ttname"><a href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html#afda8f6acac9b3af97dcf00f5df2887fb">tvm::tir::usmp::AllocatedPoolInfoNode::pool_info</a></div><div class="ttdeci">PoolInfo pool_info</div><div class="ttdoc">The assigned PoolInfo object. </div><div class="ttdef"><b>Definition:</b> utils.h:200</div></div>
... 2780 lines suppressed ...