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/05/30 13:59:37 UTC

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

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 6e45aca32 deploying docs (apache/tvm@c6415d14928d1e09f4bd3105c7a5ddf87f92166b)
6e45aca32 is described below

commit 6e45aca32dcc4e035cf481295a62b701dfe63935
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Mon May 30 13:59:32 2022 +0000

    deploying docs (apache/tvm@c6415d14928d1e09f4bd3105c7a5ddf87f92166b)
---
 .../how_to/compile_models/from_mxnet.rst.txt       |    2 +-
 .../how_to/compile_models/from_oneflow.rst.txt     |    2 +-
 .../how_to/compile_models/from_paddle.rst.txt      |    2 +-
 .../how_to/compile_models/from_pytorch.rst.txt     |    2 +-
 .../how_to/compile_models/from_tensorflow.rst.txt  |    2 +-
 .../compile_models/sg_execution_times.rst.txt      |   22 +-
 .../deploy_models/deploy_model_on_android.rst.txt  |    2 +-
 .../deploy_object_detection_pytorch.rst.txt        |    4 +-
 .../deploy_models/deploy_prequantized.rst.txt      |    6 +-
 .../deploy_prequantized_tflite.rst.txt             |    4 +-
 .../how_to/deploy_models/deploy_quantized.rst.txt  |    5 -
 .../deploy_models/deploy_ssd_gluoncv.rst.txt       |    4 +-
 .../deploy_models/sg_execution_times.rst.txt       |   18 +-
 .../extend_tvm/bring_your_own_datatypes.rst.txt    |    2 +-
 .../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                 | 1658 ++++++++++++++++++--
 .../tune_network_cuda.rst.txt                      |    2 +-
 .../tune_network_x86.rst.txt                       |    4 +-
 .../tune_sparse_x86.rst.txt                        |   87 +-
 .../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     |    8 +-
 docs/_sources/tutorial/autotvm_relay_x86.rst.txt   |   56 +-
 .../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       |   46 +-
 docs/commit_hash                                   |    2 +-
 docs/how_to/compile_models/from_mxnet.html         |    2 +-
 docs/how_to/compile_models/from_oneflow.html       |  148 +-
 docs/how_to/compile_models/from_paddle.html        |    2 +-
 docs/how_to/compile_models/from_pytorch.html       |    6 +-
 docs/how_to/compile_models/from_tensorflow.html    |    2 +-
 docs/how_to/compile_models/sg_execution_times.html |   22 +-
 .../deploy_models/deploy_model_on_android.html     |    2 +-
 .../deploy_object_detection_pytorch.html           |   17 +-
 docs/how_to/deploy_models/deploy_prequantized.html |    6 +-
 .../deploy_models/deploy_prequantized_tflite.html  |    4 +-
 docs/how_to/deploy_models/deploy_quantized.html    |    1 -
 docs/how_to/deploy_models/deploy_ssd_gluoncv.html  |   37 +-
 docs/how_to/deploy_models/sg_execution_times.html  |   18 +-
 .../extend_tvm/bring_your_own_datatypes.html       |    2 +-
 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                    | 1657 +++++++++++++++++--
 .../tune_with_autoscheduler/tune_network_cuda.html |    2 +-
 .../tune_with_autoscheduler/tune_network_x86.html  |    4 +-
 .../tune_with_autoscheduler/tune_sparse_x86.html   |   86 +-
 .../tune_with_autotvm/sg_execution_times.html      |   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 +-
 .../api/doxygen/constant__utils_8h_source.html     |    2 +-
 .../api/doxygen/detail_2broadcast_8h_source.html   |    2 +-
 .../api/doxygen/detail_2extern_8h_source.html      |    2 +-
 docs/reference/api/doxygen/dilate_8h_source.html   |    2 +-
 docs/reference/api/doxygen/elemwise_8h_source.html |    2 +-
 .../doxygen/local__response__norm_8h_source.html   |    2 +-
 .../api/doxygen/namespacemembers_func_g.html       |    9 +-
 docs/reference/api/doxygen/namespacemembers_g.html |    9 +-
 docs/reference/api/doxygen/namespacemembers_s.html |    4 +-
 docs/reference/api/doxygen/namespacetvm.html       |  539 ++++---
 docs/reference/api/doxygen/nn_2bnn_8h_source.html  |    4 +-
 .../api/doxygen/nn_2pooling_8h_source.html         |    4 +-
 .../api/doxygen/nn_2softmax_8h_source.html         |    2 +-
 .../reference/api/doxygen/reduction_8h_source.html |    4 +-
 docs/reference/api/doxygen/search/all_13.js        |    2 +-
 docs/reference/api/doxygen/search/all_14.js        |    2 +-
 docs/reference/api/doxygen/search/all_8.js         |    1 +
 docs/reference/api/doxygen/search/functions_7.js   |    1 +
 .../api/doxygen/strided__slice_8h_source.html      |    2 +-
 docs/reference/api/doxygen/tir_2op_8h.html         |   11 +-
 docs/reference/api/doxygen/tir_2op_8h_source.html  |  115 +-
 docs/reference/api/doxygen/topi_2nn_8h_source.html |    6 +-
 .../api/doxygen/topi_2transform_8h_source.html     |    2 +-
 docs/reference/api/python/auto_scheduler.html      |    6 +-
 .../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       |    3 +-
 docs/tutorial/autotvm_relay_x86.html               |  197 +--
 docs/tutorial/cross_compilation_and_rpc.html       |    2 +-
 docs/tutorial/intro_topi.html                      |    2 +-
 docs/tutorial/sg_execution_times.html              |   26 +-
 docs/tutorial/tensor_expr_get_started.html         |   46 +-
 138 files changed, 4233 insertions(+), 1622 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 4eb820914..453cee4c3 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.zipc9f4b9ac-b0b2-40a6-86dd-21261e055113 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zipd8729d21-5451-4d3a-97c7-2d51c43bea21 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 32d9e7fe5..5b250e88e 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<08:18, 87.3kB/s]
      0%|          | 40.0k/41.5M [00:00<06:26, 113kB/s] 
      0%|          | 72.0k/41.5M [00:00<05:09, 141kB/s]
      0%|          | 104k/41.5M [00:00<04:42, 154kB/s] 
      0%|          | 136k/41.5M [00:00<04:29, 161kB/s]
      0%|          | 192k/41.5M [00:01<03:26, 210kB/s]
      1%|          | 256k/41.5M [00:01<02:49, 255kB/s]
      1%|          | 352k/41.5M [00:01<02:07, 339kB/s]
      1%|1         | 560k/41.5M [00:01<01:13, 586kB/s]
      2%|2         | 968k/41.5M [00:01<00:39, 1.09MB/s]
      3%|3         | 1.43M/41.5M [00:02<00:26, 1.58MB/s]
      6%|6         | 2.59M/41.5M [00:02<00:13, 3.04MB/s]
      7%|6         | 2.88M/41.5M [00:02<00:15, 2.61MB/s]
     10%|9         | 4.09M/41.5M [00:02<00:10, 3.87MB/s]
     13%|#3        | 5.45M/41.5M [00:02<00:07, 4.99MB/s]
     17%|#6        | 6.92M/41.5M [00:03<00:06, 5.95MB/s]
     20%|##        | 8.40M/41.5M [00:03<00:05, 6.
 63MB/s]
     24%|##3       | 9.88M/41.5M [00:03<00:04, 7.10MB/s]
     27%|##7       | 11.3M/41.5M [00:03<00:04, 7.42MB/s]
     31%|###       | 12.8M/41.5M [00:03<00:03, 7.65MB/s]
     34%|###4      | 14.3M/41.5M [00:03<00:03, 7.82MB/s]
     38%|###8      | 15.8M/41.5M [00:04<00:03, 7.94MB/s]
     42%|####1     | 17.2M/41.5M [00:04<00:03, 8.01MB/s]
     45%|####5     | 18.7M/41.5M [00:04<00:02, 8.07MB/s]
     49%|####8     | 20.2M/41.5M [00:04<00:02, 8.10MB/s]
     52%|#####2    | 21.7M/41.5M [00:04<00:02, 8.13MB/s]
     56%|#####5    | 23.1M/41.5M [00:05<00:02, 8.15MB/s]
     59%|#####9    | 24.6M/41.5M [00:05<00:01, 9.05MB/s]
     63%|######2   | 26.1M/41.5M [00:05<00:02, 7.94MB/s]
     66%|######6   | 27.6M/41.5M [00:05<00:01, 8.00MB/s]
     70%|######9   | 29.0M/41.5M [00:05<00:01, 8.06MB/s]
     74%|#######3  | 30.5M/41.5M [00:06<00:01, 8.12MB/s]
     77%|#######7  | 32.0M/41.5M [00:06<00:01, 8.14MB/s]
     81%|########  | 33.5M/41.5M [00:06<00:01, 8.16MB/s]
     84%|########4 |
  34.9M/41.5M [00:06<00:00, 8.16MB/s]
     88%|########7 | 36.4M/41.5M [00:06<00:00, 8.18MB/s]
     91%|#########1| 37.9M/41.5M [00:06<00:00, 8.18MB/s]
     95%|#########4| 39.4M/41.5M [00:07<00:00, 8.19MB/s]
     98%|#########8| 40.8M/41.5M [00:07<00:00, 9.52MB/s]
    100%|##########| 41.5M/41.5M [00:07<00:00, 5.90MB/s]
+
      0%|          | 0.00/41.5M [00:00<?, ?B/s]
      0%|          | 16.0k/41.5M [00:00<08:29, 85.4kB/s]
      0%|          | 48.0k/41.5M [00:00<05:21, 135kB/s] 
      0%|          | 72.0k/41.5M [00:00<05:29, 132kB/s]
      0%|          | 112k/41.5M [00:00<04:25, 164kB/s] 
      0%|          | 144k/41.5M [00:00<04:21, 166kB/s]
      0%|          | 176k/41.5M [00:01<04:18, 167kB/s]
      1%|          | 216k/41.5M [00:01<03:57, 182kB/s]
      1%|          | 256k/41.5M [00:01<03:45, 192kB/s]
      1%|          | 296k/41.5M [00:01<03:37, 198kB/s]
      1%|          | 336k/41.5M [00:01<03:33, 203kB/s]
      1%|          | 384k/41.5M [00:02<03:17, 219kB/s]
      1%|1         | 432k/41.5M [00:02<03:07, 230kB/s]
      1%|1         | 480k/41.5M [00:02<03:01, 237kB/s]
      1%|1         | 536k/41.5M [00:02<02:48, 255kB/s]
      1%|1         | 584k/41.5M [00:02<02:48, 255kB/s]
      2%|1         | 648k/41.5M [00:03<02:32, 281kB/s]
      2%|1         | 704k/41.5M [00:03<02:29, 286kB/s]
      2
 %|1         | 768k/41.5M [00:03<02:21, 302kB/s]
      2%|1         | 840k/41.5M [00:03<02:10, 326kB/s]
      2%|2         | 904k/41.5M [00:03<02:09, 330kB/s]
      2%|2         | 976k/41.5M [00:04<02:02, 346kB/s]
      2%|2         | 1.03M/41.5M [00:04<01:54, 369kB/s]
      3%|2         | 1.11M/41.5M [00:04<01:49, 386kB/s]
      3%|2         | 1.20M/41.5M [00:04<01:42, 410kB/s]
      3%|3         | 1.28M/41.5M [00:04<01:38, 427kB/s]
      3%|3         | 1.38M/41.5M [00:05<01:33, 452kB/s]
      4%|3         | 1.47M/41.5M [00:05<01:29, 469kB/s]
      4%|3         | 1.57M/41.5M [00:05<01:24, 494kB/s]
      4%|4         | 1.67M/41.5M [00:05<01:13, 570kB/s]
      4%|4         | 1.78M/41.5M [00:05<01:06, 622kB/s]
      4%|4         | 1.84M/41.5M [00:05<01:07, 618kB/s]
      5%|4         | 1.91M/41.5M [00:05<01:10, 592kB/s]
      5%|4         | 2.02M/41.5M [00:06<00:57, 724kB/s]
      5%|5         | 2.10M/41.5M [00:06<01:02, 664kB/s]
      5%|5         | 2.19M/41.5M [00:06<01:09, 592kB/s]
       6%|5         | 2.33M/41.5M [00:06<00:55, 741kB/s]
      6%|5         | 2.48M/41.5M [00:06<00:45, 906kB/s]
      6%|6         | 2.57M/41.5M [00:06<00:49, 822kB/s]
      6%|6         | 2.68M/41.5M [00:06<00:47, 850kB/s]
      7%|6         | 2.85M/41.5M [00:06<00:38, 1.05MB/s]
      7%|7         | 2.96M/41.5M [00:07<00:42, 951kB/s] 
      7%|7         | 3.08M/41.5M [00:07<00:41, 965kB/s]
      8%|7         | 3.28M/41.5M [00:07<00:36, 1.11MB/s]
      8%|8         | 3.39M/41.5M [00:07<00:36, 1.09MB/s]
      9%|8         | 3.53M/41.5M [00:07<00:35, 1.12MB/s]
      9%|9         | 3.77M/41.5M [00:07<00:27, 1.42MB/s]
      9%|9         | 3.91M/41.5M [00:07<00:31, 1.26MB/s]
     10%|9         | 4.05M/41.5M [00:08<00:31, 1.27MB/s]
     10%|#         | 4.32M/41.5M [00:08<00:24, 1.60MB/s]
     11%|#         | 4.48M/41.5M [00:08<00:26, 1.44MB/s]
     11%|#1        | 4.66M/41.5M [00:08<00:26, 1.45MB/s]
     12%|#1        | 4.96M/41.5M [00:08<00:20, 1.83MB/s]
     12%|#2        | 5.15M/41.5M 
 [00:08<00:23, 1.64MB/s]
     13%|#2        | 5.34M/41.5M [00:08<00:22, 1.65MB/s]
     14%|#3        | 5.69M/41.5M [00:08<00:18, 2.08MB/s]
     14%|#4        | 5.90M/41.5M [00:09<00:20, 1.86MB/s]
     15%|#4        | 6.12M/41.5M [00:09<00:19, 1.87MB/s]
     16%|#5        | 6.51M/41.5M [00:09<00:15, 2.36MB/s]
     16%|#6        | 6.75M/41.5M [00:09<00:17, 2.11MB/s]
     17%|#6        | 6.99M/41.5M [00:09<00:17, 2.11MB/s]
     18%|#7        | 7.42M/41.5M [00:09<00:13, 2.64MB/s]
     19%|#8        | 7.69M/41.5M [00:09<00:15, 2.34MB/s]
     19%|#9        | 7.94M/41.5M [00:09<00:15, 2.30MB/s]
     20%|##        | 8.41M/41.5M [00:10<00:12, 2.85MB/s]
     21%|##        | 8.70M/41.5M [00:10<00:13, 2.56MB/s]
     22%|##1       | 9.02M/41.5M [00:10<00:12, 2.63MB/s]
     23%|##3       | 9.56M/41.5M [00:10<00:10, 3.31MB/s]
     24%|##3       | 9.89M/41.5M [00:10<00:11, 2.93MB/s]
     25%|##4       | 10.2M/41.5M [00:10<00:11, 2.97MB/s]
     26%|##6       | 10.9M/41.5M [00:10<00:08, 3.72MB/s]
    
  27%|##7       | 11.2M/41.5M [00:10<00:09, 3.31MB/s]
     28%|##7       | 11.6M/41.5M [00:11<00:09, 3.32MB/s]
     30%|##9       | 12.3M/41.5M [00:11<00:07, 4.15MB/s]
     31%|###       | 12.7M/41.5M [00:11<00:08, 3.69MB/s]
     32%|###1      | 13.1M/41.5M [00:11<00:08, 3.70MB/s]
     33%|###3      | 13.9M/41.5M [00:11<00:06, 4.61MB/s]
     35%|###4      | 14.3M/41.5M [00:11<00:06, 4.10MB/s]
     36%|###5      | 14.8M/41.5M [00:11<00:06, 4.10MB/s]
     38%|###7      | 15.6M/41.5M [00:12<00:05, 5.05MB/s]
     39%|###8      | 16.1M/41.5M [00:12<00:05, 4.52MB/s]
     40%|####      | 16.7M/41.5M [00:12<00:05, 4.51MB/s]
     42%|####2     | 17.6M/41.5M [00:12<00:04, 5.69MB/s]
     44%|####3     | 18.1M/41.5M [00:12<00:04, 5.01MB/s]
     45%|####5     | 18.7M/41.5M [00:12<00:04, 4.98MB/s]
     48%|####7     | 19.7M/41.5M [00:12<00:03, 6.32MB/s]
     49%|####9     | 20.4M/41.5M [00:12<00:04, 5.52MB/s]
     51%|#####     | 21.0M/41.5M [00:13<00:03, 5.47MB/s]
     53%|#####3    | 22.1M/41.5M
  [00:13<00:02, 6.95MB/s]
     55%|#####4    | 22.8M/41.5M [00:13<00:03, 6.07MB/s]
     57%|#####6    | 23.4M/41.5M [00:13<00:03, 6.23MB/s]
     59%|#####9    | 24.7M/41.5M [00:13<00:02, 7.70MB/s]
     61%|######1   | 25.4M/41.5M [00:13<00:02, 6.54MB/s]
     63%|######3   | 26.2M/41.5M [00:13<00:02, 6.53MB/s]
     66%|######6   | 27.5M/41.5M [00:13<00:01, 8.31MB/s]
     68%|######8   | 28.4M/41.5M [00:14<00:01, 7.25MB/s]
     70%|#######   | 29.1M/41.5M [00:14<00:01, 7.09MB/s]
     73%|#######3  | 30.4M/41.5M [00:14<00:01, 8.75MB/s]
     76%|#######5  | 31.3M/41.5M [00:14<00:01, 7.63MB/s]
     77%|#######7  | 32.1M/41.5M [00:14<00:01, 6.44MB/s]
     81%|########  | 33.5M/41.5M [00:14<00:01, 8.07MB/s]
     84%|########3 | 34.8M/41.5M [00:14<00:00, 9.26MB/s]
     86%|########6 | 35.8M/41.5M [00:15<00:00, 7.98MB/s]
     88%|########8 | 36.6M/41.5M [00:15<00:00, 6.80MB/s]
     91%|#########1| 37.9M/41.5M [00:15<00:00, 8.12MB/s]
     95%|#########4| 39.2M/41.5M [00:15<00:00, 9.23MB/s]
   
   97%|#########6| 40.2M/41.5M [00:15<00:00, 8.00MB/s]
     99%|#########8| 41.1M/41.5M [00:15<00:00, 6.82MB/s]
    100%|##########| 41.5M/41.5M [00:15<00:00, 2.75MB/s]
 
 
 
diff --git a/docs/_sources/how_to/compile_models/from_paddle.rst.txt b/docs/_sources/how_to/compile_models/from_paddle.rst.txt
index b5d21d2c8..d1da61210 100644
--- a/docs/_sources/how_to/compile_models/from_paddle.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_paddle.rst.txt
@@ -210,7 +210,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.878 seconds)
+   **Total running time of the script:** ( 1 minutes  4.050 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 9dc17e6bb..33e30edd1 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]
     12%|#1        | 5.16M/44.7M [00:00<00:00, 54.0MB/s]
     23%|##3       | 10.3M/44.7M [00:00<00:00, 50.1MB/s]
     80%|#######9  | 35.6M/44.7M [00:00<00:00, 144MB/s] 
    100%|##########| 44.7M/44.7M [00:00<00:00, 134MB/s]
+
      0%|          | 0.00/44.7M [00:00<?, ?B/s]
     47%|####6     | 21.0M/44.7M [00:00<00:00, 220MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 253MB/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 373437b6c..ed7fdff08 100644
--- a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
@@ -381,7 +381,7 @@ Run the corresponding model on tensorflow
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  1.956 seconds)
+   **Total running time of the script:** ( 1 minutes  1.459 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 34445708d..c48fcc3fb 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
 =================
-**05:45.573** total execution time for **how_to_compile_models** files:
+**05:21.728** total execution time for **how_to_compile_models** files:
 
-- **01:05.878**: :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)
-- **01:01.956**: :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``)
-- **00:55.680**: :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)
-- **00:38.522**: :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)
-- **00:31.104**: :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)
-- **00:28.939**: :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)
-- **00:21.020**: :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)
-- **00:21.003**: :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)
-- **00:18.827**: :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)
-- **00:02.642**: :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)
+- **01:04.050**: :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)
+- **01:01.459**: :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``)
+- **00:58.339**: :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)
+- **00:39.463**: :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)
+- **00:23.613**: :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)
+- **00:20.692**: :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)
+- **00:20.461**: :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)
+- **00:18.516**: :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)
+- **00:12.716**: :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)
+- **00:02.419**: :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 d894b3ed9..190fb48c2 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
@@ -402,7 +402,7 @@ Execute on TVM
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      15.9477      15.7521      16.7225      15.5190       0.4362   
+      16.3038      16.2835      16.4160      16.2459       0.0558   
                
 
 
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 a7882a625..f376ffc96 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]
     10%|9         | 16.8M/170M [00:00<00:00, 176MB/s]
     23%|##3       | 39.8M/170M [00:00<00:00, 214MB/s]
     37%|###7      | 63.0M/170M [00:00<00:00, 228MB/s]
     50%|#####     | 85.4M/170M [00:00<00:00, 230MB/s]
     63%|######3   | 107M/170M [00:00<00:00, 207MB/s] 
     76%|#######6  | 130M/170M [00:00<00:00, 216MB/s]
     90%|########9 | 153M/170M [00:00<00:00, 222MB/s]
    100%|##########| 170M/170M [00:00<00:00, 222MB/s]
+
      0%|          | 0.00/170M [00:00<?, ?B/s]
     11%|#         | 18.1M/170M [00:00<00:00, 190MB/s]
     26%|##5       | 43.5M/170M [00:00<00:00, 235MB/s]
     41%|####      | 69.6M/170M [00:00<00:00, 252MB/s]
     55%|#####5    | 93.7M/170M [00:00<00:00, 250MB/s]
     70%|#######   | 120M/170M [00:00<00:00, 258MB/s] 
     86%|########5 | 146M/170M [00:00<00:00, 263MB/s]
    100%|##########| 170M/170M [00:00<00:00, 256MB/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').
@@ -262,7 +262,7 @@ Get boxes with score larger than 0.9
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  58.793 seconds)
+   **Total running time of the script:** ( 2 minutes  54.897 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 ff2b647ea..beba0363f 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]
    100%|##########| 13.6M/13.6M [00:00<00:00, 182MB/s]
+
      0%|          | 0.00/13.6M [00:00<?, ?B/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 187MB/s]
 
 
 
@@ -353,7 +353,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.0584      90.0198      90.6747      89.8906       0.1451   
+      90.2716      90.4386      90.7632      89.8697       0.2656   
                
 
 
@@ -393,7 +393,7 @@ TODO
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  4.163 seconds)
+   **Total running time of the script:** ( 1 minutes  3.677 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 bf1120a69..34d61a992 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
@@ -360,7 +360,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      118.4221     118.3950     120.3028     117.5782      0.4582   
+      118.7434     118.6745     120.7552     117.3282      0.6605   
                
 
 
@@ -394,7 +394,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  57.295 seconds)
+   **Total running time of the script:** ( 1 minutes  58.066 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 5c2d0bf50..965437066 100644
--- a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
@@ -221,11 +221,6 @@ We create a Relay VM to build and execute the model.
 
 
 
-.. rst-class:: sphx-glr-timing
-
-   **Total running time of the script:** ( 1 minutes  10.928 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 5084eecbc..227ff7ef7 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]
      4%|3         | 5157/132723 [00:00<00:02, 51562.80KB/s]
      9%|9         | 12485/132723 [00:00<00:01, 64333.77KB/s]
     15%|#4        | 19908/132723 [00:00<00:01, 68849.14KB/s]
     21%|##        | 27357/132723 [00:00<00:01, 71074.04KB/s]
     26%|##6       | 35118/132723 [00:00<00:01, 73420.30KB/s]
     32%|###2      | 42886/132723 [00:00<00:01, 74844.41KB/s]
     38%|###8      | 50473/132723 [00:00<00:01, 75177.16KB/s]
     44%|####4     | 58432/132723 [00:00<00:00, 76579.96KB/s]
     50%|#####     | 66401/132723 [00:00<00:00, 77550.38KB/s]
     56%|#####6    | 74470/132723 [00:01<00:00, 78517.52KB/s]
     62%|######2   | 82528/132723 [00:01<00:00, 79146.16KB/s]
     68%|######8   | 90606/132723 [00:01<00:00, 79640.97KB/s]
     74%|#######4  | 98606/132723 [00:01<00:00, 79748.71KB/s]
     80%|########  | 106719/132723 [00:01<00:00, 80164.48KB/s]
     87%|########6 | 114817/132723 [00:01<00:00, 80409.15KB/s]
     93%|#########
 2| 122935/132723 [00:01<00:00, 80638.41KB/s]
     99%|#########8| 131043/132723 [00:01<00:00, 80765.65KB/s]
    100%|##########| 132723/132723 [00:01<00:00, 77112.34KB/s]
+
      0%|          | 0/132723 [00:00<?, ?KB/s]
      5%|4         | 6456/132723 [00:00<00:01, 64553.29KB/s]
     11%|#1        | 15221/132723 [00:00<00:01, 78131.82KB/s]
     18%|#8        | 24047/132723 [00:00<00:01, 82754.37KB/s]
     25%|##4       | 32789/132723 [00:00<00:01, 84594.72KB/s]
     31%|###1      | 41684/132723 [00:00<00:01, 86164.18KB/s]
     38%|###7      | 50301/132723 [00:00<00:01, 72973.20KB/s]
     45%|####4     | 59161/132723 [00:00<00:00, 77519.55KB/s]
     51%|#####     | 67172/132723 [00:00<00:00, 69091.48KB/s]
     57%|#####7    | 75993/132723 [00:00<00:00, 74253.46KB/s]
     63%|######3   | 83710/132723 [00:01<00:00, 63620.86KB/s]
     70%|######9   | 92550/132723 [00:01<00:00, 69870.39KB/s]
     75%|#######5  | 99962/132723 [00:01<00:00, 66471.93KB/s]
     81%|########  | 106913/132723 [00:01<00:00, 61187.29KB/s]
     86%|########6 | 114680/132723 [00:01<00:00, 60662.65KB/s]
     93%|#########2| 123286/132723 [00:01<00:00, 67054.44KB/s]
    100%|########
 #9| 132132/132723 [00:01<00:00, 72714.59KB/s]
    100%|##########| 132723/132723 [00:01<00:00, 71125.48KB/s]
 
 
 
@@ -211,7 +211,7 @@ Display result
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  19.773 seconds)
+   **Total running time of the script:** ( 2 minutes  18.808 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 2fd085b40..2c54ec5db 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:19.947** total execution time for **how_to_deploy_models** files:
+**10:04.047** total execution time for **how_to_deploy_models** files:
 
-- **02:58.793**: :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``)
-- **02:19.773**: :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)
-- **01:57.295**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)
-- **01:10.928**: :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)
-- **01:04.163**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)
-- **00:27.642**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)
-- **00:21.170**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)
-- **00:00.182**: :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``)
+- **02:54.897**: :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``)
+- **02:18.808**: :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)
+- **01:58.066**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)
+- **01:03.677**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)
+- **00:59.026**: :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)
+- **00:28.439**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)
+- **00:20.955**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)
+- **00:00.180**: :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 0ebe4d851..3d4a22612 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
@@ -425,7 +425,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.zip1dce7d0f-d93b-4407-878f-7c1726b3ad03 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+    Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip1d77373d-fc37-4966-9e56-d7c03fa0de1c from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
 
 
 
diff --git a/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt b/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
index d6a61ce5e..f685566bf 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:37.530** total execution time for **how_to_extend_tvm** files:
+**00:37.107** total execution time for **how_to_extend_tvm** files:
 
-- **00:34.085**: :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``)
-- **00:02.234**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)
-- **00:01.027**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)
-- **00:00.183**: :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``)
+- **00:33.705**: :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``)
+- **00:02.196**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)
+- **00:01.020**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)
+- **00:00.186**: :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 7931236eb..2e95f8b9a 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: 6007us [6007us] (45.35%; 45.35%)
-    FoldScaleAxis: 7238us [5us] (54.65%; 54.65%)
-            FoldConstant: 7233us [1479us] (54.61%; 99.93%)
-                    InferType: 5754us [5754us] (43.44%; 79.55%)
+    InferType: 6256us [6256us] (45.73%; 45.73%)
+    FoldScaleAxis: 7423us [5us] (54.27%; 54.27%)
+            FoldConstant: 7418us [1529us] (54.23%; 99.93%)
+                    InferType: 5889us [5889us] (43.05%; 79.39%)
 
 
 
@@ -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: 5781us [5781us] (40.78%; 40.78%)
-    FoldScaleAxis: 8393us [5us] (59.22%; 59.22%)
-            FoldConstant: 8388us [1494us] (59.18%; 99.94%)
-                    InferType: 6895us [6895us] (48.64%; 82.19%)
+    InferType: 6003us [6003us] (44.55%; 44.55%)
+    FoldScaleAxis: 7471us [5us] (55.45%; 55.45%)
+            FoldConstant: 7466us [1533us] (55.41%; 99.94%)
+                    InferType: 5933us [5933us] (44.03%; 79.47%)
 
 
 
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 93b0a706d..cbcd5c0ca 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: 47.083008 ms
+    Convolution: 54.078285 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 449ec9b6a..37eb2ce0c 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: 10.335657 ms
+    conv2d with tensor core: 6.683034 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 43ccf8b94..c96a8873e 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.018194
-    Baseline: 3.297121
+    Numpy running time: 0.017741
+    Baseline: 3.427257
 
 
 
@@ -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.293965
+    Opt1: 0.294868
 
 
 
@@ -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.331174
+    Opt2: 0.330940
 
 
 
@@ -401,7 +401,7 @@ the access pattern for A matrix is more cache friendly.
 
  .. code-block:: none
 
-    Opt3: 0.113974
+    Opt3: 0.112709
 
 
 
@@ -520,7 +520,7 @@ flattening.
 
  .. code-block:: none
 
-    Opt4: 0.110351
+    Opt4: 0.109289
 
 
 
@@ -638,7 +638,7 @@ write to C when all the block results are ready.
 
  .. code-block:: none
 
-    Opt5: 0.110363
+    Opt5: 0.110037
 
 
 
@@ -759,7 +759,7 @@ Futhermore, we can also utilize multi-core processors to do the thread-level par
 
  .. code-block:: none
 
-    Opt6: 0.144820
+    Opt6: 0.144309
 
 
 
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 8f8e848f4..7eb710838 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.473** total execution time for **how_to_optimize_operators** files:
+**00:34.386** total execution time for **how_to_optimize_operators** files:
 
-- **00:31.785**: :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)
-- **00:01.465**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``)
-- **00:01.224**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)
+- **00:32.059**: :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)
+- **00:01.255**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``)
+- **00:01.072**: :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 54857925a..3e8ad1051 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:48.531** total execution time for **how_to_tune_with_autoscheduler** files:
-
-- **02:17.866**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``)
-- **01:17.876**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)
-- **00:39.696**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)
-- **00:16.333**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)
-- **00:08.461**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)
-- **00:08.299**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)
+**03:38.042** total execution time for **how_to_tune_with_autoscheduler** files:
+
+- **01:16.992**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)
+- **01:06.708**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``)
+- **00:39.292**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)
+- **00:18.175**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)
+- **00:08.699**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)
+- **00:08.176**: :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 fc5999996..de0a6df30 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
@@ -191,7 +191,6 @@ file and apply it.
 
 
 
-
 We can lower the schedule to see the IR after auto-scheduling.
 The auto-scheduler correctly performs optimizations including multi-level tiling,
 cooperative fetching, unrolling and operator fusion.
@@ -222,96 +221,809 @@ 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, [16]), storage_scope = local;
-      allocate(pad_temp.shared: Pointer(shared float32), float32, [162]), storage_scope = shared;
-      allocate(kernel.shared: Pointer(shared float32), float32, [576]), storage_scope = shared;
-      attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 98 {
-        conv2d_nchw_1: Buffer(conv2d_nchw, float32, [16], [], scope="local", align=64)[0] = 0f32
+      attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 112;
+      allocate(conv2d_nchw: Pointer(local float32), float32, [4]), storage_scope = local;
+      allocate(pad_temp.shared: Pointer(shared float32), float32, [336]), storage_scope = shared;
+      allocate(kernel.shared: Pointer(shared float32), float32, [1536]), storage_scope = shared;
+      attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56 {
+        conv2d_nchw_1: Buffer(conv2d_nchw, float32, [4], [], scope="local", align=16)[0] = 0f32
         conv2d_nchw_1[1] = 0f32
         conv2d_nchw_1[2] = 0f32
         conv2d_nchw_1[3] = 0f32
-        conv2d_nchw_1[4] = 0f32
-        conv2d_nchw_1[5] = 0f32
-        conv2d_nchw_1[6] = 0f32
-        conv2d_nchw_1[7] = 0f32
-        conv2d_nchw_1[8] = 0f32
-        conv2d_nchw_1[9] = 0f32
-        conv2d_nchw_1[10] = 0f32
-        conv2d_nchw_1[11] = 0f32
-        conv2d_nchw_1[12] = 0f32
-        conv2d_nchw_1[13] = 0f32
-        conv2d_nchw_1[14] = 0f32
-        conv2d_nchw_1[15] = 0f32
-        for (rc.outer.outer: int32, 0, 256) {
-          let cse_var_1: int32 = (rc.outer.outer*18)
+        for (rc.outer.outer: int32, 0, 32) {
+          let cse_var_2: int32 = (rc.outer.outer*784)
+          let cse_var_1: int32 = (rc.outer.outer*144)
            {
-            attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 98 {
-              if @tir.likely((threadIdx.x_1 < 81), dtype=bool) {
-                pad_temp.shared_1: Buffer(pad_temp.shared, float32, [162], [], scope="shared")[(threadIdx.x_1*2)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1*2), 81)) && (floormod((threadIdx.x_1*2), 81) < 72)) && (1 <= floormod((threadIdx.x_1*2), 9))) && (floormod((threadIdx.x_1*2), 9) < 8)), data[(((((rc.outer.outer*98) + (floordiv((threadIdx.x_1*2), 81)*49)) + (floordiv(floormod((threadIdx.x_1*2), 81), 9)*7)) + floormod((threadIdx.x_1*2), 9)) - 8)], 0f32, dtype=float32)
-              }
-              if @tir.likely((threadIdx.x_1 < 81), dtype=bool) {
-                pad_temp.shared_1[((threadIdx.x_1*2) + 1)] = @tir.if_then_else(((((9 <= floormod(((threadIdx.x_1*2) + 1), 81)) && (floormod(((threadIdx.x_1*2) + 1), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*2) + 1), 9))) && (floormod(((threadIdx.x_1*2) + 1), 9) < 8)), data[(((((rc.outer.outer*98) + (floordiv(((threadIdx.x_1*2) + 1), 81)*49)) + (floordiv(floormod(((threadIdx.x_1*2) + 1), 81), 9)*7)) + floormod(((threadIdx.x_1*2) + 1), 9)) - 8)], 0f32, dtype=float32)
-              }
+            attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1: Buffer(pad_temp.shared, float32, [336], [], scope="shared")[threadIdx.x_1] = @tir.if_then_else((((3 <= floormod(threadIdx.x_1, 21)) && (1 <= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)))) && ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) < 8)), data[((((cse_var_2 + (floordiv(threadIdx.x_1, 3)*7)) + floormod(blockIdx.x, 7)) + floormod(threadIdx.x_1, 3)) - 8)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 56)] = @tir.if_then_else((((3 <= floormod((threadIdx.x_1 + 56), 21)) && (1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 56), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 2), 3)) - 8)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 112)] = @tir.if_then_else((((3 <= floormod((threadIdx.x_1 + 112), 21)) && (1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 112), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 1), 3)) - 8)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 168)] = @tir.if_then_else((((3 <= floormod(threadIdx.x_1, 21)) && (1 <= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)))) && ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) < 8)), data[((((cse_var_2 + (floordiv(threadIdx.x_1, 3)*7)) + floormod(blockIdx.x, 7)) + floormod(threadIdx.x_1, 3)) + 384)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 224)] = @tir.if_then_else((((3 <= floormod((threadIdx.x_1 + 224), 21)) && (1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 224), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 2), 3)) - 8)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 280)] = @tir.if_then_else((((3 <= floormod((threadIdx.x_1 + 280), 21)) && (1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 280), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 1), 3)) - 8)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1: Buffer(kernel.shared, float32, [1536], [], scope="shared")[threadIdx.x_2] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv(threadIdx.x_2, 48)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 56)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 7), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 112)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 14), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 168)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 21), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 28), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 224), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 280)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 35), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 280), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 336)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 32256)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 49), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 392), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 56), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 448), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 504)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 63), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 560)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 70), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 560), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 616)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 77), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 616), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 64512)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 728)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 91), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 728), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 784)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 98), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 784), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 840)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 105), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 112), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 896), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 952)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 119), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 952), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1008)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 96768)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1064)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 133), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1064), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 140), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1120), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1176)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 147), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1232)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 154), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1232), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1288)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 161), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1288), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 129024)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1400)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 175), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1400), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1456)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 182), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1456), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            if @tir.likely((threadIdx.x_2 < 24), dtype=bool) {
+              kernel.shared_1[(threadIdx.x_2 + 1512)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 189), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3))]
             }
-            attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 98;
-            kernel.shared_1: Buffer(kernel.shared, float32, [576], [], scope="shared")[threadIdx.x_2] = kernel[((((blockIdx.x*147456) + (floordiv(threadIdx.x_2, 18)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 18))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 98;
-            kernel.shared_1[(threadIdx.x_2 + 98)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 2) + 49), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 18))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 98;
-            kernel.shared_1[(threadIdx.x_2 + 196)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 2) + 98), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 16), 18))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 98;
-            kernel.shared_1[(threadIdx.x_2 + 294)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 2) + 147), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 6), 18))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 98;
-            kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 2) + 196), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 14), 18))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 98;
-            if @tir.likely((threadIdx.x_2 < 86), dtype=bool) {
-              kernel.shared_1[(threadIdx.x_2 + 490)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 2) + 245), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 18))]
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[(floordiv(threadIdx.x, 7)*192)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 48)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 3)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 51)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 6)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 54)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 9)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 57)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 12)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 60)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 15)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 63)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 18)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 66)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 21)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 69)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 24)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 72)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 27)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 75)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 30)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 78)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 33)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 81)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 36)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 84)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 39)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 87)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 42)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 90)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 45)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 93)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 96)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 144)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 99)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 147)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 102)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 150)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 105)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 153)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 108)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 156)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 111)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 159)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 114)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 162)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 117)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 165)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 120)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 168)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 123)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 171)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 126)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 174)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 129)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 177)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 132)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 180)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 135)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 183)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 138)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 186)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 141)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 189)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 1)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 49)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 4)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 52)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 7)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 55)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 10)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 58)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 13)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 61)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 16)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 64)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 19)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 67)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 22)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 70)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 25)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 73)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 28)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 76)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 31)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 79)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 34)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 82)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 37)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 85)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 40)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 88)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 43)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 91)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 46)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 94)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 97)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 145)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 100)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 148)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 103)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 151)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 106)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 154)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 109)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 157)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 112)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 160)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 115)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 163)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 118)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 166)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 121)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 169)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 124)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 172)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 127)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 175)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 130)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 178)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 133)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 181)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 136)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 184)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 139)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 187)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 142)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 190)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 2)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 50)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 5)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 53)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 8)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 56)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 11)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 59)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 14)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 62)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 17)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 65)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 20)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 68)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 23)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 71)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 26)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 74)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 29)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 77)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 32)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 80)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 35)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 83)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 38)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 86)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 41)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 89)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 44)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 92)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 47)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 95)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 98)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 146)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 101)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 149)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 104)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 152)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 107)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 155)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 110)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 158)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 113)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 161)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 116)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 164)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 119)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 167)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 122)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 170)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 125)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 173)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 128)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 176)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 131)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 179)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 134)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 182)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 137)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 185)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 140)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 188)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 143)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 191)]))
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[threadIdx.x_1] = @tir.if_then_else(((1 <= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3))) && ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) < 8)), data[((((cse_var_2 + (floordiv(threadIdx.x_1, 3)*7)) + floormod(blockIdx.x, 7)) + floormod(threadIdx.x_1, 3)) - 1)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 56)] = @tir.if_then_else(((1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 56), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 2), 3)) - 1)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 112)] = @tir.if_then_else(((1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 112), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 1), 3)) - 1)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 168)] = @tir.if_then_else(((1 <= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3))) && ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) < 8)), data[((((cse_var_2 + (floordiv(threadIdx.x_1, 3)*7)) + floormod(blockIdx.x, 7)) + floormod(threadIdx.x_1, 3)) + 391)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 224)] = @tir.if_then_else(((1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 224), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 2), 3)) - 1)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 280)] = @tir.if_then_else(((1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 280), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 1), 3)) - 1)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[threadIdx.x_2] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(threadIdx.x_2, 48)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 56)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 7), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 112)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 14), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 168)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 21), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 28), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 224), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 280)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 35), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 280), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 336)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 32259)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 49), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 392), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 56), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 448), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 504)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 63), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 560)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 70), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 560), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 616)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 77), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 616), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 64515)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 728)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 91), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 728), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 784)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 98), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 784), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 840)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 105), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 112), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 896), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 952)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 119), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 952), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1008)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 96771)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1064)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 133), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1064), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 140), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1120), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1176)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 147), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1232)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 154), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1232), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1288)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 161), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1288), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 129027)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1400)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 175), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1400), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1456)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 182), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1456), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            if @tir.likely((threadIdx.x_2 < 24), dtype=bool) {
+              kernel.shared_1[(threadIdx.x_2 + 1512)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 189), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 3)]
             }
-            for (ff.outer.inner: int32, 0, 2) {
-              for (rc.inner: int32, 0, 2) {
-                for (ry.inner: int32, 0, 3) {
-                  let cse_var_9: int32 = (ff.outer.inner*8)
-                  let cse_var_8: int32 = (cse_var_9 + 7)
-                  let cse_var_7: int32 = (cse_var_9 + 6)
-                  let cse_var_6: int32 = (cse_var_9 + 5)
-                  let cse_var_5: int32 = (cse_var_9 + 4)
-                  let cse_var_4: int32 = (cse_var_9 + 3)
-                  let cse_var_3: int32 = (cse_var_9 + 2)
-                  let cse_var_2: int32 = (cse_var_9 + 1)
-                   {
-                    conv2d_nchw_1[cse_var_9] = (conv2d_nchw_1[cse_var_9] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3))]))
-                    conv2d_nchw_1[cse_var_2] = (conv2d_nchw_1[cse_var_2] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 18)]))
-                    conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 36)]))
-                    conv2d_nchw_1[cse_var_4] = (conv2d_nchw_1[cse_var_4] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 54)]))
-                    conv2d_nchw_1[cse_var_5] = (conv2d_nchw_1[cse_var_5] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 72)]))
-                    conv2d_nchw_1[cse_var_6] = (conv2d_nchw_1[cse_var_6] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 90)]))
-                    conv2d_nchw_1[cse_var_7] = (conv2d_nchw_1[cse_var_7] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 108)]))
-                    conv2d_nchw_1[cse_var_8] = (conv2d_nchw_1[cse_var_8] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 126)]))
-                    conv2d_nchw_1[cse_var_9] = (conv2d_nchw_1[cse_var_9] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 1)]))
-                    conv2d_nchw_1[cse_var_2] = (conv2d_nchw_1[cse_var_2] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 19)]))
-                    conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 37)]))
-                    conv2d_nchw_1[cse_var_4] = (conv2d_nchw_1[cse_var_4] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 55)]))
-                    conv2d_nchw_1[cse_var_5] = (conv2d_nchw_1[cse_var_5] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 73)]))
-                    conv2d_nchw_1[cse_var_6] = (conv2d_nchw_1[cse_var_6] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 91)]))
-                    conv2d_nchw_1[cse_var_7] = (conv2d_nchw_1[cse_var_7] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 109)]))
-                    conv2d_nchw_1[cse_var_8] = (conv2d_nchw_1[cse_var_8] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 127)]))
-                    conv2d_nchw_1[cse_var_9] = (conv2d_nchw_1[cse_var_9] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 2)]))
-                    conv2d_nchw_1[cse_var_2] = (conv2d_nchw_1[cse_var_2] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 20)]))
-                    conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 38)]))
-                    conv2d_nchw_1[cse_var_4] = (conv2d_nchw_1[cse_var_4] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 56)]))
-                    conv2d_nchw_1[cse_var_5] = (conv2d_nchw_1[cse_var_5] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 74)]))
-                    conv2d_nchw_1[cse_var_6] = (conv2d_nchw_1[cse_var_6] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 92)]))
-                    conv2d_nchw_1[cse_var_7] = (conv2d_nchw_1[cse_var_7] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 110)]))
-                    conv2d_nchw_1[cse_var_8] = (conv2d_nchw_1[cse_var_8] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 128)]))
-                  }
-                }
-              }
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[(floordiv(threadIdx.x, 7)*192)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 48)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 3)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 51)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 6)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 54)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 9)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 57)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 12)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 60)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 15)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 63)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 18)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 66)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 21)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 69)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 24)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 72)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 27)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 75)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 30)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 78)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 33)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 81)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 36)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 84)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 39)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 87)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 42)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 90)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 45)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 93)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 96)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 144)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 99)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 147)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 102)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 150)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 105)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 153)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 108)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 156)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 111)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 159)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 114)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 162)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 117)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 165)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 120)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 168)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 123)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 171)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 126)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 174)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 129)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 177)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 132)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 180)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 135)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 183)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 138)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 186)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 141)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 189)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 1)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 49)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 4)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 52)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 7)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 55)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 10)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 58)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 13)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 61)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 16)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 64)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 19)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 67)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 22)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 70)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 25)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 73)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 28)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 76)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 31)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 79)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 34)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 82)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 37)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 85)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 40)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 88)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 43)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 91)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 46)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 94)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 97)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 145)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 100)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 148)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 103)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 151)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 106)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 154)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 109)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 157)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 112)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 160)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 115)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 163)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 118)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 166)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 121)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 169)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 124)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 172)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 127)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 175)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 130)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 178)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 133)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 181)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 136)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 184)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 139)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 187)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 142)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 190)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 2)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 50)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 5)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 53)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 8)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 56)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 11)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 59)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 14)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 62)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 17)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 65)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 20)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 68)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 23)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 71)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 26)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 74)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 29)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 77)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 32)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 80)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 35)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 83)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 38)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 86)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 41)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 89)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 44)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 92)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 47)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 95)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 98)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 146)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 101)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 149)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 104)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 152)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 107)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 155)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 110)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 158)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 113)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 161)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 116)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 164)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 119)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 167)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 122)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 170)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 125)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 173)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 128)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 176)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 131)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 179)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 134)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 182)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 137)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 185)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 140)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 188)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 143)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 191)]))
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[threadIdx.x_1] = @tir.if_then_else((((floormod(threadIdx.x_1, 21) < 18) && (1 <= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)))) && ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) < 8)), data[((((cse_var_2 + (floordiv(threadIdx.x_1, 3)*7)) + floormod(blockIdx.x, 7)) + floormod(threadIdx.x_1, 3)) + 6)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 56)] = @tir.if_then_else((((floormod((threadIdx.x_1 + 56), 21) < 18) && (1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 56), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 2), 3)) + 6)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 112)] = @tir.if_then_else((((floormod((threadIdx.x_1 + 112), 21) < 18) && (1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 112), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 1), 3)) + 6)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 168)] = @tir.if_then_else((((floormod(threadIdx.x_1, 21) < 18) && (1 <= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)))) && ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) < 8)), data[((((cse_var_2 + (floordiv(threadIdx.x_1, 3)*7)) + floormod(blockIdx.x, 7)) + floormod(threadIdx.x_1, 3)) + 398)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 224)] = @tir.if_then_else((((floormod((threadIdx.x_1 + 224), 21) < 18) && (1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 224), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 2), 3)) + 6)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            pad_temp.shared_1[(threadIdx.x_1 + 280)] = @tir.if_then_else((((floormod((threadIdx.x_1 + 280), 21) < 18) && (1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)) < 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 280), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 1), 3)) + 6)], 0f32, dtype=float32)
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[threadIdx.x_2] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(threadIdx.x_2, 48)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 56)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 7), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 112)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 14), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 168)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 21), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 28), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 224), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 280)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 35), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 280), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 336)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 32262)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 49), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 392), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 56), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 448), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 504)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 63), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 560)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 70), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 560), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 616)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 77), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 616), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 64518)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 728)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 91), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 728), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 784)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 98), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 784), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 840)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 105), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 112), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 896), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 952)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 119), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 952), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1008)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 96774)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1064)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 133), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1064), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 140), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1120), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1176)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 147), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1232)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 154), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1232), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1288)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 161), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1288), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 129030)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1400)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 175), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1400), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            kernel.shared_1[(threadIdx.x_2 + 1456)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 182), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1456), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+            if @tir.likely((threadIdx.x_2 < 24), dtype=bool) {
+              kernel.shared_1[(threadIdx.x_2 + 1512)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 189), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 6)]
             }
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[(floordiv(threadIdx.x, 7)*192)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 48)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 3)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 51)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 6)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 54)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 9)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 57)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 12)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 60)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 15)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 63)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 18)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 66)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 21)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 69)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 24)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 72)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 27)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 75)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 30)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 78)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 33)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 81)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 36)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 84)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 39)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 87)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 42)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 90)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 45)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 93)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 96)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 144)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 99)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 147)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 102)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 150)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 105)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 153)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 108)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 156)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 111)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 159)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 114)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 162)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 117)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 165)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 120)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 168)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 123)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 171)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 126)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 174)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 129)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 177)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 132)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 180)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 135)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 183)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 138)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 186)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 141)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 189)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 1)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 49)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 4)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 52)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 7)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 55)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 10)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 58)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 13)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 61)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 16)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 64)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 19)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 67)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 22)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 70)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 25)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 73)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 28)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 76)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 31)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 79)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 34)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 82)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 37)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 85)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 40)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 88)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 43)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 91)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 46)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 94)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 97)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 145)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 100)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 148)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 103)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 151)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 106)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 154)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 109)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 157)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 112)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 160)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 115)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 163)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 118)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 166)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 121)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 169)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 124)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 172)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 127)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 175)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 130)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 178)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 133)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 181)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 136)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 184)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 139)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 187)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 142)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 190)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 2)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 50)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 5)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 53)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 8)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 56)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 11)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 59)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 14)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 62)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 17)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 65)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 20)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 68)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 23)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 71)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 26)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 74)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 29)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 77)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 32)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 80)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 35)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 83)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 38)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 86)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 41)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 89)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 44)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 92)]))
+            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 47)]))
+            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 95)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 98)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 146)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 101)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 149)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 104)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 152)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 107)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 155)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 110)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 158)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 113)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 161)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 116)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 164)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 119)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 167)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 122)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 170)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 125)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 173)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 128)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 176)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 131)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 179)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 134)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 182)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 137)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 185)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 140)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 188)]))
+            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 143)]))
+            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 191)]))
           }
         }
-        for (i1.inner: int32, 0, 16) {
-          compute[((((blockIdx.x*1568) + (floordiv(threadIdx.x, 49)*784)) + (i1.inner*49)) + floormod(threadIdx.x, 49))] = max((conv2d_nchw_1[i1.inner] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 49)*16)) + i1.inner)]), 0f32)
+        for (i1.inner: int32, 0, 4) {
+          compute[(((((floordiv(blockIdx.x, 7)*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + (floormod(threadIdx.x, 7)*7)) + floormod(blockIdx.x, 7))] = max((conv2d_nchw_1[i1.inner] + bias[(((floordiv(blockIdx.x, 7)*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
         }
       }
     }
@@ -408,9 +1120,9 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     conv2d_nchw_nn_o_o_i, conv2d_nchw_nn_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_i, factor=1)
     conv2d_nchw_nn_o_o_o_i, conv2d_nchw_nn_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_i, factor=1)
     conv2d_nchw_nn_o_o_o_o, conv2d_nchw_nn_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_o_i, factor=1)
-    conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=8)
+    conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=2)
     conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=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=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=8)
     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)
@@ -418,26 +1130,26 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     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_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=7)
+    conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=1)
     conv2d_nchw_xx_o_o_o_o, conv2d_nchw_xx_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_o_i, factor=1)
-    conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=2)
+    conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=16)
     conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=1)
-    conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=3)
+    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=3)
-    conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_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)
     s[conv2d_nchw].reorder(conv2d_nchw_nn_o_o_o_o, conv2d_nchw_ff_o_o_o_o, conv2d_nchw_yy_o_o_o_o, conv2d_nchw_xx_o_o_o_o, conv2d_nchw_nn_o_o_o_i, conv2d_nchw_ff_o_o_o_i, conv2d_nchw_yy_o_o_o_i, conv2d_nchw_xx_o_o_o_i, conv2d_nchw_nn_o_o_i, conv2d_nchw_ff_o_o_i, conv2d_nchw_yy_o_o_i, conv2d_nchw_xx_o_o_i, conv2d_nchw_rc_o_o, conv2d_nchw_ry_o_o, conv2d_nchw_rx_o_o, conv2d_nchw_rc_o_i, conv2d_nchw_ry_o_i, conv2d_nchw_rx_o_i, conv2d_nchw_nn_o_i, conv2d_nchw_ff_o_i, conv2d_nchw_yy_o_i, conv2 [...]
     compute_i0_o_i, compute_i0_i = s[compute].split(compute_i0, factor=1)
     compute_i0_o_o_i, compute_i0_o_i = s[compute].split(compute_i0_o_i, factor=1)
     compute_i0_o_o_o, compute_i0_o_o_i = s[compute].split(compute_i0_o_o_i, factor=1)
-    compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=16)
-    compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=2)
+    compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=4)
+    compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=8)
     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_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_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=7)
+    compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=1)
     compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=1)
     s[compute].reorder(compute_i0_o_o_o, compute_i1_o_o_o, compute_i2_o_o_o, compute_i3_o_o_o, compute_i0_o_o_i, compute_i1_o_o_i, compute_i2_o_o_i, compute_i3_o_o_i, compute_i0_o_i, compute_i1_o_i, compute_i2_o_i, compute_i3_o_i, compute_i0_i, compute_i1_i, compute_i2_i, compute_i3_i)
     s[conv2d_nchw].compute_at(s[compute], compute_i3_o_i)
@@ -457,14 +1169,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=98)
+    kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=56)
     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=2)
+    pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
     s[pad_temp_shared].vectorize(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-    pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=98)
+    pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=56)
     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", 64)
+    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, "unroll_explicit", True)
 
     CUDA source code:
@@ -482,76 +1194,708 @@ 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__(98) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
-      float conv2d_nchw[16];
-      __shared__ float pad_temp_shared[162];
-      __shared__ float kernel_shared[576];
+    extern "C" __global__ void __launch_bounds__(56) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
+      float conv2d_nchw[4];
+      __shared__ float pad_temp_shared[336];
+      __shared__ float kernel_shared[1536];
       conv2d_nchw[0] = 0.000000e+00f;
       conv2d_nchw[1] = 0.000000e+00f;
       conv2d_nchw[2] = 0.000000e+00f;
       conv2d_nchw[3] = 0.000000e+00f;
-      conv2d_nchw[4] = 0.000000e+00f;
-      conv2d_nchw[5] = 0.000000e+00f;
-      conv2d_nchw[6] = 0.000000e+00f;
-      conv2d_nchw[7] = 0.000000e+00f;
-      conv2d_nchw[8] = 0.000000e+00f;
-      conv2d_nchw[9] = 0.000000e+00f;
-      conv2d_nchw[10] = 0.000000e+00f;
-      conv2d_nchw[11] = 0.000000e+00f;
-      conv2d_nchw[12] = 0.000000e+00f;
-      conv2d_nchw[13] = 0.000000e+00f;
-      conv2d_nchw[14] = 0.000000e+00f;
-      conv2d_nchw[15] = 0.000000e+00f;
-      for (int rc_outer_outer = 0; rc_outer_outer < 256; ++rc_outer_outer) {
+      for (int rc_outer_outer = 0; rc_outer_outer < 32; ++rc_outer_outer) {
         __syncthreads();
-        if (((int)threadIdx.x) < 81) {
-          pad_temp_shared[(((int)threadIdx.x) * 2)] = (((((9 <= ((((int)threadIdx.x) * 2) % 81)) && (((((int)threadIdx.x) * 2) % 81) < 72)) && (1 <= ((((int)threadIdx.x) * 2) % 9))) && (((((int)threadIdx.x) * 2) % 9) < 8)) ? data[(((((rc_outer_outer * 98) + (((((int)threadIdx.x) * 2) / 81) * 49)) + ((((((int)threadIdx.x) * 2) % 81) / 9) * 7)) + ((((int)threadIdx.x) * 2) % 9)) - 8)] : 0.000000e+00f);
-        }
-        if (((int)threadIdx.x) < 81) {
-          pad_temp_shared[((((int)threadIdx.x) * 2) + 1)] = (((((9 <= (((((int)threadIdx.x) * 2) + 1) % 81)) && ((((((int)threadIdx.x) * 2) + 1) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 2) + 1) % 9))) && ((((((int)threadIdx.x) * 2) + 1) % 9) < 8)) ? data[(((((rc_outer_outer * 98) + ((((((int)threadIdx.x) * 2) + 1) / 81) * 49)) + (((((((int)threadIdx.x) * 2) + 1) % 81) / 9) * 7)) + (((((int)threadIdx.x) * 2) + 1) % 9)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[((int)threadIdx.x)] = ((((3 <= (((int)threadIdx.x) % 21)) && (1 <= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)))) && (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 56)] = ((((3 <= ((((int)threadIdx.x) + 14) % 21)) && (1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 56) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) % 3)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 112)] = ((((3 <= ((((int)threadIdx.x) + 7) % 21)) && (1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 112) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 1) % 3)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 168)] = ((((3 <= (((int)threadIdx.x) % 21)) && (1 <= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)))) && (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) + 384)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 224)] = ((((3 <= ((((int)threadIdx.x) + 14) % 21)) && (1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 224) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) % 3)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 280)] = ((((3 <= ((((int)threadIdx.x) + 7) % 21)) && (1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 280) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 1) % 3)) - 8)] : 0.000000e+00f);
+        kernel_shared[((int)threadIdx.x)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 56)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 56) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 112)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 112) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 168)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 168) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) & 15) * 9)) + (((int)threadIdx.x) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 224)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 224) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 280)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 280) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 336)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 32256)];
+        kernel_shared[(((int)threadIdx.x) + 392)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 392) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 448)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 448) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 504)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 504) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) & 15) * 9)) + (((int)threadIdx.x) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 560)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 560) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 616)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 616) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 672)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 64512)];
+        kernel_shared[(((int)threadIdx.x) + 728)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 728) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 784)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 784) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 840)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 840) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) & 15) * 9)) + (((int)threadIdx.x) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 896)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 896) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 952)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 952) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 96768)];
+        kernel_shared[(((int)threadIdx.x) + 1064)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1064) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1120) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 1176)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1176) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) & 15) * 9)) + (((int)threadIdx.x) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 1232)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1232) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 1288)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1288) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 129024)];
+        kernel_shared[(((int)threadIdx.x) + 1400)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1400) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+        kernel_shared[(((int)threadIdx.x) + 1456)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1456) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+        if (((int)threadIdx.x) < 24) {
+          kernel_shared[(((int)threadIdx.x) + 1512)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1512) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) / 3) + 8) * 9)) + (((int)threadIdx.x) % 3))];
         }
-        kernel_shared[((int)threadIdx.x)] = kernel[((((((int)blockIdx.x) * 147456) + ((((int)threadIdx.x) / 18) * 4608)) + (rc_outer_outer * 18)) + (((int)threadIdx.x) % 18))];
-        kernel_shared[(((int)threadIdx.x) + 98)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 98) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 8) % 18))];
-        kernel_shared[(((int)threadIdx.x) + 196)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 196) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 16) % 18))];
-        kernel_shared[(((int)threadIdx.x) + 294)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 294) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 6) % 18))];
-        kernel_shared[(((int)threadIdx.x) + 392)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 392) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 14) % 18))];
-        if (((int)threadIdx.x) < 86) {
-          kernel_shared[(((int)threadIdx.x) + 490)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 490) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 4) % 18))];
+        __syncthreads();
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[((((int)threadIdx.x) / 7) * 192)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 48)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 3)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 51)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 6)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 54)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 9)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 57)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 12)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 60)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 15)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 63)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 18)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 66)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 21)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 69)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 24)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 72)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 27)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 75)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 30)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 78)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 33)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 81)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 36)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 84)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 39)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 87)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 42)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 90)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 45)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 93)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 96)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 144)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 99)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 147)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 102)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 150)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 105)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 153)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 108)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 156)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 111)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 159)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 114)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 162)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 117)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 165)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 120)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 168)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 123)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 171)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 126)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 174)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 129)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 177)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 132)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 180)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 135)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 183)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 138)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 186)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 141)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 189)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 1)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 49)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 4)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 52)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 7)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 55)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 10)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 58)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 13)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 61)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 16)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 64)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 19)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 67)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 22)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 70)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 25)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 73)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 28)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 76)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 31)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 79)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 34)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 82)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 37)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 85)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 40)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 88)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 43)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 91)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 46)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 94)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 97)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 145)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 100)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 148)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 103)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 151)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 106)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 154)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 109)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 157)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 112)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 160)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 115)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 163)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 118)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 166)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 121)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 169)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 124)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 172)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 127)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 175)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 130)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 178)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 133)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 181)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 136)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 184)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 139)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 187)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 142)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 190)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 2)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 50)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 5)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 53)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 8)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 56)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 11)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 59)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 14)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 62)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 17)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 65)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 20)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 68)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 23)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 71)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 26)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 74)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 29)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 77)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 32)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 80)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 35)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 83)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 38)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 86)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 41)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 89)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 44)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 92)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 47)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 95)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 98)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 146)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 101)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 149)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 104)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 152)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 107)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 155)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 110)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 158)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 113)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 161)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 116)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 164)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 119)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 167)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 122)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 170)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 125)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 173)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 128)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 176)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 131)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 179)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 134)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 182)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 137)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 185)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 140)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 188)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 143)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 191)]));
+        __syncthreads();
+        pad_temp_shared[((int)threadIdx.x)] = (((1 <= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3))) && (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) - 1)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 56)] = (((1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 56) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) % 3)) - 1)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 112)] = (((1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 112) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 1) % 3)) - 1)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 168)] = (((1 <= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3))) && (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) + 391)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 224)] = (((1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 224) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) % 3)) - 1)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 280)] = (((1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 280) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 1) % 3)) - 1)] : 0.000000e+00f);
+        kernel_shared[((int)threadIdx.x)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 56)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 56) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 112)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 112) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 168)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 168) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) & 15) * 9)) + (((int)threadIdx.x) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 224)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 224) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 280)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 280) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 336)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 32259)];
+        kernel_shared[(((int)threadIdx.x) + 392)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 392) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 448) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 504)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 504) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) & 15) * 9)) + (((int)threadIdx.x) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 560)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 560) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 616)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 616) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 672)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 64515)];
+        kernel_shared[(((int)threadIdx.x) + 728)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 728) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 784)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 784) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 840)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 840) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) & 15) * 9)) + (((int)threadIdx.x) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 896) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 952)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 952) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 96771)];
+        kernel_shared[(((int)threadIdx.x) + 1064)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1064) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1120) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 1176)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1176) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) & 15) * 9)) + (((int)threadIdx.x) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 1232)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1232) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 1288)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1288) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 129027)];
+        kernel_shared[(((int)threadIdx.x) + 1400)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1400) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+        kernel_shared[(((int)threadIdx.x) + 1456)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1456) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+        if (((int)threadIdx.x) < 24) {
+          kernel_shared[(((int)threadIdx.x) + 1512)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1512) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) / 3) + 8) * 9)) + (((int)threadIdx.x) % 3)) + 3)];
         }
         __syncthreads();
-        for (int ff_outer_inner = 0; ff_outer_inner < 2; ++ff_outer_inner) {
-          for (int rc_inner = 0; rc_inner < 2; ++rc_inner) {
-            for (int ry_inner = 0; ry_inner < 3; ++ry_inner) {
-              conv2d_nchw[(ff_outer_inner * 8)] = (conv2d_nchw[(ff_outer_inner * 8)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[(((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3))]));
-              conv2d_nchw[((ff_outer_inner * 8) + 1)] = (conv2d_nchw[((ff_outer_inner * 8) + 1)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 18)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 2)] = (conv2d_nchw[((ff_outer_inner * 8) + 2)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 36)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 3)] = (conv2d_nchw[((ff_outer_inner * 8) + 3)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 54)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 4)] = (conv2d_nchw[((ff_outer_inner * 8) + 4)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 72)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 5)] = (conv2d_nchw[((ff_outer_inner * 8) + 5)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 90)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 6)] = (conv2d_nchw[((ff_outer_inner * 8) + 6)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 108)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 7)] = (conv2d_nchw[((ff_outer_inner * 8) + 7)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 126)]));
-              conv2d_nchw[(ff_outer_inner * 8)] = (conv2d_nchw[(ff_outer_inner * 8)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 1)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 1)] = (conv2d_nchw[((ff_outer_inner * 8) + 1)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 19)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 2)] = (conv2d_nchw[((ff_outer_inner * 8) + 2)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 37)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 3)] = (conv2d_nchw[((ff_outer_inner * 8) + 3)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 55)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 4)] = (conv2d_nchw[((ff_outer_inner * 8) + 4)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 73)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 5)] = (conv2d_nchw[((ff_outer_inner * 8) + 5)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 91)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 6)] = (conv2d_nchw[((ff_outer_inner * 8) + 6)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 109)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 7)] = (conv2d_nchw[((ff_outer_inner * 8) + 7)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 127)]));
-              conv2d_nchw[(ff_outer_inner * 8)] = (conv2d_nchw[(ff_outer_inner * 8)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 2)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 1)] = (conv2d_nchw[((ff_outer_inner * 8) + 1)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 20)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 2)] = (conv2d_nchw[((ff_outer_inner * 8) + 2)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 38)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 3)] = (conv2d_nchw[((ff_outer_inner * 8) + 3)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 56)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 4)] = (conv2d_nchw[((ff_outer_inner * 8) + 4)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 74)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 5)] = (conv2d_nchw[((ff_outer_inner * 8) + 5)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 92)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 6)] = (conv2d_nchw[((ff_outer_inner * 8) + 6)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 110)]));
-              conv2d_nchw[((ff_outer_inner * 8) + 7)] = (conv2d_nchw[((ff_outer_inner * 8) + 7)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 128)]));
-            }
-          }
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[((((int)threadIdx.x) / 7) * 192)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 48)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 3)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 51)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 6)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 54)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 9)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 57)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 12)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 60)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 15)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 63)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 18)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 66)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 21)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 69)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 24)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 72)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 27)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 75)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 30)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 78)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 33)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 81)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 36)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 84)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 39)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 87)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 42)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 90)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 45)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 93)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 96)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 144)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 99)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 147)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 102)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 150)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 105)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 153)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 108)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 156)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 111)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 159)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 114)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 162)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 117)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 165)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 120)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 168)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 123)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 171)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 126)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 174)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 129)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 177)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 132)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 180)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 135)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 183)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 138)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 186)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 141)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 189)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 1)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 49)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 4)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 52)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 7)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 55)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 10)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 58)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 13)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 61)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 16)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 64)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 19)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 67)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 22)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 70)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 25)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 73)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 28)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 76)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 31)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 79)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 34)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 82)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 37)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 85)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 40)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 88)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 43)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 91)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 46)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 94)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 97)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 145)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 100)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 148)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 103)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 151)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 106)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 154)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 109)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 157)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 112)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 160)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 115)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 163)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 118)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 166)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 121)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 169)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 124)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 172)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 127)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 175)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 130)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 178)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 133)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 181)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 136)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 184)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 139)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 187)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 142)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 190)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 2)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 50)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 5)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 53)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 8)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 56)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 11)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 59)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 14)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 62)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 17)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 65)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 20)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 68)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 23)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 71)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 26)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 74)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 29)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 77)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 32)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 80)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 35)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 83)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 38)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 86)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 41)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 89)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 44)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 92)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 47)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 95)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 98)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 146)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 101)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 149)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 104)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 152)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 107)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 155)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 110)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 158)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 113)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 161)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 116)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 164)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 119)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 167)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 122)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 170)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 125)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 173)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 128)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 176)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 131)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 179)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 134)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 182)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 137)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 185)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 140)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 188)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 143)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 191)]));
+        __syncthreads();
+        pad_temp_shared[((int)threadIdx.x)] = (((((((int)threadIdx.x) % 21) < 18) && (1 <= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)))) && (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) + 6)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 56)] = ((((((((int)threadIdx.x) + 14) % 21) < 18) && (1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 56) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) % 3)) + 6)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 112)] = ((((((((int)threadIdx.x) + 7) % 21) < 18) && (1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 112) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 1) % 3)) + 6)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 168)] = (((((((int)threadIdx.x) % 21) < 18) && (1 <= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)))) && (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) + 398)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 224)] = ((((((((int)threadIdx.x) + 14) % 21) < 18) && (1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 224) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) % 3)) + 6)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 280)] = ((((((((int)threadIdx.x) + 7) % 21) < 18) && (1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 280) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 1) % 3)) + 6)] : 0.000000e+00f);
+        kernel_shared[((int)threadIdx.x)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 56)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 56) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 112)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 112) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 168)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 168) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) & 15) * 9)) + (((int)threadIdx.x) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 224)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 224) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 280)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 280) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 336)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 32262)];
+        kernel_shared[(((int)threadIdx.x) + 392)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 392) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 448) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 504)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 504) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) & 15) * 9)) + (((int)threadIdx.x) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 560)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 560) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 616)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 616) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 672)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 64518)];
+        kernel_shared[(((int)threadIdx.x) + 728)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 728) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 784)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 784) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 840)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 840) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) & 15) * 9)) + (((int)threadIdx.x) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 896) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 952)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 952) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 96774)];
+        kernel_shared[(((int)threadIdx.x) + 1064)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1064) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1120) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 1176)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1176) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) & 15) * 9)) + (((int)threadIdx.x) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 1232)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1232) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 1288)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1288) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 129030)];
+        kernel_shared[(((int)threadIdx.x) + 1400)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1400) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+        kernel_shared[(((int)threadIdx.x) + 1456)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1456) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+        if (((int)threadIdx.x) < 24) {
+          kernel_shared[(((int)threadIdx.x) + 1512)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1512) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) / 3) + 8) * 9)) + (((int)threadIdx.x) % 3)) + 6)];
         }
+        __syncthreads();
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[((((int)threadIdx.x) / 7) * 192)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 48)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 3)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 51)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 6)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 54)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 9)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 57)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 12)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 60)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 15)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 63)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 18)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 66)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 21)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 69)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 24)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 72)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 27)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 75)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 30)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 78)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 33)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 81)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 36)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 84)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 39)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 87)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 42)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 90)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 45)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 93)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 96)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 144)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 99)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 147)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 102)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 150)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 105)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 153)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 108)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 156)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 111)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 159)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 114)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 162)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 117)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 165)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 120)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 168)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 123)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 171)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 126)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 174)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 129)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 177)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 132)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 180)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 135)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 183)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 138)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 186)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 141)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 189)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 1)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 49)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 4)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 52)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 7)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 55)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 10)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 58)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 13)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 61)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 16)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 64)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 19)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 67)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 22)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 70)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 25)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 73)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 28)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 76)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 31)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 79)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 34)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 82)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 37)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 85)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 40)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 88)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 43)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 91)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 46)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 94)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 97)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 145)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 100)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 148)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 103)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 151)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 106)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 154)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 109)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 157)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 112)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 160)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 115)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 163)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 118)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 166)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 121)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 169)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 124)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 172)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 127)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 175)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 130)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 178)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 133)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 181)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 136)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 184)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 139)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 187)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 142)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 190)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 2)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 50)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 5)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 53)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 8)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 56)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 11)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 59)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 14)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 62)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 17)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 65)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 20)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 68)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 23)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 71)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 26)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 74)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 29)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 77)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 32)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 80)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 35)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 83)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 38)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 86)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 41)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 89)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 44)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 92)]));
+        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 47)]));
+        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 95)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 98)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 146)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 101)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 149)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 104)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 152)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 107)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 155)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 110)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 158)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 113)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 161)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 116)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 164)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 119)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 167)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 122)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 170)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 125)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 173)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 128)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 176)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 131)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 179)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 134)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 182)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 137)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 185)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 140)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 188)]));
+        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 143)]));
+        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 191)]));
       }
-      for (int i1_inner = 0; i1_inner < 16; ++i1_inner) {
-        compute[((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 49) * 784)) + (i1_inner * 49)) + (((int)threadIdx.x) % 49))] = max((conv2d_nchw[i1_inner] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 49) * 16)) + i1_inner)]), 0.000000e+00f);
+      for (int i1_inner = 0; i1_inner < 4; ++i1_inner) {
+        compute[((((((((int)blockIdx.x) / 7) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + ((((int)threadIdx.x) % 7) * 7)) + (((int)blockIdx.x) % 7))] = max((conv2d_nchw[i1_inner] + bias[((((((int)blockIdx.x) / 7) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
       }
     }
 
@@ -610,7 +1954,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  17.866 seconds)
+   **Total running time of the script:** ( 1 minutes  6.708 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 79b0f5e54..a527f44e2 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
@@ -616,7 +616,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.6355       9.6521       9.6627       9.5918       0.0312   
+       9.6506       9.6454       9.6917       9.6147       0.0317   
                
 
 
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 fe9709ce8..20b4598e4 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
@@ -635,7 +635,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)  
-      761.3443     760.9839     762.2875     760.7615      0.6731   
+      744.9859     744.6094     745.7664     744.5819      0.5520   
                
 
 
@@ -660,7 +660,7 @@ Other Tips
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  17.876 seconds)
+   **Total running time of the script:** ( 1 minutes  16.992 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 5879bfaa4..c7133f98e 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
@@ -330,7 +330,6 @@ file and apply it.
 
 
 
-
 We can lower the schedule to see the IR after auto-scheduling.
 The auto-scheduler correctly performs optimizations including multi-level tiling,
 layout transformation, parallelization, vectorization, unrolling, and operator fusion.
@@ -362,76 +361,30 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
                  placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [65536], []),
                  compute: Buffer(compute_2: Pointer(float32), float32, [65536], [])}
       buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute}
-      preflattened_buffer_map = {placeholder_9: placeholder_15: Buffer(placeholder_14, float32, [128, 512], []), placeholder_6: placeholder_16: Buffer(placeholder_11, float32, [4916, 16, 1], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_7: placeholder_17: Buffer(placeholder_12, int32, [4916], []), placeholder_8: placeholder_18: Buffer(placeholder_13, int32, [33], []), placeholder_5: placeholder_19: Buffer(placeholder_10, float32, [128, 256], [])} {
-      for (i0.outer.i1.outer.fused: int32, 0, 128) "parallel" {
-        allocate(compute_4: Pointer(global float32), float32, [512]), storage_scope = global {
-          for (i.outer.inner: int32, 0, 8) {
-            for (i.inner.init: int32, 0, 4) {
-              let cse_var_1: int32 = ((i.outer.inner*64) + (i.inner.init*16))
-               {
-                compute_5: Buffer(compute_4, float32, [512], [])[cse_var_1] = 0f32
-                compute_5[(cse_var_1 + 1)] = 0f32
-                compute_5[(cse_var_1 + 2)] = 0f32
-                compute_5[(cse_var_1 + 3)] = 0f32
-                compute_5[(cse_var_1 + 4)] = 0f32
-                compute_5[(cse_var_1 + 5)] = 0f32
-                compute_5[(cse_var_1 + 6)] = 0f32
-                compute_5[(cse_var_1 + 7)] = 0f32
-                compute_5[(cse_var_1 + 8)] = 0f32
-                compute_5[(cse_var_1 + 9)] = 0f32
-                compute_5[(cse_var_1 + 10)] = 0f32
-                compute_5[(cse_var_1 + 11)] = 0f32
-                compute_5[(cse_var_1 + 12)] = 0f32
-                compute_5[(cse_var_1 + 13)] = 0f32
-                compute_5[(cse_var_1 + 14)] = 0f32
-                compute_5[(cse_var_1 + 15)] = 0f32
+      preflattened_buffer_map = {placeholder_8: placeholder_15: Buffer(placeholder_13, int32, [33], []), placeholder_9: placeholder_16: Buffer(placeholder_14, float32, [128, 512], []), placeholder_7: placeholder_17: Buffer(placeholder_12, int32, [4916], []), placeholder_5: placeholder_18: Buffer(placeholder_10, float32, [128, 256], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_6: placeholder_19: Buffer(placeholder_11, float32, [4916, 16, 1], [])} {
+      for (i0.outer.i1.outer.fused: int32, 0, 16) "parallel" {
+        allocate(compute_4: Pointer(global float32), float32, [4096]), storage_scope = global {
+          for (i.outer.inner: int32, 0, 32) {
+            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, [4096], [])[((((i.outer.inner*128) + (i.inner.init*32)) + (nb_j.inner*16)) + j.init)] = 0f32
+                }
               }
-            }
-            for (elem_idx: int32, 0, let cse_var_2: int32 = floormod(i0.outer.i1.outer.fused, 32) in (placeholder_3[(cse_var_2 + 1)] - placeholder_3[cse_var_2])) {
-              for (i.inner: int32, 0, 4) {
-                let cse_var_21: int32 = floormod(i0.outer.i1.outer.fused, 32)
-                let cse_var_20: int32 = (elem_idx*16)
-                let cse_var_19: int32 = ((i.outer.inner*64) + (i.inner*16))
-                let cse_var_18: int32 = (cse_var_19 + 10)
-                let cse_var_17: int32 = (cse_var_19 + 11)
-                let cse_var_16: int32 = (cse_var_19 + 12)
-                let cse_var_15: int32 = (cse_var_19 + 13)
-                let cse_var_14: int32 = (cse_var_19 + 14)
-                let cse_var_13: int32 = (cse_var_19 + 15)
-                let cse_var_12: int32 = (cse_var_19 + 2)
-                let cse_var_11: int32 = (cse_var_19 + 3)
-                let cse_var_10: int32 = (cse_var_19 + 4)
-                let cse_var_9: int32 = (cse_var_19 + 5)
-                let cse_var_8: int32 = (cse_var_19 + 6)
-                let cse_var_7: int32 = (cse_var_19 + 7)
-                let cse_var_6: int32 = (cse_var_19 + 8)
-                let cse_var_5: int32 = (cse_var_19 + 9)
-                let cse_var_4: int32 = (cse_var_19 + 1)
-                let cse_var_3: int32 = (((floordiv(i0.outer.i1.outer.fused, 32)*8192) + (i.outer.inner*1024)) + (i.inner*256))
-                 {
-                  compute_5[cse_var_19] = (compute_5[cse_var_19] + (placeholder_1[((placeholder_3[cse_var_21]*16) + cse_var_20)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 1)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_12] = (compute_5[cse_var_12] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 2)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_11] = (compute_5[cse_var_11] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 3)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_10] = (compute_5[cse_var_10] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 4)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_9] = (compute_5[cse_var_9] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 5)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_8] = (compute_5[cse_var_8] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 6)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_7] = (compute_5[cse_var_7] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 7)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_6] = (compute_5[cse_var_6] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 8)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_5] = (compute_5[cse_var_5] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 9)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_18] = (compute_5[cse_var_18] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 10)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_17] = (compute_5[cse_var_17] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 11)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_16] = (compute_5[cse_var_16] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 12)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_15] = (compute_5[cse_var_15] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 13)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_14] = (compute_5[cse_var_14] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 14)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_13] = (compute_5[cse_var_13] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 15)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
+              for (elem_idx: int32, 0, let cse_var_1: int32 = ((i0.outer.i1.outer.fused*2) + nb_j.inner) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
+                for (i.inner: int32, 0, 4) {
+                  for (j: int32, 0, 16) {
+                    let cse_var_3: int32 = ((i0.outer.i1.outer.fused*2) + nb_j.inner)
+                    let cse_var_2: int32 = ((((i.outer.inner*128) + (i.inner*32)) + (nb_j.inner*16)) + j)
+                    compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[(((i.outer.inner*1024) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
+                  }
                 }
               }
             }
           }
-          for (i0.inner: int32, 0, 32) {
-            let cse_var_22: int32 = (((floordiv(i0.outer.i1.outer.fused, 32)*16384) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 32)*16))
-            compute[ramp(cse_var_22, 1, 16)] = max((compute_5[ramp((i0.inner*16), 1, 16)] + placeholder_4[ramp(cse_var_22, 1, 16)]), broadcast(0f32, 16))
+          for (i0.inner: int32, 0, 128) {
+            let cse_var_4: int32 = ((i0.inner*512) + (i0.outer.i1.outer.fused*32))
+            compute[ramp(cse_var_4, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_4, 1, 32)]), broadcast(0f32, 32))
           }
         }
       }
@@ -485,7 +438,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 2.110 ms
+    Execution time of this operator: 1.440 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 5de443520..df95756dd 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.094** total execution time for **how_to_tune_with_autotvm** files:
+**00:44.817** total execution time for **how_to_tune_with_autotvm** files:
 
-- **00:43.272**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)
-- **00:00.216**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)
-- **00:00.203**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``)
-- **00:00.203**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``)
-- **00:00.200**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_arm.py` (``tune_relay_arm.py``)
+- **00:44.032**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)
+- **00:00.203**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)
+- **00:00.195**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``)
+- **00:00.194**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``)
+- **00:00.192**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_arm.py` (``tune_relay_arm.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 50b5b2d02..0a7dda20a 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: 42.27/42.27     result: MeasureResult(costs=(0.005476408368421053,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5698997974395752, timestamp=1653899414.3861299)       [('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.27      result: Traceback (most recent call last):
+    No: 6   GFLOPS: 93.91/93.91     result: MeasureResult(costs=(0.002465157041666667,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.1335020065307617, timestamp=1653916922.257216)        [('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/93.91      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/42.27      result: Traceback (most recent call last):
+    No: 8   GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+    No: 9   GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+    No: 10  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+    No: 11  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+    No: 12  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+    No: 13  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+    No: 14  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+    No: 15  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+    No: 16  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+    No: 17  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+    No: 18  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+    No: 19  GFLOPS: 0.00/93.91      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: 0x00007f12a31affa2
+      12: 0x00007fc958e59fa2
       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.41/144.41   result: MeasureResult(costs=(0.0016030944600000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.431628942489624, timestamp=1653899440.7778516)       [('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.99/144.99   result: MeasureResult(costs=(0.0015966614899999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3704805374145508, timestamp=1653916940.8917131)      [('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.001997
+    Time cost of this operator: 0.001993
 
 
 
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 c6930885b..d1ba8a1fb 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
@@ -294,10 +294,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  349.5     98.872   (1, 2, 10, 10, 3)  2       1        
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.079     0.871    (1, 6, 10, 10)     1       1        
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.907     0.257    (1, 1, 10, 10, 3)  1       1        
-    Total_time                                    -                                             353.486   -        -                  -       -        
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  311.3     98.755   (1, 2, 10, 10, 3)  2       1        
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.018     0.957    (1, 6, 10, 10)     1       1        
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.907     0.288    (1, 1, 10, 10, 3)  1       1        
+    Total_time                                    -                                             315.225   -        -                  -       -        
 
 
 
@@ -359,10 +359,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  219.4     98.777   (1, 1, 10, 10, 6)  2       1        
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.9       0.855    (1, 6, 10, 10)     1       1        
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.816     0.367    (1, 3, 10, 10, 1)  1       1        
-    Total_time                                    -                                             222.116   -        -                  -       -        
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  119.5     97.823   (1, 6, 10, 10, 1)  2       1        
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.714     1.403    (1, 6, 10, 10)     1       1        
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.945     0.774    (1, 1, 10, 10, 3)  1       1        
+    Total_time                                    -                                             122.159   -        -                  -       -        
 
 
 
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 d3bb8f958..84e7990bf 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.699** total execution time for **how_to_work_with_microtvm** files:
+**00:45.112** total execution time for **how_to_work_with_microtvm** files:
 
-- **00:41.541**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)
-- **00:03.588**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)
-- **00:00.197**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_ethosu.py` (``micro_ethosu.py``)
-- **00:00.192**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tvmc.py` (``micro_tvmc.py``)
-- **00:00.182**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_reference_vm.py` (``micro_reference_vm.py``)
+- **00:41.164**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)
+- **00:03.392**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)
+- **00:00.191**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_ethosu.py` (``micro_ethosu.py``)
+- **00:00.187**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tvmc.py` (``micro_tvmc.py``)
+- **00:00.178**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_reference_vm.py` (``micro_reference_vm.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 67a36550f..f6cf52cae 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:12.040** total execution time for **how_to_work_with_relay** files:
+**00:04.957** total execution time for **how_to_work_with_relay** files:
 
-- **00:10.081**: :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)
-- **00:01.754**: :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)
-- **00:00.204**: :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``)
+- **00:03.396**: :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)
+- **00:01.361**: :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)
+- **00:00.200**: :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 19afc5141..c880a18bf 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.586** total execution time for **how_to_work_with_schedules** files:
+**00:04.784** total execution time for **how_to_work_with_schedules** files:
 
-- **00:02.069**: :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)
-- **00:01.147**: :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)
-- **00:00.713**: :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)
-- **00:00.700**: :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)
-- **00:00.296**: :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)
-- **00:00.229**: :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``)
-- **00:00.224**: :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)
-- **00:00.208**: :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)
+- **00:01.822**: :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)
+- **00:00.748**: :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)
+- **00:00.646**: :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)
+- **00:00.635**: :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)
+- **00:00.287**: :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)
+- **00:00.223**: :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``)
+- **00:00.217**: :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)
+- **00:00.206**: :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 7fbe753ac..ec58a0c2c 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/tmp6uxfu15a/input0.cc'\nsource_filename = \"/tmp/tmp6uxfu15a/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/tmpf566bsfp/input0.cc'\nsource_filename = \"/tmp/tmpf566bsfp/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 cfd7b75ac..53430537d 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.041** total execution time for **topic_vta_tutorials_autotvm** files:
+**00:19.837** total execution time for **topic_vta_tutorials_autotvm** files:
 
-- **00:19.850**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``)
-- **00:00.191**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``)
+- **00:19.647**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``)
+- **00:00.189**: :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 a4ad76353..748ac4a6a 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
@@ -267,7 +267,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.05s!
+    resnet18_v1 inference graph built in 20.71s!
 
 
 
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 fb86e450f..9d8054cff 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
@@ -303,7 +303,7 @@ The compilation steps are:
       "target_host parameter is going to be deprecated. "
     /workspace/python/tvm/relay/build_module.py:389: DeprecationWarning: Please use input parameter mod (tvm.IRModule) instead of deprecated parameter mod (tvm.relay.function.Function)
       DeprecationWarning,
-    yolov3-tiny inference graph built in 14.73s!
+    yolov3-tiny inference graph built in 14.58s!
 
 
 
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 6808c5188..3de6e8f52 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:28.008** total execution time for **topic_vta_tutorials_frontend** files:
+**01:27.659** total execution time for **topic_vta_tutorials_frontend** files:
 
-- **00:46.874**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)
-- **00:41.134**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``)
+- **00:47.054**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)
+- **00:40.605**: :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 71d27d947..626df4843 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.535** total execution time for **topic_vta_tutorials_optimize** files:
+**00:03.339** total execution time for **topic_vta_tutorials_optimize** files:
 
-- **00:02.991**: :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)
-- **00:00.544**: :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``)
+- **00:02.866**: :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)
+- **00:00.473**: :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 97b350528..4bd07ac68 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:00.990** total execution time for **topic_vta_tutorials** files:
+**00:00.837** total execution time for **topic_vta_tutorials** files:
 
-- **00:00.499**: :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``)
-- **00:00.490**: :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``)
+- **00:00.423**: :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``)
+- **00:00.414**: :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 34f68c117..36278d699 100644
--- a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
@@ -188,7 +188,6 @@ trials, we can load the best schedule from the log file and apply it.
 
 
 
-
 Inspecting the Optimized Schedule
 ---------------------------------
 We can lower the schedule to see the IR after auto-scheduling.  The
@@ -306,7 +305,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 93.395 ms
+    Execution time of this operator: 93.418 ms
 
 
 
@@ -415,11 +414,6 @@ Expression (TE) language that demonstrates how TVM can optimize computational
 operations.
 
 
-.. rst-class:: sphx-glr-timing
-
-   **Total running time of the script:** ( 1 minutes  2.554 seconds)
-
-
 .. _sphx_glr_download_tutorial_auto_scheduler_matmul_x86.py:
 
 
diff --git a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
index f9b262e37..d96f2ee07 100644
--- a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
@@ -280,7 +280,7 @@ standard deviation.
 
  .. code-block:: none
 
-    {'mean': 491.80542134999996, 'median': 491.4629161500045, 'std': 1.2204966313942105}
+    {'mean': 487.67396074001226, 'median': 487.7071456000067, 'std': 0.17591119226728286}
 
 
 
@@ -494,31 +494,29 @@ the tuning data to.
 
  .. code-block:: none
 
-
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:   17.55/  17.55 GFLOPS | Progress: (4/20) | 5.93 s
    [Task  1/25]  Current/Best:    6.17/  17.55 GFLOPS | Progress: (8/20) | 8.82 s
    [Task  1/25]  Current/Best:   11.57/  22.71 GFLOPS | Progress: (12/20) | 11.21 s
    [Task  1/25]  Current/Best:   16.84/  22.87 GFLOPS | Progress: (16/20) | 12.87 s
    [Task  1/25]  Current/Best:   11.62/  23.82 GFLOPS | Progress: (20/20) | 14.59 s Done.
-
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:   12.35/  12.93 GFLOPS | Progress: (4/20) | 3.68 s
    [Task  2/25]  Current/Best:   14.16/  18.78 GFLOPS | Progress: (8/20) | 4.99 s
    [Task  2/25]  Current/Best:   21.14/  21.14 GFLOPS | Progress: (12/20) | 6.29 s
    [Task  2/25]  Current/Best:   13.03/  21.14 GFLOPS | Progress: (16/20) | 7.52 s
    [Task  2/25]  Current/Best:   19.44/  21.14 GFLOPS | Progress: (20/20) | 9.10 s Done.
-
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  3/25]  Current/Best:    1.63/  10.58 GFLOPS | Progress: (4/20) | 5.76 s
    [Task  3/25]  Current/Best:   15.56/  16.84 GFLOPS | Progress: (8/20) | 7.68 s
    [Task  3/25]  Current/Best:   14.89/  16.84 GFLOPS | Progress: (12/20) | 9.38 s
    [Task  3/25]  Current/Best:    7.19/  23.79 GFLOPS | Progress: (16/20) | 11.27 s
    [Task  3/25]  Current/Best:   12.58/  23.79 GFLOPS | Progress: (20/20) | 15.75 s Done.
-
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:    9.48/  20.41 GFLOPS | Progress: (4/20) | 2.28 s
    [Task  4/25]  Current/Best:    6.70/  20.41 GFLOPS | Progress: (8/20) | 6.58 s
    [Task  4/25]  Current/Best:   22.48/  22.48 GFLOPS | Progress: (12/20) | 10.95 s
    [Task  4/25]  Current/Best:   16.74/  22.48 GFLOPS | Progress: (16/20) | 13.13 s
    [Task  4/25]  Current/Best:   12.78/  22.48 GFLOPS | Progress: (20/20) | 15.15 s Done.
-
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:    9.80/  10.38 GFLOPS | Progress: (4/20) | 2.49 s
    [Task  5/25]  Current/Best:   11.78/  12.76 GFLOPS | Progress: (8/20) | 4.56 s
    [Task  5/25]  Current/Best:   11.68/  18.14 GFLOPS | Progress: (12/20) | 7.64 s
    [Task  5/25]  Current/Best:   11.93/  22.84 GFLOPS | Progress: (16/20) | 9.06 s
    [Task  5/25]  Current/Best:   12.09/  22.84 GFLOPS | Progress: (20/20) | 10.86 s Done.
-
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:   12.18/  20.68 GFLOPS | Progress: (4/20) | 3.84 s
    [Task  6/25]  Current/Best:   19.04/  20.68 GFLOPS | Progress: (8/20) | 5.58 s
    [Task  6/25]  Current/Best:   13.34/  20.68 GFLOPS | Progress: (12/20) | 7.49 s
    [Task  6/25]  Current/Best:   19.99/  20.68 GFLOPS | Progress: (16/20) | 9.72 s
    [Task  6/25]  Current/Best:    3.74/  20.68 GFLOPS | Progress: (20/20) | 12.21 s Done.
-
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   11.31/  12.78 GFLOPS | Progress: (4/20) | 3.50 s
    [Task  7/25]  Current/Best:   20.35/  21.10 GFLOPS | Progress: (8/20) | 4.98 s
    [Task  7/25]  Current/Best:   16.08/  21.10 GFLOPS | Progress: (12/20) | 6.85 s
    [Task  7/25]  Current/Best:   12.29/  21.10 GFLOPS | Progress: (16/20) | 8.86 s
    [Task  7/25]  Current/Best:    6.41/  21.85 GFLOPS | Progress: (20/20) | 11.30 s Done.
-
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:   10.00/  13.99 GFLOPS | Progress: (4/20) | 2.84 s
    [Task  8/25]  Current/Best:    9.54/  13.99 GFLOPS | Progress: (8/20) | 7.56 s
    [Task  8/25]  Current/Best:   12.82/  13.99 GFLOPS | Progress: (12/20) | 13.58 s
    [Task  8/25]  Current/Best:   18.83/  18.83 GFLOPS | Progress: (16/20) | 15.65 s
    [Task  8/25]  Current/Best:   19.94/  19.94 GFLOPS | Progress: (20/20) | 22.07 s Done.
-
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:   14.28/  15.59 GFLOPS | Progress: (4/20) | 11.88 s
    [Task  9/25]  Current/Best:   23.39/  23.39 GFLOPS | Progress: (8/20) | 13.62 s
    [Task  9/25]  Current/Best:    8.29/  23.39 GFLOPS | Progress: (12/20) | 15.96 s
    [Task  9/25]  Current/Best:   17.97/  23.39 GFLOPS | Progress: (16/20) | 18.61 s
    [Task  9/25]  Current/Best:    9.16/  23.39 GFLOPS | Progress: (20/20) | 26.22 s
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:   18.16/  18.16 GFLOPS | Progress: (4/20) | 2.49 s
    [Task 10/25]  Current/Best:   15.55/  18.16 GFLOPS | Progress: (8/20) | 4.05 s
    [Task 10/25]  Current/Best:   12.56/  18.79 GFLOPS | Progress: (12/20) | 5.55 s
    [Task 10/25]  Current/Best:   19.09/  20.42 GFLOPS | Progress: (16/20) | 6.65 s
    [Task 10/25]  Current/Best:    8.88/  20.42 GFLOPS | Progress: (20/20
 ) | 8.20 s Done.
-
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   12.27/  18.05 GFLOPS | Progress: (4/20) | 3.23 s
    [Task 11/25]  Current/Best:   16.95/  18.05 GFLOPS | Progress: (8/20) | 5.94 s
    [Task 11/25]  Current/Best:   18.19/  18.19 GFLOPS | Progress: (12/20) | 7.94 s
    [Task 11/25]  Current/Best:   12.29/  21.20 GFLOPS | Progress: (16/20) | 10.70 s
    [Task 11/25]  Current/Best:   19.54/  21.62 GFLOPS | Progress: (20/20) | 12.68 s Done.
-
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:    7.82/  18.09 GFLOPS | Progress: (4/20) | 5.22 s
    [Task 12/25]  Current/Best:    5.32/  18.09 GFLOPS | Progress: (8/20) | 8.87 s
    [Task 12/25]  Current/Best:   18.87/  18.93 GFLOPS | Progress: (12/20) | 10.85 s
    [Task 12/25]  Current/Best:   15.29/  18.93 GFLOPS | Progress: (16/20) | 13.60 s
    [Task 12/25]  Current/Best:   15.16/  18.93 GFLOPS | Progress: (20/20) | 15.50 s Done.
-
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:    8.68/  17.33 GFLOPS | Progress: (4/20) | 3.57 s
    [Task 13/25]  Current/Best:   16.05/  20.96 GFLOPS | Progress: (8/20) | 5.96 s
    [Task 13/25]  Current/Best:   19.57/  21.38 GFLOPS | Progress: (12/20) | 8.80 s
    [Task 13/25]  Current/Best:   12.30/  21.38 GFLOPS | Progress: (16/20) | 12.14 s
    [Task 13/25]  Current/Best:   18.75/  21.38 GFLOPS | Progress: (20/20) | 14.41 s Done.
-
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:   13.60/  13.60 GFLOPS | Progress: (4/20) | 3.23 s
    [Task 14/25]  Current/Best:    6.12/  13.60 GFLOPS | Progress: (8/20) | 5.37 s
    [Task 14/25]  Current/Best:   20.62/  20.62 GFLOPS | Progress: (12/20) | 7.88 s
    [Task 14/25]  Current/Best:   17.36/  20.62 GFLOPS | Progress: (16/20) | 9.73 s Done.
-
    [Task 14/25]  Current/Best:   17.40/  20.62 GFLOPS | Progress: (20/20) | 11.40 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   16.17/  17.60 GFLOPS | Progress: (4/20) | 2.55 s
    [Task 15/25]  Current/Best:   14.42/  18.08 GFLOPS | Progress: (8/20) | 3.99 s
    [Task 15/25]  Current/Best:   10.35/  22.35 GFLOPS | Progress: (12/20) | 6.13 s
    [Task 15/25]  Current/Best:   20.43/  22.35 GFLOPS | Progress: (16/20) | 8.98 s
    [Task 15/25]  Current/Best:    9.68/  22.35 GFLOPS | Progress: (20/20) | 10.12 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:   19.53/  19.53 GFLOPS | Progress: (4/20) | 2.81 s
    [Task 16/25]  Current/Best:    3.04/  19.53 GFLOPS | Progress: (8/20) | 4.41 s
    [Task 16/25]  Current/Best:   19.83/  19.83 GFLOPS | Progress: (12/20) | 5.62 s
    [Task 16/25]  Current/Best:   18.25/  19.83 GFLOPS | Progress: (16/20) |
  6.96 s
    [Task 16/25]  Current/Best:    9.99/  22.22 GFLOPS | Progress: (20/20) | 8.97 s Done.
-
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   13.11/  18.77 GFLOPS | Progress: (4/20) | 4.59 s
    [Task 17/25]  Current/Best:   14.32/  23.45 GFLOPS | Progress: (8/20) | 7.42 s
    [Task 17/25]  Current/Best:   17.50/  23.45 GFLOPS | Progress: (12/20) | 9.46 s
    [Task 17/25]  Current/Best:   17.58/  23.45 GFLOPS | Progress: (16/20) | 11.54 s
    [Task 17/25]  Current/Best:   10.06/  23.45 GFLOPS | Progress: (20/20) | 13.64 s Done.
-
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:   11.42/  17.79 GFLOPS | Progress: (4/20) | 3.58 s
    [Task 18/25]  Current/Best:   10.56/  19.26 GFLOPS | Progress: (8/20) | 6.96 s
    [Task 18/25]  Current/Best:   19.34/  19.34 GFLOPS | Progress: (12/20) | 8.87 s
    [Task 18/25]  Current/Best:   10.06/  19.34 GFLOPS | Progress: (16/20) | 12.40 s
    [Task 18/25]  Current/Best:   20.81/  20.81 GFLOPS | Progress: (20/20) | 13.92 s Done.
-
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:    7.16/  20.51 GFLOPS | Progress: (4/20) | 5.85 s
    [Task 19/25]  Current/Best:    2.61/  20.51 GFLOPS | Progress: (8/20) | 9.13 s
    [Task 19/25]  Current/Best:   20.21/  21.93 GFLOPS | Progress: (12/20) | 11.88 s
    [Task 19/25]  Current/Best:   14.29/  21.93 GFLOPS | Progress: (16/20) | 14.72 s
    [Task 19/25]  Current/Best:    2.70/  23.69 GFLOPS | Progress: (20/20) | 17.53 s Done.
-
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:    9.22/  15.30 GFLOPS | Progress: (4/20) | 3.19 s Done.
-     Done.
-
    [Task 20/25]  Current/Best:    9.69/  15.30 GFLOPS | Progress: (8/20) | 6.62 s
    [Task 20/25]  Current/Best:    2.31/  16.54 GFLOPS | Progress: (12/20) | 10.48 s
    [Task 20/25]  Current/Best:   12.41/  16.54 GFLOPS | Progress: (16/20) | 14.10 s
    [Task 20/25]  Current/Best:   11.39/  22.26 GFLOPS | Progress: (20/20) | 16.16 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 21/25]  Current/Best:    6.41/  17.70 GFLOPS | Progress: (4/20) | 3.11 s
    [Task 21/25]  Current/Best:   14.63/  17.70 GFLOPS | Progress: (8/20) | 4.63 s
    [Task 21/25]  Current/Best:    1.61/  17.70 GFLOPS | Progress: (12/20) | 6.71 s
    [Task 21/25]  Current/Best:   17.90/  17.90 GFLOPS | Progress: (16/20) | 10.06 s
    [Task 21/25]  Current/Best:    4.47/  17.90 GFLOPS | Progress: (20/20) | 16.95 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:    2.71/  17.03 GFLOPS | Progress: (4/20
 ) | 2.57 s
    [Task 22/25]  Current/Best:    8.80/  22.13 GFLOPS | Progress: (8/20) | 4.54 s
    [Task 22/25]  Current/Best:   20.04/  22.13 GFLOPS | Progress: (12/20) | 6.80 s
    [Task 22/25]  Current/Best:   15.48/  22.13 GFLOPS | Progress: (16/20) | 8.82 s
    [Task 22/25]  Current/Best:   14.20/  22.13 GFLOPS | Progress: (20/20) | 10.51 s Done.
-
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:   17.76/  20.97 GFLOPS | Progress: (4/20) | 3.15 s
    [Task 23/25]  Current/Best:   13.94/  20.97 GFLOPS | Progress: (8/20) | 6.38 s
    [Task 23/25]  Current/Best:   21.07/  21.79 GFLOPS | Progress: (12/20) | 8.16 s
    [Task 23/25]  Current/Best:    6.48/  21.79 GFLOPS | Progress: (16/20) | 15.10 s
    [Task 23/25]  Current/Best:    7.97/  21.79 GFLOPS | Progress: (20/20) | 19.24 s Done.
-
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    8.55/   8.55 GFLOPS | Progress: (4/20) | 11.69 s
    [Task 24/25]  Current/Best:    3.79/   8.55 GFLOPS | Progress: (8/20) | 22.87 s
    [Task 24/25]  Current/Best:    4.40/   8.55 GFLOPS | Progress: (12/20) | 33.61 s Done.
-     Done.
-
    [Task 24/25]  Current/Best:    5.94/   9.00 GFLOPS | Progress: (16/20) | 38.98 s
    [Task 24/25]  Current/Best:    3.42/   9.00 GFLOPS | Progress: (20/20) | 44.74 s Done.
-
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 25/25]  Current/Best:    1.55/   2.74 GFLOPS | Progress: (4/20) | 11.50 s
    [Task 25/25]  Current/Best:    6.15/   8.83 GFLOPS | Progress: (8/20) | 22.70 s
    [Task 25/25]  Current/Best:    6.06/   8.83 GFLOPS | Progress: (12/20) | 34.09 s
    [Task 25/25]  Current/Best:    5.88/   8.85 GFLOPS | Progress: (16/20) | 35.77 s
    [Task 25/25]  Current/Best:    2.89/   9.65 GFLOPS | Progress: (20/20) | 46.45 s
+
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:   16.83/  22.89 GFLOPS | Progress: (16/20) | 13.15 s
    [Task  1/25]  Current/Best:   11.65/  23.93 GFLOPS | Progress: (20/20) | 15.26 s Done.
+
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:   13.02/  21.51 GFLOPS | Progress: (16/20) | 8.52 s
    [Task  2/25]  Current/Best:   20.50/  21.51 GFLOPS | Progress: (20/20) | 9.96 s Done.
+
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  3/25]  Current/Best:    7.22/  23.87 GFLOPS | Progress: (16/20) | 10.37 s
    [Task  3/25]  Current/Best:   12.73/  23.87 GFLOPS | Progress: (20/20) | 14.75 s Done.
+
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:   17.46/  21.96 GFLOPS | Progress: (16/20) | 8.69 s
    [Task  4/25]  Current/Best:   13.61/  21.96 GFLOPS | Progress: (20/20) | 10.49 s Done.
+
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:   11.73/  22.81 GFLOPS | Progress: (16/20) | 7.72 s
    [Task  5/25]  Current/Best:   12.14/  22.81 GFLOPS | Progress: (20/20) | 9.28 s Done.
+
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:   20.07/  20.93 GFLOPS | Progress: (16/20) | 8.34 s
    [Task  6/25]  Current/Best:    3.70/  20.93 GFLOPS | Progress: (20/20) | 10.79 s Done.
+
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   12.30/  21.08 GFLOPS | Progress: (16/20) | 7.99 s
    [Task  7/25]  Current/Best:    6.35/  21.94 GFLOPS | Progress: (20/20) | 10.36 s Done.
+
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:   18.89/  18.89 GFLOPS | Progress: (16/20) | 12.19 s
    [Task  8/25]  Current/Best:   19.85/  19.85 GFLOPS | Progress: (20/20) | 18.62 s Done.
+
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:   18.08/  23.60 GFLOPS | Progress: (16/20) | 14.94 s
    [Task  9/25]  Current/Best:    9.11/  23.60 GFLOPS | Progress: (20/20) | 22.21 s
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s Done.
+
    [Task 10/25]  Current/Best:   19.14/  20.55 GFLOPS | Progress: (16/20) | 6.03 s
    [Task 10/25]  Current/Best:    8.94/  20.55 GFLOPS | Progress: (20/20) | 7.48 s Done.
+
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   13.55/  21.21 GFLOPS | Progress: (16/20) | 8.56 s
    [Task 11/25]  Current/Best:   19.49/  21.63 GFLOPS | Progress: (20/20) | 10.48 s Done.
+
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:   15.51/  19.10 GFLOPS | Progress: (16/20) | 10.02 s
    [Task 12/25]  Current/Best:   15.22/  19.10 GFLOPS | Progress: (20/20) | 11.85 s Done.
+
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:   12.34/  21.72 GFLOPS | Progress: (16/20) | 8.74 s
    [Task 13/25]  Current/Best:   18.89/  21.72 GFLOPS | Progress: (20/20) | 10.87 s Done.
+
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:   16.29/  20.43 GFLOPS | Progress: (16/20) | 8.01 s
    [Task 14/25]  Current/Best:   17.34/  20.43 GFLOPS | Progress: (20/20) | 9.36 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s Done.
+
    [Task 15/25]  Current/Best:   20.47/  22.35 GFLOPS | Progress: (16/20) | 6.06 s
    [Task 15/25]  Current/Best:    9.73/  22.35 GFLOPS | Progress: (20/20) | 7.11 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:   18.32/  20.93 GFLOPS | Progress: (16/20) | 6.22 s
    [Task 16/25]  Current/Best:   10.06/  22.41 GFLOPS | Progress: (20/20) | 8.18 s Done.
+
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   16.55/  23.49 GFLOPS | Progress: (16/20) | 9.24 s
    [Task 17/25]  Current/Best:   10.06/  23.49 GFLOPS | Progress: (20/20) | 11.23 s Done.
+
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:   10.15/  19.04 GFLOPS | Progress: (16/20) | 9.25 s
    [Task 18/25]  Current/Best:   20.66/  20.66 GFLOPS | Progress: (20/20) | 10.68 s Done.
+
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:   14.60/  22.02 GFLOPS | Progress: (16/20) | 11.35 s
    [Task 19/25]  Current/Best:    2.71/  23.90 GFLOPS | Progress: (20/20) | 14.03 s Done.
+
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:   12.45/  16.71 GFLOPS | Progress: (16/20) | 10.58 s
    [Task 20/25]  Current/Best:   12.60/  22.33 GFLOPS | Progress: (20/20) | 12.57 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s Done.
+
    [Task 21/25]  Current/Best:   18.32/  18.32 GFLOPS | Progress: (16/20) | 7.41 s
    [Task 21/25]  Current/Best:    4.48/  18.32 GFLOPS | Progress: (20/20) | 14.28 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:   15.55/  22.13 GFLOPS | Progress: (16/20) | 7.05 s
    [Task 22/25]  Current/Best:   14.75/  22.13 GFLOPS | Progress: (20/20) | 8.63 s Done.
+
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:    6.44/  21.91 GFLOPS | Progress: (16/20) | 13.26 s
    [Task 23/25]  Current/Best:    7.95/  21.91 GFLOPS | Progress: (20/20) | 17.31 s Done.
+
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    6.36/   9.15 GFLOPS | Progress: (16/20) | 13.70 s
    [Task 24/25]  Current/Best:    3.38/   9.15 GFLOPS | Progress: (20/20) | 19.60 s Done.
+
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 25/25]  Current/Best:    5.99/   9.24 GFLOPS | Progress: (16/20) | 13.46 s
    [Task 25/25]  Current/Best:    2.88/   9.56 GFLOPS | Progress: (20/20) | 24.11 s
 
 
 The output from this tuning process will look something like this:
@@ -660,8 +658,8 @@ improvement in comparing the optimized model to the unoptimized model.
 
  .. code-block:: none
 
-    optimized: {'mean': 407.82768601999805, 'median': 407.76440465000405, 'std': 0.8902123032520373}
-    unoptimized: {'mean': 491.80542134999996, 'median': 491.4629161500045, 'std': 1.2204966313942105}
+    optimized: {'mean': 412.4838163699951, 'median': 409.7940721499981, 'std': 7.421787022844658}
+    unoptimized: {'mean': 487.67396074001226, 'median': 487.7071456000067, 'std': 0.17591119226728286}
 
 
 
@@ -681,7 +679,7 @@ profiling/benchmarking.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 10 minutes  13.767 seconds)
+   **Total running time of the script:** ( 8 minutes  24.205 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 4e2549f57..5c8b6422a 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.334e-07 secs/op
+    1.296e-07 secs/op
 
 
 
diff --git a/docs/_sources/tutorial/intro_topi.rst.txt b/docs/_sources/tutorial/intro_topi.rst.txt
index af70f0c14..02662fb09 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, 0x231471c0)), stage(b, placeholder(b, 0x22a40690)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(mi [...]
+    [stage(a, placeholder(a, 0xc1c1cc0)), stage(b, placeholder(b, 0x1937c760)), 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 [...]
 
 
 
diff --git a/docs/_sources/tutorial/sg_execution_times.rst.txt b/docs/_sources/tutorial/sg_execution_times.rst.txt
index e0e04f612..4511794f0 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
 =================
-**13:06.377** total execution time for **tutorial** files:
+**10:54.521** total execution time for **tutorial** files:
 
-- **10:13.767**: :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)
-- **01:02.554**: :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``)
-- **00:58.818**: :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)
-- **00:25.857**: :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)
-- **00:23.203**: :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)
-- **00:01.165**: :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)
-- **00:00.701**: :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)
-- **00:00.185**: :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
-- **00:00.036**: :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``)
-- **00:00.031**: :ref:`sphx_glr_tutorial_install.py` (``install.py``)
-- **00:00.030**: :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``)
-- **00:00.030**: :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)
+- **08:24.205**: :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)
+- **00:59.960**: :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)
+- **00:39.167**: :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``)
+- **00:25.438**: :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)
+- **00:24.254**: :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)
+- **00:00.679**: :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)
+- **00:00.537**: :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)
+- **00:00.167**: :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
+- **00:00.032**: :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``)
+- **00:00.027**: :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``)
+- **00:00.027**: :ref:`sphx_glr_tutorial_install.py` (``install.py``)
+- **00:00.027**: :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)
diff --git a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
index f41f1066d..2c3b1a65a 100644
--- a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
+++ b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
@@ -252,8 +252,8 @@ helper function to run a profile of the TVM generated code.
 
  .. code-block:: none
 
-    Numpy running time: 0.000008
-    naive: 0.000006
+    Numpy running time: 0.000009
+    naive: 0.000007
 
 
 
@@ -344,7 +344,7 @@ compile and run this new schedule with the parallel operation applied:
 
  .. code-block:: none
 
-    parallel: 0.000007
+    parallel: 0.000006
 
 
 
@@ -397,7 +397,7 @@ factor to be the number of threads on your CPU.
 
  .. code-block:: none
 
-    vector: 0.000026
+    vector: 0.000025
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [(stride: int32*n: int32)], [], type="auto"),
@@ -447,10 +447,10 @@ We can now compare the different schedules
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                   numpy    8.10879999789904e-06                     1.0
-                   naive              5.8468e-06       0.721043804448856
-                parallel    7.098599999999998e-06     0.8754192977800931
-                  vector             2.62357e-05      3.2354602415644202
+                   numpy    8.762529996602097e-06                    1.0
+                   naive    6.6723000000000005e-06    0.7614581636339461
+                parallel              6.0529e-06      0.6907708164590789
+                  vector             2.45621e-05      2.8030831289050773
 
 
 
@@ -839,7 +839,7 @@ matrix multiplication.
 
  .. code-block:: none
 
-    Numpy running time: 0.018125
+    Numpy running time: 0.017893
 
 
 
@@ -897,7 +897,7 @@ optimizations.
 
     /workspace/python/tvm/driver/build_module.py:264: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    none: 3.258478
+    none: 3.368909
 
 
 
@@ -996,7 +996,7 @@ schedule.
 
  .. code-block:: none
 
-    blocking: 0.298638
+    blocking: 0.290186
 
 
 
@@ -1088,7 +1088,7 @@ already cache friendly from our previous optimizations.
 
  .. code-block:: none
 
-    vectorization: 0.341355
+    vectorization: 0.327684
     @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], []),
@@ -1160,7 +1160,7 @@ more cache friendly.
 
  .. code-block:: none
 
-    loop permutation: 0.112471
+    loop permutation: 0.115170
     @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], []),
@@ -1257,7 +1257,7 @@ optimized schedule.
 
  .. code-block:: none
 
-    array packing: 0.110686
+    array packing: 0.109577
     @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], []),
@@ -1348,7 +1348,7 @@ to `C` when all the block results are ready.
 
  .. code-block:: none
 
-    block caching: 0.112183
+    block caching: 0.109912
     @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], []),
@@ -1432,7 +1432,7 @@ of thread-level parallelization.
 
  .. code-block:: none
 
-    parallelization: 0.144444
+    parallelization: 0.143665
     @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], []),
@@ -1511,13 +1511,13 @@ working, we can compare the results.
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                    none      3.2584776043000003                     1.0
-                blocking            0.2986382085      0.0916496121090127
-           vectorization            0.3413550999      0.1047590750507341
-        loop permutation     0.11247078570000002     0.03451635989505641
-           array packing            0.1106862238     0.03396869251270428
-           block caching     0.11218265730000002     0.03442793565681099
-         parallelization            0.1444442087      0.0443287406699946
+                    none            3.3689090825                     1.0
+                blocking     0.29018648960000004     0.08613663429131736
+           vectorization     0.32768371739999996     0.09726701118239511
+        loop permutation            0.1151696623    0.034186040489562544
+           array packing             0.109577331     0.03252605763960981
+           block caching     0.10991175859999999    0.032625326450910534
+         parallelization            0.1436651658     0.04264441760873788
 
 
 
diff --git a/docs/commit_hash b/docs/commit_hash
index 360078628..29dc4e1d6 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-559f0c76a0a8ee9c1620ee29ecd8ce1ced07093e
+c6415d14928d1e09f4bd3105c7a5ddf87f92166b
diff --git a/docs/how_to/compile_models/from_mxnet.html b/docs/how_to/compile_models/from_mxnet.html
index 5a3e44ccd..f7340a7a5 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.zipc9f4b9ac-b0b2-40a6-86dd-21261e055113 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.zipd8729d21-5451-4d3a-97c7-2d51c43bea21 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 cce2bb0ee..85a336a69 100644
--- a/docs/how_to/compile_models/from_oneflow.html
+++ b/docs/how_to/compile_models/from_oneflow.html
@@ -406,46 +406,114 @@ python3 -m pip install -f https://release.oneflow.info <span class="nv">oneflow<
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: &quot;https://oneflow-public.oss-cn-beijing.aliyuncs.com/model_zoo/flowvision/classification/ResNet/resnet18.zip&quot; to /workspace/.oneflow/flowvision_cache/resnet18.zip
 
   0%|          | 0.00/41.5M [00:00&lt;?, ?B/s]
-  0%|          | 16.0k/41.5M [00:00&lt;08:18, 87.3kB/s]
-  0%|          | 40.0k/41.5M [00:00&lt;06:26, 113kB/s]
-  0%|          | 72.0k/41.5M [00:00&lt;05:09, 141kB/s]
-  0%|          | 104k/41.5M [00:00&lt;04:42, 154kB/s]
-  0%|          | 136k/41.5M [00:00&lt;04:29, 161kB/s]
-  0%|          | 192k/41.5M [00:01&lt;03:26, 210kB/s]
-  1%|          | 256k/41.5M [00:01&lt;02:49, 255kB/s]
-  1%|          | 352k/41.5M [00:01&lt;02:07, 339kB/s]
-  1%|1         | 560k/41.5M [00:01&lt;01:13, 586kB/s]
-  2%|2         | 968k/41.5M [00:01&lt;00:39, 1.09MB/s]
-  3%|3         | 1.43M/41.5M [00:02&lt;00:26, 1.58MB/s]
-  6%|6         | 2.59M/41.5M [00:02&lt;00:13, 3.04MB/s]
-  7%|6         | 2.88M/41.5M [00:02&lt;00:15, 2.61MB/s]
- 10%|9         | 4.09M/41.5M [00:02&lt;00:10, 3.87MB/s]
- 13%|#3        | 5.45M/41.5M [00:02&lt;00:07, 4.99MB/s]
- 17%|#6        | 6.92M/41.5M [00:03&lt;00:06, 5.95MB/s]
- 20%|##        | 8.40M/41.5M [00:03&lt;00:05, 6.63MB/s]
- 24%|##3       | 9.88M/41.5M [00:03&lt;00:04, 7.10MB/s]
- 27%|##7       | 11.3M/41.5M [00:03&lt;00:04, 7.42MB/s]
- 31%|###       | 12.8M/41.5M [00:03&lt;00:03, 7.65MB/s]
- 34%|###4      | 14.3M/41.5M [00:03&lt;00:03, 7.82MB/s]
- 38%|###8      | 15.8M/41.5M [00:04&lt;00:03, 7.94MB/s]
- 42%|####1     | 17.2M/41.5M [00:04&lt;00:03, 8.01MB/s]
- 45%|####5     | 18.7M/41.5M [00:04&lt;00:02, 8.07MB/s]
- 49%|####8     | 20.2M/41.5M [00:04&lt;00:02, 8.10MB/s]
- 52%|#####2    | 21.7M/41.5M [00:04&lt;00:02, 8.13MB/s]
- 56%|#####5    | 23.1M/41.5M [00:05&lt;00:02, 8.15MB/s]
- 59%|#####9    | 24.6M/41.5M [00:05&lt;00:01, 9.05MB/s]
- 63%|######2   | 26.1M/41.5M [00:05&lt;00:02, 7.94MB/s]
- 66%|######6   | 27.6M/41.5M [00:05&lt;00:01, 8.00MB/s]
- 70%|######9   | 29.0M/41.5M [00:05&lt;00:01, 8.06MB/s]
- 74%|#######3  | 30.5M/41.5M [00:06&lt;00:01, 8.12MB/s]
- 77%|#######7  | 32.0M/41.5M [00:06&lt;00:01, 8.14MB/s]
- 81%|########  | 33.5M/41.5M [00:06&lt;00:01, 8.16MB/s]
- 84%|########4 | 34.9M/41.5M [00:06&lt;00:00, 8.16MB/s]
- 88%|########7 | 36.4M/41.5M [00:06&lt;00:00, 8.18MB/s]
- 91%|#########1| 37.9M/41.5M [00:06&lt;00:00, 8.18MB/s]
- 95%|#########4| 39.4M/41.5M [00:07&lt;00:00, 8.19MB/s]
- 98%|#########8| 40.8M/41.5M [00:07&lt;00:00, 9.52MB/s]
-100%|##########| 41.5M/41.5M [00:07&lt;00:00, 5.90MB/s]
+  0%|          | 16.0k/41.5M [00:00&lt;08:29, 85.4kB/s]
+  0%|          | 48.0k/41.5M [00:00&lt;05:21, 135kB/s]
+  0%|          | 72.0k/41.5M [00:00&lt;05:29, 132kB/s]
+  0%|          | 112k/41.5M [00:00&lt;04:25, 164kB/s]
+  0%|          | 144k/41.5M [00:00&lt;04:21, 166kB/s]
+  0%|          | 176k/41.5M [00:01&lt;04:18, 167kB/s]
+  1%|          | 216k/41.5M [00:01&lt;03:57, 182kB/s]
+  1%|          | 256k/41.5M [00:01&lt;03:45, 192kB/s]
+  1%|          | 296k/41.5M [00:01&lt;03:37, 198kB/s]
+  1%|          | 336k/41.5M [00:01&lt;03:33, 203kB/s]
+  1%|          | 384k/41.5M [00:02&lt;03:17, 219kB/s]
+  1%|1         | 432k/41.5M [00:02&lt;03:07, 230kB/s]
+  1%|1         | 480k/41.5M [00:02&lt;03:01, 237kB/s]
+  1%|1         | 536k/41.5M [00:02&lt;02:48, 255kB/s]
+  1%|1         | 584k/41.5M [00:02&lt;02:48, 255kB/s]
+  2%|1         | 648k/41.5M [00:03&lt;02:32, 281kB/s]
+  2%|1         | 704k/41.5M [00:03&lt;02:29, 286kB/s]
+  2%|1         | 768k/41.5M [00:03&lt;02:21, 302kB/s]
+  2%|1         | 840k/41.5M [00:03&lt;02:10, 326kB/s]
+  2%|2         | 904k/41.5M [00:03&lt;02:09, 330kB/s]
+  2%|2         | 976k/41.5M [00:04&lt;02:02, 346kB/s]
+  2%|2         | 1.03M/41.5M [00:04&lt;01:54, 369kB/s]
+  3%|2         | 1.11M/41.5M [00:04&lt;01:49, 386kB/s]
+  3%|2         | 1.20M/41.5M [00:04&lt;01:42, 410kB/s]
+  3%|3         | 1.28M/41.5M [00:04&lt;01:38, 427kB/s]
+  3%|3         | 1.38M/41.5M [00:05&lt;01:33, 452kB/s]
+  4%|3         | 1.47M/41.5M [00:05&lt;01:29, 469kB/s]
+  4%|3         | 1.57M/41.5M [00:05&lt;01:24, 494kB/s]
+  4%|4         | 1.67M/41.5M [00:05&lt;01:13, 570kB/s]
+  4%|4         | 1.78M/41.5M [00:05&lt;01:06, 622kB/s]
+  4%|4         | 1.84M/41.5M [00:05&lt;01:07, 618kB/s]
+  5%|4         | 1.91M/41.5M [00:05&lt;01:10, 592kB/s]
+  5%|4         | 2.02M/41.5M [00:06&lt;00:57, 724kB/s]
+  5%|5         | 2.10M/41.5M [00:06&lt;01:02, 664kB/s]
+  5%|5         | 2.19M/41.5M [00:06&lt;01:09, 592kB/s]
+  6%|5         | 2.33M/41.5M [00:06&lt;00:55, 741kB/s]
+  6%|5         | 2.48M/41.5M [00:06&lt;00:45, 906kB/s]
+  6%|6         | 2.57M/41.5M [00:06&lt;00:49, 822kB/s]
+  6%|6         | 2.68M/41.5M [00:06&lt;00:47, 850kB/s]
+  7%|6         | 2.85M/41.5M [00:06&lt;00:38, 1.05MB/s]
+  7%|7         | 2.96M/41.5M [00:07&lt;00:42, 951kB/s]
+  7%|7         | 3.08M/41.5M [00:07&lt;00:41, 965kB/s]
+  8%|7         | 3.28M/41.5M [00:07&lt;00:36, 1.11MB/s]
+  8%|8         | 3.39M/41.5M [00:07&lt;00:36, 1.09MB/s]
+  9%|8         | 3.53M/41.5M [00:07&lt;00:35, 1.12MB/s]
+  9%|9         | 3.77M/41.5M [00:07&lt;00:27, 1.42MB/s]
+  9%|9         | 3.91M/41.5M [00:07&lt;00:31, 1.26MB/s]
+ 10%|9         | 4.05M/41.5M [00:08&lt;00:31, 1.27MB/s]
+ 10%|#         | 4.32M/41.5M [00:08&lt;00:24, 1.60MB/s]
+ 11%|#         | 4.48M/41.5M [00:08&lt;00:26, 1.44MB/s]
+ 11%|#1        | 4.66M/41.5M [00:08&lt;00:26, 1.45MB/s]
+ 12%|#1        | 4.96M/41.5M [00:08&lt;00:20, 1.83MB/s]
+ 12%|#2        | 5.15M/41.5M [00:08&lt;00:23, 1.64MB/s]
+ 13%|#2        | 5.34M/41.5M [00:08&lt;00:22, 1.65MB/s]
+ 14%|#3        | 5.69M/41.5M [00:08&lt;00:18, 2.08MB/s]
+ 14%|#4        | 5.90M/41.5M [00:09&lt;00:20, 1.86MB/s]
+ 15%|#4        | 6.12M/41.5M [00:09&lt;00:19, 1.87MB/s]
+ 16%|#5        | 6.51M/41.5M [00:09&lt;00:15, 2.36MB/s]
+ 16%|#6        | 6.75M/41.5M [00:09&lt;00:17, 2.11MB/s]
+ 17%|#6        | 6.99M/41.5M [00:09&lt;00:17, 2.11MB/s]
+ 18%|#7        | 7.42M/41.5M [00:09&lt;00:13, 2.64MB/s]
+ 19%|#8        | 7.69M/41.5M [00:09&lt;00:15, 2.34MB/s]
+ 19%|#9        | 7.94M/41.5M [00:09&lt;00:15, 2.30MB/s]
+ 20%|##        | 8.41M/41.5M [00:10&lt;00:12, 2.85MB/s]
+ 21%|##        | 8.70M/41.5M [00:10&lt;00:13, 2.56MB/s]
+ 22%|##1       | 9.02M/41.5M [00:10&lt;00:12, 2.63MB/s]
+ 23%|##3       | 9.56M/41.5M [00:10&lt;00:10, 3.31MB/s]
+ 24%|##3       | 9.89M/41.5M [00:10&lt;00:11, 2.93MB/s]
+ 25%|##4       | 10.2M/41.5M [00:10&lt;00:11, 2.97MB/s]
+ 26%|##6       | 10.9M/41.5M [00:10&lt;00:08, 3.72MB/s]
+ 27%|##7       | 11.2M/41.5M [00:10&lt;00:09, 3.31MB/s]
+ 28%|##7       | 11.6M/41.5M [00:11&lt;00:09, 3.32MB/s]
+ 30%|##9       | 12.3M/41.5M [00:11&lt;00:07, 4.15MB/s]
+ 31%|###       | 12.7M/41.5M [00:11&lt;00:08, 3.69MB/s]
+ 32%|###1      | 13.1M/41.5M [00:11&lt;00:08, 3.70MB/s]
+ 33%|###3      | 13.9M/41.5M [00:11&lt;00:06, 4.61MB/s]
+ 35%|###4      | 14.3M/41.5M [00:11&lt;00:06, 4.10MB/s]
+ 36%|###5      | 14.8M/41.5M [00:11&lt;00:06, 4.10MB/s]
+ 38%|###7      | 15.6M/41.5M [00:12&lt;00:05, 5.05MB/s]
+ 39%|###8      | 16.1M/41.5M [00:12&lt;00:05, 4.52MB/s]
+ 40%|####      | 16.7M/41.5M [00:12&lt;00:05, 4.51MB/s]
+ 42%|####2     | 17.6M/41.5M [00:12&lt;00:04, 5.69MB/s]
+ 44%|####3     | 18.1M/41.5M [00:12&lt;00:04, 5.01MB/s]
+ 45%|####5     | 18.7M/41.5M [00:12&lt;00:04, 4.98MB/s]
+ 48%|####7     | 19.7M/41.5M [00:12&lt;00:03, 6.32MB/s]
+ 49%|####9     | 20.4M/41.5M [00:12&lt;00:04, 5.52MB/s]
+ 51%|#####     | 21.0M/41.5M [00:13&lt;00:03, 5.47MB/s]
+ 53%|#####3    | 22.1M/41.5M [00:13&lt;00:02, 6.95MB/s]
+ 55%|#####4    | 22.8M/41.5M [00:13&lt;00:03, 6.07MB/s]
+ 57%|#####6    | 23.4M/41.5M [00:13&lt;00:03, 6.23MB/s]
+ 59%|#####9    | 24.7M/41.5M [00:13&lt;00:02, 7.70MB/s]
+ 61%|######1   | 25.4M/41.5M [00:13&lt;00:02, 6.54MB/s]
+ 63%|######3   | 26.2M/41.5M [00:13&lt;00:02, 6.53MB/s]
+ 66%|######6   | 27.5M/41.5M [00:13&lt;00:01, 8.31MB/s]
+ 68%|######8   | 28.4M/41.5M [00:14&lt;00:01, 7.25MB/s]
+ 70%|#######   | 29.1M/41.5M [00:14&lt;00:01, 7.09MB/s]
+ 73%|#######3  | 30.4M/41.5M [00:14&lt;00:01, 8.75MB/s]
+ 76%|#######5  | 31.3M/41.5M [00:14&lt;00:01, 7.63MB/s]
+ 77%|#######7  | 32.1M/41.5M [00:14&lt;00:01, 6.44MB/s]
+ 81%|########  | 33.5M/41.5M [00:14&lt;00:01, 8.07MB/s]
+ 84%|########3 | 34.8M/41.5M [00:14&lt;00:00, 9.26MB/s]
+ 86%|########6 | 35.8M/41.5M [00:15&lt;00:00, 7.98MB/s]
+ 88%|########8 | 36.6M/41.5M [00:15&lt;00:00, 6.80MB/s]
+ 91%|#########1| 37.9M/41.5M [00:15&lt;00:00, 8.12MB/s]
+ 95%|#########4| 39.2M/41.5M [00:15&lt;00:00, 9.23MB/s]
+ 97%|#########6| 40.2M/41.5M [00:15&lt;00:00, 8.00MB/s]
+ 99%|#########8| 41.1M/41.5M [00:15&lt;00:00, 6.82MB/s]
+100%|##########| 41.5M/41.5M [00:15&lt;00:00, 2.75MB/s]
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/compile_models/from_paddle.html b/docs/how_to/compile_models/from_paddle.html
index 883506af9..077c2eccd 100644
--- a/docs/how_to/compile_models/from_paddle.html
+++ b/docs/how_to/compile_models/from_paddle.html
@@ -469,7 +469,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.878 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  4.050 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 d2b8f7937..cce6a5cb4 100644
--- a/docs/how_to/compile_models/from_pytorch.html
+++ b/docs/how_to/compile_models/from_pytorch.html
@@ -387,10 +387,8 @@ 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]
- 12%|#1        | 5.16M/44.7M [00:00&lt;00:00, 54.0MB/s]
- 23%|##3       | 10.3M/44.7M [00:00&lt;00:00, 50.1MB/s]
- 80%|#######9  | 35.6M/44.7M [00:00&lt;00:00, 144MB/s]
-100%|##########| 44.7M/44.7M [00:00&lt;00:00, 134MB/s]
+ 47%|####6     | 21.0M/44.7M [00:00&lt;00:00, 220MB/s]
+100%|##########| 44.7M/44.7M [00:00&lt;00:00, 253MB/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 0afc7c9ab..cca2fe6f1 100644
--- a/docs/how_to/compile_models/from_tensorflow.html
+++ b/docs/how_to/compile_models/from_tensorflow.html
@@ -612,7 +612,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  1.956 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  1.459 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 a7c64298c..7dec54cc4 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>05:45.573</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
+<p><strong>05:21.728</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
 <ul class="simple">
-<li><p><strong>01:05.878</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.956</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.680</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:38.522</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:31.104</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:28.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:21.020</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.003</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.827</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:02.642</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:04.050</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.459</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:58.339</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:39.463</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:23.613</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:20.692</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:20.461</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:18.516</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.716</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.419</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 87b1a0dd6..b1587c638 100644
--- a/docs/how_to/deploy_models/deploy_model_on_android.html
+++ b/docs/how_to/deploy_models/deploy_model_on_android.html
@@ -627,7 +627,7 @@ to the remote android device.</p>
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  15.9477      15.7521      16.7225      15.5190       0.4362
+  16.3038      16.2835      16.4160      16.2459       0.0558
 </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 fd7d4cae6..35678d741 100644
--- a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
+++ b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
@@ -409,14 +409,13 @@ 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]
- 10%|9         | 16.8M/170M [00:00&lt;00:00, 176MB/s]
- 23%|##3       | 39.8M/170M [00:00&lt;00:00, 214MB/s]
- 37%|###7      | 63.0M/170M [00:00&lt;00:00, 228MB/s]
- 50%|#####     | 85.4M/170M [00:00&lt;00:00, 230MB/s]
- 63%|######3   | 107M/170M [00:00&lt;00:00, 207MB/s]
- 76%|#######6  | 130M/170M [00:00&lt;00:00, 216MB/s]
- 90%|########9 | 153M/170M [00:00&lt;00:00, 222MB/s]
-100%|##########| 170M/170M [00:00&lt;00:00, 222MB/s]
+ 11%|#         | 18.1M/170M [00:00&lt;00:00, 190MB/s]
+ 26%|##5       | 43.5M/170M [00:00&lt;00:00, 235MB/s]
+ 41%|####      | 69.6M/170M [00:00&lt;00:00, 252MB/s]
+ 55%|#####5    | 93.7M/170M [00:00&lt;00:00, 250MB/s]
+ 70%|#######   | 120M/170M [00:00&lt;00:00, 258MB/s]
+ 86%|########5 | 146M/170M [00:00&lt;00:00, 263MB/s]
+100%|##########| 170M/170M [00:00&lt;00:00, 256MB/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;).
@@ -514,7 +513,7 @@ torchvision rcnn models.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Get 9 valid boxes
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  58.793 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  54.897 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 77a01f1ac..57962b256 100644
--- a/docs/how_to/deploy_models/deploy_prequantized.html
+++ b/docs/how_to/deploy_models/deploy_prequantized.html
@@ -450,7 +450,7 @@ 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]
-100%|##########| 13.6M/13.6M [00:00&lt;00:00, 182MB/s]
+100%|##########| 13.6M/13.6M [00:00&lt;00:00, 187MB/s]
 </pre></div>
 </div>
 </div>
@@ -544,7 +544,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.0584      90.0198      90.6747      89.8906       0.1451
+  90.2716      90.4386      90.7632      89.8697       0.2656
 </pre></div>
 </div>
 <div class="admonition note">
@@ -583,7 +583,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  4.163 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  3.677 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 167552ee8..3ccbfc654 100644
--- a/docs/how_to/deploy_models/deploy_prequantized_tflite.html
+++ b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
@@ -545,7 +545,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)
-  118.4221     118.3950     120.3028     117.5782      0.4582
+  118.7434     118.6745     120.7552     117.3282      0.6605
 </pre></div>
 </div>
 <div class="admonition note">
@@ -573,7 +573,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  57.295 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  58.066 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 3d80c50a7..10cb0b6c8 100644
--- a/docs/how_to/deploy_models/deploy_quantized.html
+++ b/docs/how_to/deploy_models/deploy_quantized.html
@@ -482,7 +482,6 @@ 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  10.928 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 a36bb5270..7078f8573 100644
--- a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
+++ b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
@@ -415,24 +415,23 @@ to your device.</p>
 Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
 
   0%|          | 0/132723 [00:00&lt;?, ?KB/s]
-  4%|3         | 5157/132723 [00:00&lt;00:02, 51562.80KB/s]
-  9%|9         | 12485/132723 [00:00&lt;00:01, 64333.77KB/s]
- 15%|#4        | 19908/132723 [00:00&lt;00:01, 68849.14KB/s]
- 21%|##        | 27357/132723 [00:00&lt;00:01, 71074.04KB/s]
- 26%|##6       | 35118/132723 [00:00&lt;00:01, 73420.30KB/s]
- 32%|###2      | 42886/132723 [00:00&lt;00:01, 74844.41KB/s]
- 38%|###8      | 50473/132723 [00:00&lt;00:01, 75177.16KB/s]
- 44%|####4     | 58432/132723 [00:00&lt;00:00, 76579.96KB/s]
- 50%|#####     | 66401/132723 [00:00&lt;00:00, 77550.38KB/s]
- 56%|#####6    | 74470/132723 [00:01&lt;00:00, 78517.52KB/s]
- 62%|######2   | 82528/132723 [00:01&lt;00:00, 79146.16KB/s]
- 68%|######8   | 90606/132723 [00:01&lt;00:00, 79640.97KB/s]
- 74%|#######4  | 98606/132723 [00:01&lt;00:00, 79748.71KB/s]
- 80%|########  | 106719/132723 [00:01&lt;00:00, 80164.48KB/s]
- 87%|########6 | 114817/132723 [00:01&lt;00:00, 80409.15KB/s]
- 93%|#########2| 122935/132723 [00:01&lt;00:00, 80638.41KB/s]
- 99%|#########8| 131043/132723 [00:01&lt;00:00, 80765.65KB/s]
-100%|##########| 132723/132723 [00:01&lt;00:00, 77112.34KB/s]
+  5%|4         | 6456/132723 [00:00&lt;00:01, 64553.29KB/s]
+ 11%|#1        | 15221/132723 [00:00&lt;00:01, 78131.82KB/s]
+ 18%|#8        | 24047/132723 [00:00&lt;00:01, 82754.37KB/s]
+ 25%|##4       | 32789/132723 [00:00&lt;00:01, 84594.72KB/s]
+ 31%|###1      | 41684/132723 [00:00&lt;00:01, 86164.18KB/s]
+ 38%|###7      | 50301/132723 [00:00&lt;00:01, 72973.20KB/s]
+ 45%|####4     | 59161/132723 [00:00&lt;00:00, 77519.55KB/s]
+ 51%|#####     | 67172/132723 [00:00&lt;00:00, 69091.48KB/s]
+ 57%|#####7    | 75993/132723 [00:00&lt;00:00, 74253.46KB/s]
+ 63%|######3   | 83710/132723 [00:01&lt;00:00, 63620.86KB/s]
+ 70%|######9   | 92550/132723 [00:01&lt;00:00, 69870.39KB/s]
+ 75%|#######5  | 99962/132723 [00:01&lt;00:00, 66471.93KB/s]
+ 81%|########  | 106913/132723 [00:01&lt;00:00, 61187.29KB/s]
+ 86%|########6 | 114680/132723 [00:01&lt;00:00, 60662.65KB/s]
+ 93%|#########2| 123286/132723 [00:01&lt;00:00, 67054.44KB/s]
+100%|#########9| 132132/132723 [00:01&lt;00:00, 72714.59KB/s]
+100%|##########| 132723/132723 [00:01&lt;00:00, 71125.48KB/s]
 </pre></div>
 </div>
 <p>Create TVM runtime and do inference
@@ -477,7 +476,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  19.773 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  18.808 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 e49602f89..cc50203fc 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:19.947</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
+<p><strong>10:04.047</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
 <ul class="simple">
-<li><p><strong>02:58.793</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:19.773</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:57.295</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:10.928</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:04.163</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.642</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.170</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.182</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>02:54.897</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:18.808</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:58.066</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:03.677</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:59.026</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>00:28.439</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:20.955</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.180</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 37f7f1779..ff83f07cc 100644
--- a/docs/how_to/extend_tvm/bring_your_own_datatypes.html
+++ b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
@@ -590,7 +590,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.zip1dce7d0f-d93b-4407-878f-7c1726b3ad03 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.zip1d77373d-fc37-4966-9e56-d7c03fa0de1c from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
 </pre></div>
 </div>
 <p>It’s easy to execute MobileNet with native TVM:</p>
diff --git a/docs/how_to/extend_tvm/sg_execution_times.html b/docs/how_to/extend_tvm/sg_execution_times.html
index 3cad8b6e1..ca564c02d 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:37.530</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
+<p><strong>00:37.107</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:34.085</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.234</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.027</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.183</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:33.705</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.196</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.020</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.186</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 d0ca876c1..2c75891fd 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: 6007us [6007us] (45.35%; 45.35%)
-FoldScaleAxis: 7238us [5us] (54.65%; 54.65%)
-        FoldConstant: 7233us [1479us] (54.61%; 99.93%)
-                InferType: 5754us [5754us] (43.44%; 79.55%)
+InferType: 6256us [6256us] (45.73%; 45.73%)
+FoldScaleAxis: 7423us [5us] (54.27%; 54.27%)
+        FoldConstant: 7418us [1529us] (54.23%; 99.93%)
+                InferType: 5889us [5889us] (43.05%; 79.39%)
 </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: 5781us [5781us] (40.78%; 40.78%)
-FoldScaleAxis: 8393us [5us] (59.22%; 59.22%)
-        FoldConstant: 8388us [1494us] (59.18%; 99.94%)
-                InferType: 6895us [6895us] (48.64%; 82.19%)
+InferType: 6003us [6003us] (44.55%; 44.55%)
+FoldScaleAxis: 7471us [5us] (55.45%; 55.45%)
+        FoldConstant: 7466us [1533us] (55.41%; 99.94%)
+                InferType: 5933us [5933us] (44.03%; 79.47%)
 </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 c31c6a0d2..39bd90bd1 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: 47.083008 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 54.078285 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 1418183ea..bc34a022a 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: 10.335657 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 6.683034 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 a7a719f9a..3a1e247fa 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.018194
-Baseline: 3.297121
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.017741
+Baseline: 3.427257
 </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.293965
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.294868
 </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.331174
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.330940
 </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.113974
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.112709
 </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.110351
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.109289
 </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.110363
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.110037
 </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.144820
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.144309
 </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 1584293f5..744abfae5 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.473</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
+<p><strong>00:34.386</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:31.785</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.465</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.224</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.059</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.255</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.072</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 30dfbc387..176da92b9 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:48.531</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
+<p><strong>03:38.042</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
 <ul class="simple">
-<li><p><strong>02:17.866</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:17.876</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:39.696</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.333</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.461</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.299</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>01:16.992</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>01:06.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>00:39.292</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.175</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.699</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.176</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 b859b4d32..d2b2b63d4 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,96 +470,809 @@ 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, [16]), storage_scope = local;
-  allocate(pad_temp.shared: Pointer(shared float32), float32, [162]), storage_scope = shared;
-  allocate(kernel.shared: Pointer(shared float32), float32, [576]), storage_scope = shared;
-  attr [IterVar(threadIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 98 {
-    conv2d_nchw_1: Buffer(conv2d_nchw, float32, [16], [], scope=&quot;local&quot;, align=64)[0] = 0f32
+  attr [IterVar(blockIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;blockIdx.x&quot;)] &quot;thread_extent&quot; = 112;
+  allocate(conv2d_nchw: Pointer(local float32), float32, [4]), storage_scope = local;
+  allocate(pad_temp.shared: Pointer(shared float32), float32, [336]), storage_scope = shared;
+  allocate(kernel.shared: Pointer(shared float32), float32, [1536]), storage_scope = shared;
+  attr [IterVar(threadIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56 {
+    conv2d_nchw_1: Buffer(conv2d_nchw, float32, [4], [], scope=&quot;local&quot;, align=16)[0] = 0f32
     conv2d_nchw_1[1] = 0f32
     conv2d_nchw_1[2] = 0f32
     conv2d_nchw_1[3] = 0f32
-    conv2d_nchw_1[4] = 0f32
-    conv2d_nchw_1[5] = 0f32
-    conv2d_nchw_1[6] = 0f32
-    conv2d_nchw_1[7] = 0f32
-    conv2d_nchw_1[8] = 0f32
-    conv2d_nchw_1[9] = 0f32
-    conv2d_nchw_1[10] = 0f32
-    conv2d_nchw_1[11] = 0f32
-    conv2d_nchw_1[12] = 0f32
-    conv2d_nchw_1[13] = 0f32
-    conv2d_nchw_1[14] = 0f32
-    conv2d_nchw_1[15] = 0f32
-    for (rc.outer.outer: int32, 0, 256) {
-      let cse_var_1: int32 = (rc.outer.outer*18)
+    for (rc.outer.outer: int32, 0, 32) {
+      let cse_var_2: int32 = (rc.outer.outer*784)
+      let cse_var_1: int32 = (rc.outer.outer*144)
        {
-        attr [IterVar(threadIdx.x_1: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 98 {
-          if @tir.likely((threadIdx.x_1 &lt; 81), dtype=bool) {
-            pad_temp.shared_1: Buffer(pad_temp.shared, float32, [162], [], scope=&quot;shared&quot;)[(threadIdx.x_1*2)] = @tir.if_then_else(((((9 &lt;= floormod((threadIdx.x_1*2), 81)) &amp;&amp; (floormod((threadIdx.x_1*2), 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1*2), 9))) &amp;&amp; (floormod((threadIdx.x_1*2), 9) &lt; 8)), data[(((((rc.outer.outer*98) + (floordiv((threadIdx.x_1*2), 81)*49)) + (floordiv(floormod((threadIdx.x_1*2), 81), 9)*7)) + floormod((threadIdx.x_1* [...]
-          }
-          if @tir.likely((threadIdx.x_1 &lt; 81), dtype=bool) {
-            pad_temp.shared_1[((threadIdx.x_1*2) + 1)] = @tir.if_then_else(((((9 &lt;= floormod(((threadIdx.x_1*2) + 1), 81)) &amp;&amp; (floormod(((threadIdx.x_1*2) + 1), 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod(((threadIdx.x_1*2) + 1), 9))) &amp;&amp; (floormod(((threadIdx.x_1*2) + 1), 9) &lt; 8)), data[(((((rc.outer.outer*98) + (floordiv(((threadIdx.x_1*2) + 1), 81)*49)) + (floordiv(floormod(((threadIdx.x_1*2) + 1), 81), 9)*7)) + floormod(((threadIdx.x_1*2) + 1), 9)) - 8)], 0f32, dt [...]
-          }
+        attr [IterVar(threadIdx.x_1: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1: Buffer(pad_temp.shared, float32, [336], [], scope=&quot;shared&quot;)[threadIdx.x_1] = @tir.if_then_else((((3 &lt;= floormod(threadIdx.x_1, 21)) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) &lt; 8)), data[((((cse_var_2 + (floordiv(threadIdx.x_1, 3)*7)) + floormod(blockIdx.x, 7)) + floormod(threadIdx.x_1, 3)) - 8)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 56)] = @tir.if_then_else((((3 &lt;= floormod((threadIdx.x_1 + 56), 21)) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 56), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 2), 3)) - 8)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 112)] = @tir.if_then_else((((3 &lt;= floormod((threadIdx.x_1 + 112), 21)) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 112), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 1), 3)) - 8)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 168)] = @tir.if_then_else((((3 &lt;= floormod(threadIdx.x_1, 21)) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) &lt; 8)), data[((((cse_var_2 + (floordiv(threadIdx.x_1, 3)*7)) + floormod(blockIdx.x, 7)) + floormod(threadIdx.x_1, 3)) + 384)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 224)] = @tir.if_then_else((((3 &lt;= floormod((threadIdx.x_1 + 224), 21)) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 224), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 2), 3)) - 8)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 280)] = @tir.if_then_else((((3 &lt;= floormod((threadIdx.x_1 + 280), 21)) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 280), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 1), 3)) - 8)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_2: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1: Buffer(kernel.shared, float32, [1536], [], scope=&quot;shared&quot;)[threadIdx.x_2] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv(threadIdx.x_2, 48)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 56)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 7), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 112)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 14), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 168)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 21), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 28), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 224), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 280)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 35), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 280), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 336)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 32256)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 49), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 392), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 56), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 448), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 504)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 63), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 560)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 70), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 560), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 616)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 77), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 616), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 64512)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 728)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 91), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 728), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 784)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 98), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 784), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 840)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 105), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 112), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 896), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 952)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 119), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 952), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1008)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 96768)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1064)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 133), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1064), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 140), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1120), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1176)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 147), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1232)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 154), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1232), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1288)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 161), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1288), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 129024)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1400)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 175), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1400), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1456)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 182), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1456), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3))]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        if @tir.likely((threadIdx.x_2 &lt; 24), dtype=bool) {
+          kernel.shared_1[(threadIdx.x_2 + 1512)] = kernel[(((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 189), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3))]
         }
-        attr [IterVar(threadIdx.x_2: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 98;
-        kernel.shared_1: Buffer(kernel.shared, float32, [576], [], scope=&quot;shared&quot;)[threadIdx.x_2] = kernel[((((blockIdx.x*147456) + (floordiv(threadIdx.x_2, 18)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 18))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 98;
-        kernel.shared_1[(threadIdx.x_2 + 98)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 2) + 49), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 18))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 98;
-        kernel.shared_1[(threadIdx.x_2 + 196)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 2) + 98), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 16), 18))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 98;
-        kernel.shared_1[(threadIdx.x_2 + 294)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 2) + 147), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 6), 18))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 98;
-        kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 2) + 196), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 14), 18))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 98;
-        if @tir.likely((threadIdx.x_2 &lt; 86), dtype=bool) {
-          kernel.shared_1[(threadIdx.x_2 + 490)] = kernel[((((blockIdx.x*147456) + (floordiv((floordiv(threadIdx.x_2, 2) + 245), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 18))]
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[(floordiv(threadIdx.x, 7)*192)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 48)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 3)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 51)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 6)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 54)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 9)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 57)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 12)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 60)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 15)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 63)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 18)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 66)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 21)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 69)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 24)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 72)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 27)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 75)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 30)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 78)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 33)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 81)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 36)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 84)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 39)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 87)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 42)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 90)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 45)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 93)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 96)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 144)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 99)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 147)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 102)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 150)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 105)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 153)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 108)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 156)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 111)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 159)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 114)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 162)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 117)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 165)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 120)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 168)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 123)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 171)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 126)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 174)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 129)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 177)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 132)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 180)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 135)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 183)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 138)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 186)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 141)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 189)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 1)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 49)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 4)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 52)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 7)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 55)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 10)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 58)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 13)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 61)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 16)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 64)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 19)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 67)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 22)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 70)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 25)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 73)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 28)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 76)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 31)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 79)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 34)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 82)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 37)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 85)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 40)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 88)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 43)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 91)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 46)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 94)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 97)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 145)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 100)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 148)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 103)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 151)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 106)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 154)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 109)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 157)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 112)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 160)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 115)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 163)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 118)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 166)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 121)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 169)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 124)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 172)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 127)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 175)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 130)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 178)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 133)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 181)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 136)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 184)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 139)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 187)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 142)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 190)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 2)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 50)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 5)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 53)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 8)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 56)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 11)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 59)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 14)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 62)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 17)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 65)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 20)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 68)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 23)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 71)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 26)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 74)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 29)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 77)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 32)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 80)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 35)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 83)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 38)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 86)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 41)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 89)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 44)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 92)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 47)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 95)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 98)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 146)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 101)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 149)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 104)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 152)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 107)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 155)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 110)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 158)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 113)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 161)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 116)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 164)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 119)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 167)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 122)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 170)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 125)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 173)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 128)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 176)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 131)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 179)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 134)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 182)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 137)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 185)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 140)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 188)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 143)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 191)]))
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[threadIdx.x_1] = @tir.if_then_else(((1 &lt;= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) &lt; 8)), data[((((cse_var_2 + (floordiv(threadIdx.x_1, 3)*7)) + floormod(blockIdx.x, 7)) + floormod(threadIdx.x_1, 3)) - 1)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 56)] = @tir.if_then_else(((1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 56), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 2), 3)) - 1)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 112)] = @tir.if_then_else(((1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 112), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 1), 3)) - 1)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 168)] = @tir.if_then_else(((1 &lt;= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) &lt; 8)), data[((((cse_var_2 + (floordiv(threadIdx.x_1, 3)*7)) + floormod(blockIdx.x, 7)) + floormod(threadIdx.x_1, 3)) + 391)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 224)] = @tir.if_then_else(((1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 224), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 2), 3)) - 1)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 280)] = @tir.if_then_else(((1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 280), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 1), 3)) - 1)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[threadIdx.x_2] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(threadIdx.x_2, 48)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 56)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 7), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 112)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 14), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 168)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 21), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 28), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 224), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 280)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 35), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 280), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 336)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 32259)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 49), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 392), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 56), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 448), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 504)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 63), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 560)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 70), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 560), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 616)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 77), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 616), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 64515)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 728)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 91), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 728), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 784)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 98), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 784), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 840)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 105), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 112), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 896), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 952)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 119), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 952), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1008)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 96771)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1064)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 133), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1064), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 140), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1120), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1176)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 147), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1232)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 154), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1232), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1288)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 161), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1288), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 129027)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1400)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 175), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1400), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1456)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 182), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1456), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 3)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        if @tir.likely((threadIdx.x_2 &lt; 24), dtype=bool) {
+          kernel.shared_1[(threadIdx.x_2 + 1512)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 189), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 3)]
         }
-        for (ff.outer.inner: int32, 0, 2) {
-          for (rc.inner: int32, 0, 2) {
-            for (ry.inner: int32, 0, 3) {
-              let cse_var_9: int32 = (ff.outer.inner*8)
-              let cse_var_8: int32 = (cse_var_9 + 7)
-              let cse_var_7: int32 = (cse_var_9 + 6)
-              let cse_var_6: int32 = (cse_var_9 + 5)
-              let cse_var_5: int32 = (cse_var_9 + 4)
-              let cse_var_4: int32 = (cse_var_9 + 3)
-              let cse_var_3: int32 = (cse_var_9 + 2)
-              let cse_var_2: int32 = (cse_var_9 + 1)
-               {
-                conv2d_nchw_1[cse_var_9] = (conv2d_nchw_1[cse_var_9] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3))]))
-                conv2d_nchw_1[cse_var_2] = (conv2d_nchw_1[cse_var_2] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 18)]))
-                conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 36)]))
-                conv2d_nchw_1[cse_var_4] = (conv2d_nchw_1[cse_var_4] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 54)]))
-                conv2d_nchw_1[cse_var_5] = (conv2d_nchw_1[cse_var_5] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 72)]))
-                conv2d_nchw_1[cse_var_6] = (conv2d_nchw_1[cse_var_6] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 90)]))
-                conv2d_nchw_1[cse_var_7] = (conv2d_nchw_1[cse_var_7] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 108)]))
-                conv2d_nchw_1[cse_var_8] = (conv2d_nchw_1[cse_var_8] + (pad_temp.shared_1[((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 126)]))
-                conv2d_nchw_1[cse_var_9] = (conv2d_nchw_1[cse_var_9] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 1)]))
-                conv2d_nchw_1[cse_var_2] = (conv2d_nchw_1[cse_var_2] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 19)]))
-                conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 37)]))
-                conv2d_nchw_1[cse_var_4] = (conv2d_nchw_1[cse_var_4] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 55)]))
-                conv2d_nchw_1[cse_var_5] = (conv2d_nchw_1[cse_var_5] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 73)]))
-                conv2d_nchw_1[cse_var_6] = (conv2d_nchw_1[cse_var_6] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 91)]))
-                conv2d_nchw_1[cse_var_7] = (conv2d_nchw_1[cse_var_7] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 109)]))
-                conv2d_nchw_1[cse_var_8] = (conv2d_nchw_1[cse_var_8] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 127)]))
-                conv2d_nchw_1[cse_var_9] = (conv2d_nchw_1[cse_var_9] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 2)]))
-                conv2d_nchw_1[cse_var_2] = (conv2d_nchw_1[cse_var_2] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 20)]))
-                conv2d_nchw_1[cse_var_3] = (conv2d_nchw_1[cse_var_3] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 38)]))
-                conv2d_nchw_1[cse_var_4] = (conv2d_nchw_1[cse_var_4] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 56)]))
-                conv2d_nchw_1[cse_var_5] = (conv2d_nchw_1[cse_var_5] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 74)]))
-                conv2d_nchw_1[cse_var_6] = (conv2d_nchw_1[cse_var_6] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 92)]))
-                conv2d_nchw_1[cse_var_7] = (conv2d_nchw_1[cse_var_7] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 110)]))
-                conv2d_nchw_1[cse_var_8] = (conv2d_nchw_1[cse_var_8] + (pad_temp.shared_1[(((((rc.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + (ry.inner*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((((floordiv(threadIdx.x, 49)*288) + (ff.outer.inner*144)) + (rc.inner*9)) + (ry.inner*3)) + 128)]))
-              }
-            }
-          }
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[(floordiv(threadIdx.x, 7)*192)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 48)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 3)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 51)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 6)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 54)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 9)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 57)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 12)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 60)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 15)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 63)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 18)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 66)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 21)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 69)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 24)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 72)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 27)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 75)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 30)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 78)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 33)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 81)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 36)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 84)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 39)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 87)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 42)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 90)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 45)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 93)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 96)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 144)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 99)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 147)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 102)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 150)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 105)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 153)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 108)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 156)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 111)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 159)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 114)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 162)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 117)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 165)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 120)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 168)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 123)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 171)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 126)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 174)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 129)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 177)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 132)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 180)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 135)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 183)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 138)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 186)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 141)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 189)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 1)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 49)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 4)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 52)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 7)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 55)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 10)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 58)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 13)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 61)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 16)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 64)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 19)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 67)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 22)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 70)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 25)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 73)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 28)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 76)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 31)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 79)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 34)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 82)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 37)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 85)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 40)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 88)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 43)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 91)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 46)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 94)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 97)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 145)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 100)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 148)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 103)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 151)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 106)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 154)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 109)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 157)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 112)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 160)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 115)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 163)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 118)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 166)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 121)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 169)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 124)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 172)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 127)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 175)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 130)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 178)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 133)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 181)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 136)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 184)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 139)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 187)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 142)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 190)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 2)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 50)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 5)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 53)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 8)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 56)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 11)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 59)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 14)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 62)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 17)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 65)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 20)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 68)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 23)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 71)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 26)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 74)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 29)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 77)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 32)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 80)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 35)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 83)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 38)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 86)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 41)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 89)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 44)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 92)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 47)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 95)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 98)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 146)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 101)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 149)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 104)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 152)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 107)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 155)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 110)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 158)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 113)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 161)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 116)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 164)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 119)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 167)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 122)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 170)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 125)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 173)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 128)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 176)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 131)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 179)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 134)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 182)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 137)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 185)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 140)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 188)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 143)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 191)]))
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[threadIdx.x_1] = @tir.if_then_else((((floormod(threadIdx.x_1, 21) &lt; 18) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) &lt; 8)), data[((((cse_var_2 + (floordiv(threadIdx.x_1, 3)*7)) + floormod(blockIdx.x, 7)) + floormod(threadIdx.x_1, 3)) + 6)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 56)] = @tir.if_then_else((((floormod((threadIdx.x_1 + 56), 21) &lt; 18) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 56), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 2), 3)) + 6)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 112)] = @tir.if_then_else((((floormod((threadIdx.x_1 + 112), 21) &lt; 18) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 112), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 1), 3)) + 6)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 168)] = @tir.if_then_else((((floormod(threadIdx.x_1, 21) &lt; 18) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) &lt; 8)), data[((((cse_var_2 + (floordiv(threadIdx.x_1, 3)*7)) + floormod(blockIdx.x, 7)) + floormod(threadIdx.x_1, 3)) + 398)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 224)] = @tir.if_then_else((((floormod((threadIdx.x_1 + 224), 21) &lt; 18) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 224), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 2), 3)) + 6)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        pad_temp.shared_1[(threadIdx.x_1 + 280)] = @tir.if_then_else((((floormod((threadIdx.x_1 + 280), 21) &lt; 18) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 1), 3)) &lt; 8)), data[((((cse_var_2 + (floordiv((threadIdx.x_1 + 280), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 1), 3)) + 6)], 0f32, dtype=float32)
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[threadIdx.x_2] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(threadIdx.x_2, 48)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 56)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 7), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 112)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 14), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 168)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 21), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 28), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 224), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 280)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 35), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 280), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 336)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 32262)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 49), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 392), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 56), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 448), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 504)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 63), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 560)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 70), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 560), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 616)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 77), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 616), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 64518)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 728)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 91), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 728), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 784)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 98), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 784), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 840)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 105), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 112), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 896), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 952)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 119), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 952), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1008)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 96774)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1064)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 133), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1064), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 140), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1120), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1176)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 147), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1232)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 154), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1232), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1288)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 161), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1288), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv(floordiv(threadIdx.x_2, 8), 6)*4608)) + cse_var_1) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + floormod(threadIdx.x_2, 3)) + 129030)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1400)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 175), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1400), 48), 3)*9)) + floormod((threadIdx.x_2 + 2), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        kernel.shared_1[(threadIdx.x_2 + 1456)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 182), 6)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 1456), 48), 3)*9)) + floormod((threadIdx.x_2 + 1), 3)) + 6)]
+        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
+        if @tir.likely((threadIdx.x_2 &lt; 24), dtype=bool) {
+          kernel.shared_1[(threadIdx.x_2 + 1512)] = kernel[((((((floordiv(blockIdx.x, 7)*147456) + (floordiv((floordiv(threadIdx.x_2, 8) + 189), 6)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 16)*9)) + floormod(threadIdx.x_2, 3)) + 6)]
         }
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[(floordiv(threadIdx.x, 7)*192)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 48)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 3)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 51)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 6)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 54)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 9)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 57)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 12)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 60)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 15)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 63)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 18)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 66)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 21)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 69)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 24)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 72)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 27)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 75)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 30)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 78)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 33)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 81)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 36)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 84)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 39)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 87)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 42)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 90)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 45)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 93)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 96)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 144)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 99)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 21)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 147)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 102)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 42)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 150)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 105)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 63)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 153)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 108)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 156)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 111)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 105)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 159)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 114)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 126)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 162)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 117)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 147)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 165)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 120)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 168)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 168)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 123)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 189)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 171)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 126)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 210)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 174)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 129)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 231)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 177)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 132)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 252)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 180)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 135)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 273)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 183)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 138)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 294)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 186)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 141)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 315)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 189)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 1)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 49)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 4)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 52)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 7)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 55)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 10)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 58)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 13)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 61)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 16)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 64)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 19)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 67)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 22)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 70)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 25)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 73)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 28)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 76)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 31)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 79)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 34)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 82)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 37)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 85)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 40)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 88)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 43)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 91)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 46)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 94)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 97)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 145)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 100)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 22)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 148)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 103)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 43)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 151)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 106)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 64)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 154)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 109)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 157)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 112)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 106)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 160)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 115)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 127)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 163)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 118)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 148)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 166)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 121)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 169)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 169)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 124)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 190)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 172)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 127)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 211)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 175)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 130)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 232)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 178)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 133)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 253)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 181)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 136)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 274)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 184)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 139)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 295)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 187)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 142)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 316)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 190)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 2)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 50)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 5)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 53)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 8)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 56)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 11)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 59)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 14)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 62)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 17)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 65)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 20)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 68)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 23)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 71)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 26)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 74)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 29)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 77)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 32)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 80)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 35)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 83)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 38)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 86)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 41)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 89)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 44)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 92)]))
+        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 47)]))
+        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 95)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 98)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 146)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 101)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 23)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 149)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 104)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 44)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 152)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 107)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 65)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 155)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 110)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 158)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 113)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 107)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 161)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 116)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 128)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 164)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 119)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 149)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 167)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 122)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 170)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 170)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 125)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 191)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 173)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 128)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 212)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 176)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 131)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 233)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 179)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 134)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 254)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 182)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 137)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 275)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 185)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 140)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 296)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 188)]))
+        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 143)]))
+        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 317)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*192) + 191)]))
       }
     }
-    for (i1.inner: int32, 0, 16) {
-      compute[((((blockIdx.x*1568) + (floordiv(threadIdx.x, 49)*784)) + (i1.inner*49)) + floormod(threadIdx.x, 49))] = max((conv2d_nchw_1[i1.inner] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 49)*16)) + i1.inner)]), 0f32)
+    for (i1.inner: int32, 0, 4) {
+      compute[(((((floordiv(blockIdx.x, 7)*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + (floormod(threadIdx.x, 7)*7)) + floormod(blockIdx.x, 7))] = max((conv2d_nchw_1[i1.inner] + bias[(((floordiv(blockIdx.x, 7)*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
     }
   }
 }
@@ -627,9 +1340,9 @@ conv2d_nchw_nn_o_i, conv2d_nchw_nn_i = s[conv2d_nchw].split(conv2d_nchw_nn, fact
 conv2d_nchw_nn_o_o_i, conv2d_nchw_nn_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_i, factor=1)
 conv2d_nchw_nn_o_o_o_i, conv2d_nchw_nn_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_i, factor=1)
 conv2d_nchw_nn_o_o_o_o, conv2d_nchw_nn_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_o_i, factor=1)
-conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=8)
+conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=2)
 conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=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=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=8)
 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)
@@ -637,26 +1350,26 @@ conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_
 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_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=7)
+conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=1)
 conv2d_nchw_xx_o_o_o_o, conv2d_nchw_xx_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_o_i, factor=1)
-conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=2)
+conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=16)
 conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=1)
-conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=3)
+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=3)
-conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_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)
 s[conv2d_nchw].reorder(conv2d_nchw_nn_o_o_o_o, conv2d_nchw_ff_o_o_o_o, conv2d_nchw_yy_o_o_o_o, conv2d_nchw_xx_o_o_o_o, conv2d_nchw_nn_o_o_o_i, conv2d_nchw_ff_o_o_o_i, conv2d_nchw_yy_o_o_o_i, conv2d_nchw_xx_o_o_o_i, conv2d_nchw_nn_o_o_i, conv2d_nchw_ff_o_o_i, conv2d_nchw_yy_o_o_i, conv2d_nchw_xx_o_o_i, conv2d_nchw_rc_o_o, conv2d_nchw_ry_o_o, conv2d_nchw_rx_o_o, conv2d_nchw_rc_o_i, conv2d_nchw_ry_o_i, conv2d_nchw_rx_o_i, conv2d_nchw_nn_o_i, conv2d_nchw_ff_o_i, conv2d_nchw_yy_o_i, conv2d_nc [...]
 compute_i0_o_i, compute_i0_i = s[compute].split(compute_i0, factor=1)
 compute_i0_o_o_i, compute_i0_o_i = s[compute].split(compute_i0_o_i, factor=1)
 compute_i0_o_o_o, compute_i0_o_o_i = s[compute].split(compute_i0_o_o_i, factor=1)
-compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=16)
-compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=2)
+compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=4)
+compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=8)
 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_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_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=7)
+compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=1)
 compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=1)
 s[compute].reorder(compute_i0_o_o_o, compute_i1_o_o_o, compute_i2_o_o_o, compute_i3_o_o_o, compute_i0_o_o_i, compute_i1_o_o_i, compute_i2_o_o_i, compute_i3_o_o_i, compute_i0_o_i, compute_i1_o_i, compute_i2_o_i, compute_i3_o_i, compute_i0_i, compute_i1_i, compute_i2_i, compute_i3_i)
 s[conv2d_nchw].compute_at(s[compute], compute_i3_o_i)
@@ -676,14 +1389,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=98)
+kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=56)
 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=2)
+pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
 s[pad_temp_shared].vectorize(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=98)
+pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=56)
 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;, 64)
+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;unroll_explicit&quot;, True)
 
 CUDA source code:
@@ -701,76 +1414,708 @@ CUDA source code:
   #define int64_t long long
   #define uint64_t unsigned long long
 #endif
-extern &quot;C&quot; __global__ void __launch_bounds__(98) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
-  float conv2d_nchw[16];
-  __shared__ float pad_temp_shared[162];
-  __shared__ float kernel_shared[576];
+extern &quot;C&quot; __global__ void __launch_bounds__(56) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
+  float conv2d_nchw[4];
+  __shared__ float pad_temp_shared[336];
+  __shared__ float kernel_shared[1536];
   conv2d_nchw[0] = 0.000000e+00f;
   conv2d_nchw[1] = 0.000000e+00f;
   conv2d_nchw[2] = 0.000000e+00f;
   conv2d_nchw[3] = 0.000000e+00f;
-  conv2d_nchw[4] = 0.000000e+00f;
-  conv2d_nchw[5] = 0.000000e+00f;
-  conv2d_nchw[6] = 0.000000e+00f;
-  conv2d_nchw[7] = 0.000000e+00f;
-  conv2d_nchw[8] = 0.000000e+00f;
-  conv2d_nchw[9] = 0.000000e+00f;
-  conv2d_nchw[10] = 0.000000e+00f;
-  conv2d_nchw[11] = 0.000000e+00f;
-  conv2d_nchw[12] = 0.000000e+00f;
-  conv2d_nchw[13] = 0.000000e+00f;
-  conv2d_nchw[14] = 0.000000e+00f;
-  conv2d_nchw[15] = 0.000000e+00f;
-  for (int rc_outer_outer = 0; rc_outer_outer &lt; 256; ++rc_outer_outer) {
+  for (int rc_outer_outer = 0; rc_outer_outer &lt; 32; ++rc_outer_outer) {
     __syncthreads();
-    if (((int)threadIdx.x) &lt; 81) {
-      pad_temp_shared[(((int)threadIdx.x) * 2)] = (((((9 &lt;= ((((int)threadIdx.x) * 2) % 81)) &amp;&amp; (((((int)threadIdx.x) * 2) % 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 * 98) + (((((int)threadIdx.x) * 2) / 81) * 49)) + ((((((int)threadIdx.x) * 2) % 81) / 9) * 7)) + ((((int)threadIdx.x) * 2) % 9)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[((int)threadIdx.x)] = ((((3 &lt;= (((int)threadIdx.x) % 21)) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 56)] = ((((3 &lt;= ((((int)threadIdx.x) + 14) % 21)) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 56) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) % 3)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 112)] = ((((3 &lt;= ((((int)threadIdx.x) + 7) % 21)) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 112) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 1) % 3)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 168)] = ((((3 &lt;= (((int)threadIdx.x) % 21)) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) + 384)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 224)] = ((((3 &lt;= ((((int)threadIdx.x) + 14) % 21)) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 224) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) % 3)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 280)] = ((((3 &lt;= ((((int)threadIdx.x) + 7) % 21)) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 280) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 1) % 3)) - 8)] : 0.000000e+00f);
+    kernel_shared[((int)threadIdx.x)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 56)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 56) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 112)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 112) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 168)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 168) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) &amp; 15) * 9)) + (((int)threadIdx.x) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 224)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 224) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 280)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 280) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 336)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 32256)];
+    kernel_shared[(((int)threadIdx.x) + 392)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 392) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 448)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 448) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 504)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 504) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) &amp; 15) * 9)) + (((int)threadIdx.x) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 560)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 560) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 616)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 616) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 672)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 64512)];
+    kernel_shared[(((int)threadIdx.x) + 728)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 728) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 784)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 784) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 840)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 840) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) &amp; 15) * 9)) + (((int)threadIdx.x) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 896)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 896) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 952)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 952) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 96768)];
+    kernel_shared[(((int)threadIdx.x) + 1064)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1064) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1120) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 1176)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1176) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) &amp; 15) * 9)) + (((int)threadIdx.x) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 1232)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1232) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 1288)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1288) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 129024)];
+    kernel_shared[(((int)threadIdx.x) + 1400)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1400) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3))];
+    kernel_shared[(((int)threadIdx.x) + 1456)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1456) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3))];
+    if (((int)threadIdx.x) &lt; 24) {
+      kernel_shared[(((int)threadIdx.x) + 1512)] = kernel[((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1512) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) / 3) + 8) * 9)) + (((int)threadIdx.x) % 3))];
     }
-    if (((int)threadIdx.x) &lt; 81) {
-      pad_temp_shared[((((int)threadIdx.x) * 2) + 1)] = (((((9 &lt;= (((((int)threadIdx.x) * 2) + 1) % 81)) &amp;&amp; ((((((int)threadIdx.x) * 2) + 1) % 81) &lt; 72)) &amp;&amp; (1 &lt;= (((((int)threadIdx.x) * 2) + 1) % 9))) &amp;&amp; ((((((int)threadIdx.x) * 2) + 1) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 98) + ((((((int)threadIdx.x) * 2) + 1) / 81) * 49)) + (((((((int)threadIdx.x) * 2) + 1) % 81) / 9) * 7)) + (((((int)threadIdx.x) * 2) + 1) % 9)) - 8)] : 0.000000e+00f);
-    }
-    kernel_shared[((int)threadIdx.x)] = kernel[((((((int)blockIdx.x) * 147456) + ((((int)threadIdx.x) / 18) * 4608)) + (rc_outer_outer * 18)) + (((int)threadIdx.x) % 18))];
-    kernel_shared[(((int)threadIdx.x) + 98)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 98) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 8) % 18))];
-    kernel_shared[(((int)threadIdx.x) + 196)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 196) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 16) % 18))];
-    kernel_shared[(((int)threadIdx.x) + 294)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 294) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 6) % 18))];
-    kernel_shared[(((int)threadIdx.x) + 392)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 392) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 14) % 18))];
-    if (((int)threadIdx.x) &lt; 86) {
-      kernel_shared[(((int)threadIdx.x) + 490)] = kernel[((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 490) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 4) % 18))];
+    __syncthreads();
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[((((int)threadIdx.x) / 7) * 192)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 48)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 3)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 51)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 6)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 54)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 9)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 57)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 12)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 60)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 15)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 63)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 18)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 66)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 21)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 69)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 24)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 72)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 27)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 75)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 30)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 78)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 33)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 81)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 36)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 84)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 39)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 87)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 42)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 90)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 45)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 93)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 96)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 144)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 99)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 147)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 102)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 150)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 105)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 153)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 108)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 156)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 111)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 159)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 114)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 162)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 117)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 165)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 120)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 168)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 123)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 171)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 126)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 174)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 129)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 177)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 132)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 180)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 135)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 183)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 138)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 186)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 141)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 189)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 1)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 49)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 4)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 52)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 7)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 55)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 10)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 58)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 13)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 61)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 16)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 64)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 19)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 67)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 22)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 70)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 25)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 73)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 28)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 76)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 31)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 79)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 34)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 82)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 37)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 85)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 40)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 88)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 43)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 91)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 46)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 94)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 97)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 145)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 100)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 148)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 103)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 151)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 106)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 154)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 109)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 157)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 112)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 160)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 115)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 163)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 118)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 166)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 121)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 169)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 124)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 172)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 127)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 175)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 130)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 178)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 133)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 181)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 136)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 184)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 139)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 187)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 142)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 190)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 2)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 50)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 5)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 53)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 8)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 56)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 11)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 59)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 14)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 62)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 17)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 65)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 20)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 68)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 23)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 71)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 26)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 74)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 29)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 77)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 32)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 80)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 35)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 83)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 38)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 86)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 41)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 89)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 44)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 92)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 47)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 95)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 98)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 146)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 101)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 149)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 104)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 152)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 107)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 155)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 110)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 158)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 113)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 161)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 116)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 164)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 119)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 167)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 122)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 170)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 125)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 173)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 128)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 176)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 131)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 179)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 134)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 182)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 137)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 185)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 140)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 188)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 143)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 191)]));
+    __syncthreads();
+    pad_temp_shared[((int)threadIdx.x)] = (((1 &lt;= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3))) &amp;&amp; (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) - 1)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 56)] = (((1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 56) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) % 3)) - 1)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 112)] = (((1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 112) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 1) % 3)) - 1)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 168)] = (((1 &lt;= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3))) &amp;&amp; (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) + 391)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 224)] = (((1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 224) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) % 3)) - 1)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 280)] = (((1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 280) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 1) % 3)) - 1)] : 0.000000e+00f);
+    kernel_shared[((int)threadIdx.x)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 56)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 56) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 112)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 112) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 168)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 168) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) &amp; 15) * 9)) + (((int)threadIdx.x) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 224)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 224) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 280)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 280) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 336)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 32259)];
+    kernel_shared[(((int)threadIdx.x) + 392)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 392) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 448) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 504)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 504) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) &amp; 15) * 9)) + (((int)threadIdx.x) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 560)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 560) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 616)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 616) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 672)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 64515)];
+    kernel_shared[(((int)threadIdx.x) + 728)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 728) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 784)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 784) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 840)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 840) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) &amp; 15) * 9)) + (((int)threadIdx.x) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 896) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 952)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 952) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 96771)];
+    kernel_shared[(((int)threadIdx.x) + 1064)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1064) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1120) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 1176)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1176) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) &amp; 15) * 9)) + (((int)threadIdx.x) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 1232)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1232) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 1288)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1288) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 129027)];
+    kernel_shared[(((int)threadIdx.x) + 1400)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1400) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 3)];
+    kernel_shared[(((int)threadIdx.x) + 1456)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1456) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 3)];
+    if (((int)threadIdx.x) &lt; 24) {
+      kernel_shared[(((int)threadIdx.x) + 1512)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1512) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) / 3) + 8) * 9)) + (((int)threadIdx.x) % 3)) + 3)];
     }
     __syncthreads();
-    for (int ff_outer_inner = 0; ff_outer_inner &lt; 2; ++ff_outer_inner) {
-      for (int rc_inner = 0; rc_inner &lt; 2; ++rc_inner) {
-        for (int ry_inner = 0; ry_inner &lt; 3; ++ry_inner) {
-          conv2d_nchw[(ff_outer_inner * 8)] = (conv2d_nchw[(ff_outer_inner * 8)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[(((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3))]));
-          conv2d_nchw[((ff_outer_inner * 8) + 1)] = (conv2d_nchw[((ff_outer_inner * 8) + 1)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 18)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 2)] = (conv2d_nchw[((ff_outer_inner * 8) + 2)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 36)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 3)] = (conv2d_nchw[((ff_outer_inner * 8) + 3)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 54)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 4)] = (conv2d_nchw[((ff_outer_inner * 8) + 4)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 72)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 5)] = (conv2d_nchw[((ff_outer_inner * 8) + 5)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 90)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 6)] = (conv2d_nchw[((ff_outer_inner * 8) + 6)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 108)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 7)] = (conv2d_nchw[((ff_outer_inner * 8) + 7)] + (pad_temp_shared[((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 126)]));
-          conv2d_nchw[(ff_outer_inner * 8)] = (conv2d_nchw[(ff_outer_inner * 8)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 1)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 1)] = (conv2d_nchw[((ff_outer_inner * 8) + 1)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 19)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 2)] = (conv2d_nchw[((ff_outer_inner * 8) + 2)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 37)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 3)] = (conv2d_nchw[((ff_outer_inner * 8) + 3)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 55)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 4)] = (conv2d_nchw[((ff_outer_inner * 8) + 4)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 73)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 5)] = (conv2d_nchw[((ff_outer_inner * 8) + 5)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 91)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 6)] = (conv2d_nchw[((ff_outer_inner * 8) + 6)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 109)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 7)] = (conv2d_nchw[((ff_outer_inner * 8) + 7)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 127)]));
-          conv2d_nchw[(ff_outer_inner * 8)] = (conv2d_nchw[(ff_outer_inner * 8)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 2)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 1)] = (conv2d_nchw[((ff_outer_inner * 8) + 1)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 20)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 2)] = (conv2d_nchw[((ff_outer_inner * 8) + 2)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 38)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 3)] = (conv2d_nchw[((ff_outer_inner * 8) + 3)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 56)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 4)] = (conv2d_nchw[((ff_outer_inner * 8) + 4)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 74)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 5)] = (conv2d_nchw[((ff_outer_inner * 8) + 5)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 92)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 6)] = (conv2d_nchw[((ff_outer_inner * 8) + 6)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 110)]));
-          conv2d_nchw[((ff_outer_inner * 8) + 7)] = (conv2d_nchw[((ff_outer_inner * 8) + 7)] + (pad_temp_shared[(((((rc_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (ry_inner * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((((int)threadIdx.x) / 49) * 288) + (ff_outer_inner * 144)) + (rc_inner * 9)) + (ry_inner * 3)) + 128)]));
-        }
-      }
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[((((int)threadIdx.x) / 7) * 192)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 48)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 3)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 51)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 6)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 54)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 9)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 57)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 12)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 60)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 15)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 63)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 18)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 66)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 21)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 69)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 24)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 72)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 27)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 75)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 30)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 78)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 33)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 81)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 36)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 84)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 39)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 87)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 42)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 90)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 45)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 93)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 96)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 144)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 99)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 147)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 102)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 150)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 105)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 153)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 108)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 156)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 111)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 159)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 114)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 162)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 117)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 165)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 120)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 168)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 123)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 171)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 126)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 174)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 129)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 177)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 132)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 180)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 135)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 183)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 138)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 186)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 141)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 189)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 1)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 49)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 4)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 52)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 7)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 55)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 10)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 58)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 13)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 61)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 16)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 64)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 19)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 67)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 22)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 70)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 25)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 73)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 28)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 76)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 31)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 79)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 34)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 82)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 37)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 85)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 40)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 88)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 43)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 91)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 46)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 94)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 97)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 145)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 100)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 148)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 103)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 151)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 106)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 154)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 109)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 157)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 112)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 160)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 115)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 163)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 118)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 166)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 121)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 169)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 124)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 172)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 127)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 175)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 130)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 178)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 133)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 181)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 136)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 184)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 139)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 187)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 142)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 190)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 2)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 50)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 5)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 53)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 8)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 56)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 11)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 59)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 14)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 62)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 17)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 65)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 20)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 68)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 23)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 71)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 26)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 74)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 29)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 77)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 32)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 80)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 35)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 83)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 38)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 86)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 41)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 89)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 44)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 92)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 47)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 95)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 98)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 146)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 101)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 149)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 104)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 152)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 107)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 155)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 110)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 158)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 113)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 161)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 116)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 164)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 119)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 167)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 122)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 170)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 125)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 173)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 128)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 176)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 131)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 179)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 134)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 182)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 137)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 185)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 140)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 188)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 143)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 191)]));
+    __syncthreads();
+    pad_temp_shared[((int)threadIdx.x)] = (((((((int)threadIdx.x) % 21) &lt; 18) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) + 6)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 56)] = ((((((((int)threadIdx.x) + 14) % 21) &lt; 18) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 56) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) % 3)) + 6)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 112)] = ((((((((int)threadIdx.x) + 7) % 21) &lt; 18) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 112) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 1) % 3)) + 6)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 168)] = (((((((int)threadIdx.x) % 21) &lt; 18) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) + 398)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 224)] = ((((((((int)threadIdx.x) + 14) % 21) &lt; 18) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 224) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) % 3)) + 6)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 280)] = ((((((((int)threadIdx.x) + 7) % 21) &lt; 18) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 1) % 3)) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 280) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 1) % 3)) + 6)] : 0.000000e+00f);
+    kernel_shared[((int)threadIdx.x)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 56)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 56) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 112)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 112) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 168)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 168) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) &amp; 15) * 9)) + (((int)threadIdx.x) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 224)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 224) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 280)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 280) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 336)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 32262)];
+    kernel_shared[(((int)threadIdx.x) + 392)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 392) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 448) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 504)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 504) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) &amp; 15) * 9)) + (((int)threadIdx.x) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 560)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 560) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 616)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 616) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 672)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 64518)];
+    kernel_shared[(((int)threadIdx.x) + 728)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 728) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 784)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 784) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 840)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 840) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) &amp; 15) * 9)) + (((int)threadIdx.x) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 896) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 952)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 952) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 96774)];
+    kernel_shared[(((int)threadIdx.x) + 1064)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1064) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1120) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 1176)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1176) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 8) &amp; 15) * 9)) + (((int)threadIdx.x) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 1232)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1232) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 1288)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1288) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 40) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (((int)threadIdx.x) % 3)) + 129030)];
+    kernel_shared[(((int)threadIdx.x) + 1400)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1400) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 8) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 2) % 3)) + 6)];
+    kernel_shared[(((int)threadIdx.x) + 1456)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1456) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + ((((int)threadIdx.x) + 1) % 3)) + 6)];
+    if (((int)threadIdx.x) &lt; 24) {
+      kernel_shared[(((int)threadIdx.x) + 1512)] = kernel[(((((((((int)blockIdx.x) / 7) * 147456) + (((((int)threadIdx.x) + 1512) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) / 3) + 8) * 9)) + (((int)threadIdx.x) % 3)) + 6)];
     }
+    __syncthreads();
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[((((int)threadIdx.x) / 7) * 192)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 48)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 3)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 51)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 6)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 54)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 9)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 57)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 12)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 60)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 15)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 63)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 18)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 66)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 21)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 69)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 24)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 72)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 27)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 75)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 30)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 78)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 33)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 81)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 36)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 84)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 39)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 87)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 42)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 90)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 45)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 93)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 96)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 144)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 99)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 21)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 147)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 102)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 42)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 150)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 105)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 153)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 108)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 156)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 111)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 105)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 159)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 114)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 162)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 117)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 147)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 165)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 120)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 168)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 168)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 123)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 171)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 126)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 210)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 174)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 129)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 231)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 177)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 132)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 180)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 135)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 273)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 183)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 138)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 294)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 186)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 141)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 189)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 1)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 49)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 4)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 52)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 7)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 55)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 10)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 58)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 13)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 61)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 16)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 64)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 19)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 67)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 22)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 70)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 25)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 73)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 28)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 76)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 31)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 79)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 34)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 82)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 37)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 85)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 40)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 88)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 43)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 91)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 46)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 94)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 97)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 145)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 100)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 22)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 148)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 103)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 43)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 151)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 106)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 154)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 109)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 157)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 112)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 106)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 160)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 115)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 163)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 118)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 148)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 166)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 121)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 169)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 169)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 124)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 172)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 127)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 211)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 175)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 130)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 232)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 178)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 133)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 181)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 136)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 274)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 184)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 139)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 295)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 187)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 142)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 190)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 2)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 50)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 5)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 53)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 8)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 56)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 11)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 59)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 14)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 62)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 17)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 65)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 20)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 68)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 23)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 71)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 26)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 74)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 29)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 77)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 32)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 80)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 35)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 83)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 38)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 86)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 41)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 89)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 44)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 92)]));
+    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 47)]));
+    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 95)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 98)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 146)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 101)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 23)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 149)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 104)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 44)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 152)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 107)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 155)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 110)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 158)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 113)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 107)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 161)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 116)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 164)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 119)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 149)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 167)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 122)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 170)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 170)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 125)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 173)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 128)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 212)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 176)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 131)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 233)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 179)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 134)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 182)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 137)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 275)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 185)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 140)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 296)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 188)]));
+    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 143)]));
+    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 192) + 191)]));
   }
-  for (int i1_inner = 0; i1_inner &lt; 16; ++i1_inner) {
-    compute[((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 49) * 784)) + (i1_inner * 49)) + (((int)threadIdx.x) % 49))] = max((conv2d_nchw[i1_inner] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 49) * 16)) + i1_inner)]), 0.000000e+00f);
+  for (int i1_inner = 0; i1_inner &lt; 4; ++i1_inner) {
+    compute[((((((((int)blockIdx.x) / 7) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + ((((int)threadIdx.x) % 7) * 7)) + (((int)blockIdx.x) % 7))] = max((conv2d_nchw[i1_inner] + bias[((((((int)blockIdx.x) / 7) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
   }
 }
 </pre></div>
@@ -808,7 +2153,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  17.866 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  6.708 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 dbbeb67e5..9c41329d1 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
@@ -878,7 +878,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.6355       9.6521       9.6627       9.5918       0.0312
+   9.6506       9.6454       9.6917       9.6147       0.0317
 </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 2954701ad..c56b7a57a 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
@@ -897,7 +897,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)
-  761.3443     760.9839     762.2875     760.7615      0.6731
+  744.9859     744.6094     745.7664     744.5819      0.5520
 </pre></div>
 </div>
 </div>
@@ -919,7 +919,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  17.876 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  16.992 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 4b41ae258..b0b740644 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
@@ -600,76 +600,30 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
              placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [65536], []),
              compute: Buffer(compute_2: Pointer(float32), float32, [65536], [])}
   buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute}
-  preflattened_buffer_map = {placeholder_9: placeholder_15: Buffer(placeholder_14, float32, [128, 512], []), placeholder_6: placeholder_16: Buffer(placeholder_11, float32, [4916, 16, 1], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_7: placeholder_17: Buffer(placeholder_12, int32, [4916], []), placeholder_8: placeholder_18: Buffer(placeholder_13, int32, [33], []), placeholder_5: placeholder_19: Buffer(placeholder_10, float32, [128, 256], [])} {
-  for (i0.outer.i1.outer.fused: int32, 0, 128) &quot;parallel&quot; {
-    allocate(compute_4: Pointer(global float32), float32, [512]), storage_scope = global {
-      for (i.outer.inner: int32, 0, 8) {
-        for (i.inner.init: int32, 0, 4) {
-          let cse_var_1: int32 = ((i.outer.inner*64) + (i.inner.init*16))
-           {
-            compute_5: Buffer(compute_4, float32, [512], [])[cse_var_1] = 0f32
-            compute_5[(cse_var_1 + 1)] = 0f32
-            compute_5[(cse_var_1 + 2)] = 0f32
-            compute_5[(cse_var_1 + 3)] = 0f32
-            compute_5[(cse_var_1 + 4)] = 0f32
-            compute_5[(cse_var_1 + 5)] = 0f32
-            compute_5[(cse_var_1 + 6)] = 0f32
-            compute_5[(cse_var_1 + 7)] = 0f32
-            compute_5[(cse_var_1 + 8)] = 0f32
-            compute_5[(cse_var_1 + 9)] = 0f32
-            compute_5[(cse_var_1 + 10)] = 0f32
-            compute_5[(cse_var_1 + 11)] = 0f32
-            compute_5[(cse_var_1 + 12)] = 0f32
-            compute_5[(cse_var_1 + 13)] = 0f32
-            compute_5[(cse_var_1 + 14)] = 0f32
-            compute_5[(cse_var_1 + 15)] = 0f32
+  preflattened_buffer_map = {placeholder_8: placeholder_15: Buffer(placeholder_13, int32, [33], []), placeholder_9: placeholder_16: Buffer(placeholder_14, float32, [128, 512], []), placeholder_7: placeholder_17: Buffer(placeholder_12, int32, [4916], []), placeholder_5: placeholder_18: Buffer(placeholder_10, float32, [128, 256], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_6: placeholder_19: Buffer(placeholder_11, float32, [4916, 16, 1], [])} {
+  for (i0.outer.i1.outer.fused: int32, 0, 16) &quot;parallel&quot; {
+    allocate(compute_4: Pointer(global float32), float32, [4096]), storage_scope = global {
+      for (i.outer.inner: int32, 0, 32) {
+        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, [4096], [])[((((i.outer.inner*128) + (i.inner.init*32)) + (nb_j.inner*16)) + j.init)] = 0f32
+            }
           }
-        }
-        for (elem_idx: int32, 0, let cse_var_2: int32 = floormod(i0.outer.i1.outer.fused, 32) in (placeholder_3[(cse_var_2 + 1)] - placeholder_3[cse_var_2])) {
-          for (i.inner: int32, 0, 4) {
-            let cse_var_21: int32 = floormod(i0.outer.i1.outer.fused, 32)
-            let cse_var_20: int32 = (elem_idx*16)
-            let cse_var_19: int32 = ((i.outer.inner*64) + (i.inner*16))
-            let cse_var_18: int32 = (cse_var_19 + 10)
-            let cse_var_17: int32 = (cse_var_19 + 11)
-            let cse_var_16: int32 = (cse_var_19 + 12)
-            let cse_var_15: int32 = (cse_var_19 + 13)
-            let cse_var_14: int32 = (cse_var_19 + 14)
-            let cse_var_13: int32 = (cse_var_19 + 15)
-            let cse_var_12: int32 = (cse_var_19 + 2)
-            let cse_var_11: int32 = (cse_var_19 + 3)
-            let cse_var_10: int32 = (cse_var_19 + 4)
-            let cse_var_9: int32 = (cse_var_19 + 5)
-            let cse_var_8: int32 = (cse_var_19 + 6)
-            let cse_var_7: int32 = (cse_var_19 + 7)
-            let cse_var_6: int32 = (cse_var_19 + 8)
-            let cse_var_5: int32 = (cse_var_19 + 9)
-            let cse_var_4: int32 = (cse_var_19 + 1)
-            let cse_var_3: int32 = (((floordiv(i0.outer.i1.outer.fused, 32)*8192) + (i.outer.inner*1024)) + (i.inner*256))
-             {
-              compute_5[cse_var_19] = (compute_5[cse_var_19] + (placeholder_1[((placeholder_3[cse_var_21]*16) + cse_var_20)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 1)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_12] = (compute_5[cse_var_12] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 2)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_11] = (compute_5[cse_var_11] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 3)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_10] = (compute_5[cse_var_10] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 4)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_9] = (compute_5[cse_var_9] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 5)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_8] = (compute_5[cse_var_8] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 6)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_7] = (compute_5[cse_var_7] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 7)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_6] = (compute_5[cse_var_6] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 8)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_5] = (compute_5[cse_var_5] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 9)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_18] = (compute_5[cse_var_18] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 10)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_17] = (compute_5[cse_var_17] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 11)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_16] = (compute_5[cse_var_16] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 12)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_15] = (compute_5[cse_var_15] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 13)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_14] = (compute_5[cse_var_14] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 14)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
-              compute_5[cse_var_13] = (compute_5[cse_var_13] + (placeholder_1[(((placeholder_3[cse_var_21]*16) + cse_var_20) + 15)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_21] + elem_idx)])], 0f32)))
+          for (elem_idx: int32, 0, let cse_var_1: int32 = ((i0.outer.i1.outer.fused*2) + nb_j.inner) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
+            for (i.inner: int32, 0, 4) {
+              for (j: int32, 0, 16) {
+                let cse_var_3: int32 = ((i0.outer.i1.outer.fused*2) + nb_j.inner)
+                let cse_var_2: int32 = ((((i.outer.inner*128) + (i.inner*32)) + (nb_j.inner*16)) + j)
+                compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[(((i.outer.inner*1024) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
+              }
             }
           }
         }
       }
-      for (i0.inner: int32, 0, 32) {
-        let cse_var_22: int32 = (((floordiv(i0.outer.i1.outer.fused, 32)*16384) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 32)*16))
-        compute[ramp(cse_var_22, 1, 16)] = max((compute_5[ramp((i0.inner*16), 1, 16)] + placeholder_4[ramp(cse_var_22, 1, 16)]), broadcast(0f32, 16))
+      for (i0.inner: int32, 0, 128) {
+        let cse_var_4: int32 = ((i0.inner*512) + (i0.outer.i1.outer.fused*32))
+        compute[ramp(cse_var_4, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_4, 1, 32)]), broadcast(0f32, 32))
       }
     }
   }
@@ -708,7 +662,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.110 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.440 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 785a497bf..3a5d6a2e7 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.094</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
+<p><strong>00:44.817</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:43.272</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.216</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.203</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.203</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.200</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:44.032</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.203</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.195</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.194</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.192</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>
 </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 2285e5be6..10eed131c 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: 42.27/42.27     result: MeasureResult(costs=(0.005476408368421053,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5698997974395752, timestamp=1653899414.3861299)       [(&#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.27      result: Traceback (most recent call last):
+No: 6   GFLOPS: 93.91/93.91     result: MeasureResult(costs=(0.002465157041666667,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.1335020065307617, timestamp=1653916922.257216)        [(&#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/93.91      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/42.27      result: Traceback (most recent call last):
+No: 8   GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+No: 9   GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+No: 10  GFLOPS: 0.00/93.91      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/42.27      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/42.27      result: Traceback (most recent call last):
+No: 11  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+No: 12  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+No: 13  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+No: 14  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+No: 15  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+No: 16  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+No: 17  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+No: 18  GFLOPS: 0.00/93.91      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/42.27      result: Traceback (most recent call last):
+No: 19  GFLOPS: 0.00/93.91      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: 0x00007f12a31affa2
+  12: 0x00007fc958e59fa2
   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.41/144.41   result: MeasureResult(costs=(0.0016030944600000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.431628942489624, timestamp=1653899440.7778516)       [(&#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.99/144.99   result: MeasureResult(costs=(0.0015966614899999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3704805374145508, timestamp=1653916940.8917131)      [(&#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.001997
+Time cost of this operator: 0.001993
 </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 6050f0dbd..70e857b77 100644
--- a/docs/how_to/work_with_microtvm/micro_autotune.html
+++ b/docs/how_to/work_with_microtvm/micro_autotune.html
@@ -555,10 +555,10 @@ the tuned operator.</p>
 ########## Build without Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs
 ---------                                     ---                                           --------  -------  -----              ------  -------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  349.5     98.872   (1, 2, 10, 10, 3)  2       1
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.079     0.871    (1, 6, 10, 10)     1       1
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.907     0.257    (1, 1, 10, 10, 3)  1       1
-Total_time                                    -                                             353.486   -        -                  -       -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  311.3     98.755   (1, 2, 10, 10, 3)  2       1
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.018     0.957    (1, 6, 10, 10)     1       1
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.907     0.288    (1, 1, 10, 10, 3)  1       1
+Total_time                                    -                                             315.225   -        -                  -       -
 </pre></div>
 </div>
 </div>
@@ -610,10 +610,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  219.4     98.777   (1, 1, 10, 10, 6)  2       1
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.9       0.855    (1, 6, 10, 10)     1       1
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.816     0.367    (1, 3, 10, 10, 1)  1       1
-Total_time                                    -                                             222.116   -        -                  -       -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  119.5     97.823   (1, 6, 10, 10, 1)  2       1
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.714     1.403    (1, 6, 10, 10)     1       1
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.945     0.774    (1, 1, 10, 10, 3)  1       1
+Total_time                                    -                                             122.159   -        -                  -       -
 </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 3a8251b9f..1efc08b25 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.699</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
+<p><strong>00:45.112</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:41.541</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.588</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.197</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 with CMSIS-NN</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_ethosu.py</span></code>)</p></li>
-<li><p><strong>00:00.192</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:00.182</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:41.164</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.392</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.191</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 with CMSIS-NN</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_ethosu.py</span></code>)</p></li>
+<li><p><strong>00:00.187</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:00.178</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>
 </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 8bb1586eb..d403397e2 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:12.040</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
+<p><strong>00:04.957</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:10.081</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.754</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.204</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:03.396</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.361</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.200</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 972f1d39e..66778cf44 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.586</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
+<p><strong>00:04.784</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:02.069</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.147</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.713</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.700</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.296</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.229</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.224</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.208</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:01.822</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:00.748</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.646</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.635</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.287</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.223</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.217</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.206</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 ef10c7043..5a4992983 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/tmp6uxfu15a/input0.cc&#39;\nsource_filename = \&quot;/tmp/tmp6uxfu15a/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/tmpf566bsfp/input0.cc&#39;\nsource_filename = \&quot;/tmp/tmpf566bsfp/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/constant__utils_8h_source.html b/docs/reference/api/doxygen/constant__utils_8h_source.html
index 6c8aa772d..37b201cd9 100644
--- a/docs/reference/api/doxygen/constant__utils_8h_source.html
+++ b/docs/reference/api/doxygen/constant__utils_8h_source.html
@@ -76,7 +76,7 @@ $(function() {
 <div class="ttc" id="tir_2expr_8h_html"><div class="ttname"><a href="tir_2expr_8h.html">expr.h</a></div><div class="ttdoc">TIR expressions. </div></div>
 <div class="ttc" id="namespacetvm_1_1tir_html_ae8c7db788e840dc1c2ed1f365d5ea829"><div class="ttname"><a href="namespacetvm_1_1tir.html#ae8c7db788e840dc1c2ed1f365d5ea829">tvm::tir::IntImmNode</a></div><div class="ttdeci">tvm::IntImmNode IntImmNode</div><div class="ttdef"><b>Definition:</b> expr.h:49</div></div>
 <div class="ttc" id="operation_8h_html"><div class="ttname"><a href="operation_8h.html">operation.h</a></div><div class="ttdoc">Operation node can generate one or multiple Tensors. </div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a5c414d5e54c099ad7287be302aac8f02"><div class="ttname"><a href="namespacetvm_1_1tir.html#a5c414d5e54c099ad7287be302aac8f02">tvm::tir::is_const_int</a></div><div class="ttdeci">bool is_const_int(const PrimExpr &amp;x, int64_t value)</div><div class="ttdoc">Check whether x is a constant integer expression. </div><div class="ttdef"><b>Definition:</b> op.h:1077</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a5c414d5e54c099ad7287be302aac8f02"><div class="ttname"><a href="namespacetvm_1_1tir.html#a5c414d5e54c099ad7287be302aac8f02">tvm::tir::is_const_int</a></div><div class="ttdeci">bool is_const_int(const PrimExpr &amp;x, int64_t value)</div><div class="ttdoc">Check whether x is a constant integer expression. </div><div class="ttdef"><b>Definition:</b> op.h:1086</div></div>
 <div class="ttc" id="classtvm_1_1arith_1_1Analyzer_html"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html">tvm::arith::Analyzer</a></div><div class="ttdoc">Analyzer that contains bunch of sub-analyzers. </div><div class="ttdef"><b>Definition:</b> analyzer.h:387</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
diff --git a/docs/reference/api/doxygen/detail_2broadcast_8h_source.html b/docs/reference/api/doxygen/detail_2broadcast_8h_source.html
index e821c006e..e2c102dc4 100644
--- a/docs/reference/api/doxygen/detail_2broadcast_8h_source.html
+++ b/docs/reference/api/doxygen/detail_2broadcast_8h_source.html
@@ -76,7 +76,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="namespacetvm_html_a0df5ca82d2c566f628ebb2f1e84a3fcb"><div class="ttname"><a href="namespacetvm.html#a0df5ca82d2c566f628ebb2f1e84a3fcb">tvm::max</a></div><div class="ttdeci">PrimExpr max(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">take maximum of two values </div></div>
 <div class="ttc" id="namespacetvm_1_1tir_html_ae8c7db788e840dc1c2ed1f365d5ea829"><div class="ttname"><a href="namespacetvm_1_1tir.html#ae8c7db788e840dc1c2ed1f365d5ea829">tvm::tir::IntImmNode</a></div><div class="ttdeci">tvm::IntImmNode IntImmNode</div><div class="ttdef"><b>Definition:</b> expr.h:49</div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_aed3f57cf8d1c3546f075701898c5b70f"><div class="ttname"><a href="namespacetvm_1_1tir.html#aed3f57cf8d1c3546f075701898c5b70f">tvm::tir::make_zero</a></div><div class="ttdeci">PrimExpr make_zero(DataType t, Span span=Span())</div><div class="ttdoc">Make a const zero expr. </div><div class="ttdef"><b>Definition:</b> op.h:1129</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_aed3f57cf8d1c3546f075701898c5b70f"><div class="ttname"><a href="namespacetvm_1_1tir.html#aed3f57cf8d1c3546f075701898c5b70f">tvm::tir::make_zero</a></div><div class="ttdeci">PrimExpr make_zero(DataType t, Span span=Span())</div><div class="ttdoc">Make a const zero expr. </div><div class="ttdef"><b>Definition:</b> op.h:1138</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor. </div><div class="ttdef"><b>Definition:</b> transform.h:1704</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html_a6b097149e69ea03fe3b812a3f5f7fcd9"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html#a6b097149e69ea03fe3b812a3f5f7fcd9">tvm::runtime::Array::end</a></div><div class="ttdeci">iterator end() const</div><div class="ttdef"><b>Definition:</b> array.h:369</div></div>
 <div class="ttc" id="classtvm_1_1te_1_1Tensor_html"><div class="ttname"><a href="classtvm_1_1te_1_1Tensor.html">tvm::te::Tensor</a></div><div class="ttdoc">Tensor structure representing a possible input, or intermediate computation result. </div><div class="ttdef"><b>Definition:</b> tensor.h:102</div></div>
diff --git a/docs/reference/api/doxygen/detail_2extern_8h_source.html b/docs/reference/api/doxygen/detail_2extern_8h_source.html
index 5af023bd1..241afc569 100644
--- a/docs/reference/api/doxygen/detail_2extern_8h_source.html
+++ b/docs/reference/api/doxygen/detail_2extern_8h_source.html
@@ -66,7 +66,7 @@ $(function() {
 <div class="title">extern.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="detail_2extern_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 m [...]
+<a href="detail_2extern_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 m [...]
 <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_1te_html"><div class="ttname"><a href="namespacetvm_1_1te.html">tvm::te</a></div><div class="ttdoc">Tensor expression language DSL. </div><div class="ttdef"><b>Definition:</b> autodiff.h:35</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1Call_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Call.html">tvm::tir::Call</a></div><div class="ttdoc">Managed reference to CallNode. </div><div class="ttdef"><b>Definition:</b> expr.h:947</div></div>
diff --git a/docs/reference/api/doxygen/dilate_8h_source.html b/docs/reference/api/doxygen/dilate_8h_source.html
index bccf02e15..269610c48 100644
--- a/docs/reference/api/doxygen/dilate_8h_source.html
+++ b/docs/reference/api/doxygen/dilate_8h_source.html
@@ -67,7 +67,7 @@ $(function() {
 </div><!--header-->
 <div class="contents">
 <a href="dilate_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * or more cont [...]
-<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1121</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1130</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_1te_html"><div class="ttname"><a href="namespacetvm_1_1te.html">tvm::te</a></div><div class="ttdoc">Tensor expression language DSL. </div><div class="ttdef"><b>Definition:</b> autodiff.h:35</div></div>
 <div class="ttc" id="namespacetvm_html_a353217978feabae3575560bf1586885f"><div class="ttname"><a href="namespacetvm.html#a353217978feabae3575560bf1586885f">tvm::if_then_else</a></div><div class="ttdeci">PrimExpr if_then_else(PrimExpr cond, PrimExpr true_value, PrimExpr false_value, Span span=Span())</div><div class="ttdoc">Conditional expression. </div></div>
diff --git a/docs/reference/api/doxygen/elemwise_8h_source.html b/docs/reference/api/doxygen/elemwise_8h_source.html
index 944c6857b..57d28fbb7 100644
--- a/docs/reference/api/doxygen/elemwise_8h_source.html
+++ b/docs/reference/api/doxygen/elemwise_8h_source.html
@@ -72,7 +72,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_1_1topi_html_a7ac1dc0d99ce93090a4cdf90ab19d4b8"><div class="ttname"><a href="namespacetvm_1_1topi.html#a7ac1dc0d99ce93090a4cdf90ab19d4b8">tvm::topi::minimum</a></div><div class="ttdeci">tvm::PrimExpr minimum(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)</div><div class="ttdef"><b>Definition:</b> broadcast.h:354</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_a91313bc00e3b96717f8420181f789300"><div class="ttname"><a href="namespacetvm_1_1topi.html#a91313bc00e3b96717f8420181f789300">tvm::topi::abs</a></div><div class="ttdeci">Tensor abs(const Tensor &amp;x, std::string name=&quot;T_&quot; &quot;abs&quot;, std::string tag=kElementWise)</div><div class="ttdef"><b>Definition:</b> elemwise.h:60</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_a08b96a24b96a201fb5069337e22e7336"><div class="ttname"><a href="namespacetvm_1_1topi.html#a08b96a24b96a201fb5069337e22e7336">tvm::topi::isinf</a></div><div class="ttdeci">Tensor isinf(const Tensor &amp;x, std::string name=&quot;T_&quot; &quot;isinf&quot;, std::string tag=kElementWise)</div><div class="ttdef"><b>Definition:</b> elemwise.h:75</div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1121</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1130</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_a5c22ce14da6f5589de129861bb06da78"><div class="ttname"><a href="namespacetvm_1_1topi.html#a5c22ce14da6f5589de129861bb06da78">tvm::topi::full</a></div><div class="ttdeci">Tensor full(const Array&lt; PrimExpr &gt; &amp;shape, DataType dtype, const PrimExpr fill_value, std::string name=&quot;T_full&quot;, std::string tag=kElementWise)</div><div class="ttdoc">Creates an operation that fill a tensor with fill_value. </div><div class="ttdef"><b>De [...]
 <div class="ttc" id="namespacetvm_1_1topi_html_a7e7506fced8d921ca7e1a10ae27b1b5b"><div class="ttname"><a href="namespacetvm_1_1topi.html#a7e7506fced8d921ca7e1a10ae27b1b5b">tvm::topi::sqrt</a></div><div class="ttdeci">Tensor sqrt(const Tensor &amp;x, std::string name=&quot;T_&quot; &quot;sqrt&quot;, std::string tag=kElementWise)</div><div class="ttdef"><b>Definition:</b> elemwise.h:52</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>
diff --git a/docs/reference/api/doxygen/local__response__norm_8h_source.html b/docs/reference/api/doxygen/local__response__norm_8h_source.html
index 2d8c2a1a0..cb6b62be7 100644
--- a/docs/reference/api/doxygen/local__response__norm_8h_source.html
+++ b/docs/reference/api/doxygen/local__response__norm_8h_source.html
@@ -67,7 +67,7 @@ $(function() {
 </div><!--header-->
 <div class="contents">
 <a href="local__response__norm_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="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1121</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1130</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_1te_html"><div class="ttname"><a href="namespacetvm_1_1te.html">tvm::te</a></div><div class="ttdoc">Tensor expression language DSL. </div><div class="ttdef"><b>Definition:</b> autodiff.h:35</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1Var_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Var.html">tvm::tir::Var</a></div><div class="ttdoc">a named variable in TIR </div><div class="ttdef"><b>Definition:</b> var.h:88</div></div>
diff --git a/docs/reference/api/doxygen/namespacemembers_func_g.html b/docs/reference/api/doxygen/namespacemembers_func_g.html
index ee29b914d..8bf3bd829 100644
--- a/docs/reference/api/doxygen/namespacemembers_func_g.html
+++ b/docs/reference/api/doxygen/namespacemembers_func_g.html
@@ -139,6 +139,9 @@ $(function() {
 <li>GetType()
 : <a class="el" href="namespacetvm.html#a48fb9755f38ffcfcd03592a47ffbbd14">tvm</a>
 </li>
+<li>GetTypeFromRuntimeDataType()
+: <a class="el" href="namespacetvm.html#a5a8143fd484af0da57222d6ff0da6323">tvm</a>
+</li>
 <li>GetVectorBytes()
 : <a class="el" href="namespacetvm_1_1runtime.html#ad01a53416152b68029d67190c3709d25">tvm::runtime</a>
 </li>
@@ -149,11 +152,11 @@ $(function() {
 : <a class="el" href="namespacetvm_1_1te.html#a0de1399717049f2b3582f0344b267d56">tvm::te</a>
 </li>
 <li>greater()
-: <a class="el" href="namespacetvm.html#a7ffc1cdb3a52b680e4b509395c9a252d">tvm</a>
-, <a class="el" href="namespacetvm_1_1topi.html#ac4567ae14cdbf86db365e66f9de5d43a">tvm::topi</a>
+: <a class="el" href="namespacetvm.html#a6616d96720236d83e923e5e06009c3e4">tvm</a>
+, <a class="el" href="namespacetvm_1_1topi.html#ab0f3830047f4c7386efafe415aefd19f">tvm::topi</a>
 </li>
 <li>greater_equal()
-: <a class="el" href="namespacetvm.html#aa7f616193a71c13d01ce3a3fab469f9d">tvm</a>
+: <a class="el" href="namespacetvm.html#abb5d20ed2442a24c846734f9b403827f">tvm</a>
 , <a class="el" href="namespacetvm_1_1topi.html#a4ab87f8165493b3fa0acc00a83c0a2e4">tvm::topi</a>
 </li>
 <li>GreedyByConflicts()
diff --git a/docs/reference/api/doxygen/namespacemembers_g.html b/docs/reference/api/doxygen/namespacemembers_g.html
index 9c0816415..17c1e990e 100644
--- a/docs/reference/api/doxygen/namespacemembers_g.html
+++ b/docs/reference/api/doxygen/namespacemembers_g.html
@@ -139,6 +139,9 @@ $(function() {
 <li>GetType()
 : <a class="el" href="namespacetvm.html#a48fb9755f38ffcfcd03592a47ffbbd14">tvm</a>
 </li>
+<li>GetTypeFromRuntimeDataType()
+: <a class="el" href="namespacetvm.html#a5a8143fd484af0da57222d6ff0da6323">tvm</a>
+</li>
 <li>GetVectorBytes()
 : <a class="el" href="namespacetvm_1_1runtime.html#ad01a53416152b68029d67190c3709d25">tvm::runtime</a>
 </li>
@@ -162,11 +165,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#ab0f3830047f4c7386efafe415aefd19f">tvm::topi</a>
 </li>
 <li>greater_equal()
-: <a class="el" href="namespacetvm.html#a78f0e420a400bb38907d21cfeaab8e18">tvm</a>
-, <a class="el" href="namespacetvm_1_1topi.html#a4ab87f8165493b3fa0acc00a83c0a2e4">tvm::topi</a>
+: <a class="el" href="namespacetvm.html#a77814ef6c0025fba05e32b4cfd1d3e62">tvm</a>
+, <a class="el" href="namespacetvm_1_1topi.html#a1bb9dc6d401013bedf5a2af6f991a60d">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_s.html b/docs/reference/api/doxygen/namespacemembers_s.html
index 863646f73..432b25736 100644
--- a/docs/reference/api/doxygen/namespacemembers_s.html
+++ b/docs/reference/api/doxygen/namespacemembers_s.html
@@ -350,7 +350,7 @@ $(function() {
 : <a class="el" href="namespacetvm_1_1runtime.html#a277f104e659f71cd8885744700016341">tvm::runtime</a>
 </li>
 <li>sub()
-: <a class="el" href="namespacetvm.html#a269b014ef11118b07bae6efb0300ba6f">tvm</a>
+: <a class="el" href="namespacetvm.html#a9d05fc8e6a57888c5fd908152bf6d84a">tvm</a>
 </li>
 <li>SubspaceDivide()
 : <a class="el" href="namespacetvm_1_1arith.html#ad117438a2de4af731dce3199645ac1a2">tvm::arith</a>
@@ -362,7 +362,7 @@ $(function() {
 : <a class="el" href="namespacetvm_1_1relay.html#aa65d5cde84db61b456ce982b5328fae2">tvm::relay</a>
 </li>
 <li>subtract()
-: <a class="el" href="namespacetvm_1_1topi.html#a8867a72d238dbab5ccbe006b7ddd41ed">tvm::topi</a>
+: <a class="el" href="namespacetvm_1_1topi.html#a461a374321614b257311660b8bc45d0d">tvm::topi</a>
 </li>
 <li>sum()
 : <a class="el" href="namespacetvm.html#afdad0c0329bd39949ba8d296cfb85d76">tvm</a>
diff --git a/docs/reference/api/doxygen/namespacetvm.html b/docs/reference/api/doxygen/namespacetvm.html
index 92eaa7a5f..b582d9f22 100644
--- a/docs/reference/api/doxygen/namespacetvm.html
+++ b/docs/reference/api/doxygen/namespacetvm.html
@@ -663,6 +663,9 @@ Functions</h2></td></tr>
 <tr class="memitem:a48fb9755f38ffcfcd03592a47ffbbd14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm.html#a48fb9755f38ffcfcd03592a47ffbbd14">GetType</a> (const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;expr)</td></tr>
 <tr class="memdesc:a48fb9755f38ffcfcd03592a47ffbbd14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of the expression under the unified type system.  <a href="#a48fb9755f38ffcfcd03592a47ffbbd14">More...</a><br /></td></tr>
 <tr class="separator:a48fb9755f38ffcfcd03592a47ffbbd14"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a8143fd484af0da57222d6ff0da6323"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm.html#a5a8143fd484af0da57222d6ff0da6323">GetTypeFromRuntimeDataType</a> (const <a class="el" href="namespacetvm.html#a41918af1a1dc386388639a9d3ad06c5d">DataType</a> &amp;dtype)</td></tr>
+<tr class="memdesc:a5a8143fd484af0da57222d6ff0da6323"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type corresponding to DataType.  <a href="#a5a8143fd484af0da57222d6ff0da6323">More...</a><br /></td></tr>
+<tr class="separator:a5a8143fd484af0da57222d6ff0da6323"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a0447e9aa45f6cab707f6dc9f9281b3f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1runtime_1_1DataType.html">runtime::DataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm.html#a0447e9aa45f6cab707f6dc9f9281b3f5">GetRuntimeDataType</a> (const <a class="el" href="classtvm_1_1Type.html">Type</a> &amp;type)</td></tr>
 <tr class="memdesc:a0447e9aa45f6cab707f6dc9f9281b3f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the implied DataType for storing values with type during runtime.  <a href="#a0447e9aa45f6cab707f6dc9f9281b3f5">More...</a><br /></td></tr>
 <tr class="separator:a0447e9aa45f6cab707f6dc9f9281b3f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -2457,8 +2460,8 @@ template&lt;typename TAttrs &gt; </div>
 
 </div>
 </div>
-<a id="a4fa04a2f38468bc444468209b0f38188"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4fa04a2f38468bc444468209b0f38188">&#9670;&nbsp;</a></span>bitwise_or() <span class="overload">[2/3]</span></h2>
+<a id="a3bbd28c926db4678937fe228f77451d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3bbd28c926db4678937fe228f77451d2">&#9670;&nbsp;</a></span>bitwise_or() <span class="overload">[2/3]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -2469,13 +2472,13 @@ template&lt;typename TAttrs &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::bitwise_or </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -2499,8 +2502,8 @@ template&lt;typename TAttrs &gt; </div>
 
 </div>
 </div>
-<a id="a3bbd28c926db4678937fe228f77451d2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3bbd28c926db4678937fe228f77451d2">&#9670;&nbsp;</a></span>bitwise_or() <span class="overload">[3/3]</span></h2>
+<a id="a4fa04a2f38468bc444468209b0f38188"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4fa04a2f38468bc444468209b0f38188">&#9670;&nbsp;</a></span>bitwise_or() <span class="overload">[3/3]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -2511,13 +2514,13 @@ template&lt;typename TAttrs &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::bitwise_or </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -3358,8 +3361,8 @@ template&lt;typename TAttrs &gt; </div>
 
 </div>
 </div>
-<a id="a421c6836f0e87cd662320a8f6c23d452"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a421c6836f0e87cd662320a8f6c23d452">&#9670;&nbsp;</a></span>div() <span class="overload">[5/6]</span></h2>
+<a id="a9d90476be7c95b4c40fe267fd2af5603"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9d90476be7c95b4c40fe267fd2af5603">&#9670;&nbsp;</a></span>div() <span class="overload">[5/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -3376,7 +3379,7 @@ template&lt;typename TAttrs &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">double&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -3400,8 +3403,8 @@ template&lt;typename TAttrs &gt; </div>
 
 </div>
 </div>
-<a id="a9d90476be7c95b4c40fe267fd2af5603"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9d90476be7c95b4c40fe267fd2af5603">&#9670;&nbsp;</a></span>div() <span class="overload">[6/6]</span></h2>
+<a id="a421c6836f0e87cd662320a8f6c23d452"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a421c6836f0e87cd662320a8f6c23d452">&#9670;&nbsp;</a></span>div() <span class="overload">[6/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -3418,7 +3421,7 @@ template&lt;typename TAttrs &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">double&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -3935,8 +3938,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a93ac0e2663a2169194399b57ae39b003"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a93ac0e2663a2169194399b57ae39b003">&#9670;&nbsp;</a></span>floormod() <span class="overload">[2/3]</span></h2>
+<a id="a964496f2d1c20c65f758f46a544d9980"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a964496f2d1c20c65f758f46a544d9980">&#9670;&nbsp;</a></span>floormod() <span class="overload">[2/3]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -3947,13 +3950,13 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::floormod </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -3977,8 +3980,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a964496f2d1c20c65f758f46a544d9980"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a964496f2d1c20c65f758f46a544d9980">&#9670;&nbsp;</a></span>floormod() <span class="overload">[3/3]</span></h2>
+<a id="a93ac0e2663a2169194399b57ae39b003"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a93ac0e2663a2169194399b57ae39b003">&#9670;&nbsp;</a></span>floormod() <span class="overload">[3/3]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -3989,13 +3992,13 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::floormod </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -4101,6 +4104,34 @@ template&lt;typename TA &gt; </div>
 <dl class="section return"><dt>Returns</dt><dd>The result type.</dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="ir_2type_8h.html" title="IR/AST nodes for the unified type system in TVM. ">tvm/ir/type.h</a> for discussion about the relation between <a class="el" href="classtvm_1_1Type.html" title="Managed reference to TypeNode. ">Type</a> and <a class="el" href="classtvm_1_1runtime_1_1DataType.html" title="Runtime primitive data type. ">runtime::DataType</a>. </dd></dl>
 
+</div>
+</div>
+<a id="a5a8143fd484af0da57222d6ff0da6323"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5a8143fd484af0da57222d6ff0da6323">&#9670;&nbsp;</a></span>GetTypeFromRuntimeDataType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classtvm_1_1Type.html">Type</a> tvm::GetTypeFromRuntimeDataType </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="namespacetvm.html#a41918af1a1dc386388639a9d3ad06c5d">DataType</a> &amp;&#160;</td>
+          <td class="paramname"><em>dtype</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the type corresponding to DataType. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">dtype</td><td>The data type </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The result type</dd></dl>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="ir_2type_8h.html" title="IR/AST nodes for the unified type system in TVM. ">tvm/ir/type.h</a> for discussion about the relation between <a class="el" href="classtvm_1_1Type.html" title="Managed reference to TypeNode. ">Type</a> and <a class="el" href="classtvm_1_1runtime_1_1DataType.html" title="Runtime primitive data type. ">runtime::DataType</a>. </dd></dl>
+
 </div>
 </div>
 <a id="a7ffc1cdb3a52b680e4b509395c9a252d"></a>
@@ -4405,8 +4436,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="abb5d20ed2442a24c846734f9b403827f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abb5d20ed2442a24c846734f9b403827f">&#9670;&nbsp;</a></span>greater_equal() <span class="overload">[2/6]</span></h2>
+<a id="aa7f616193a71c13d01ce3a3fab469f9d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa7f616193a71c13d01ce3a3fab469f9d">&#9670;&nbsp;</a></span>greater_equal() <span class="overload">[2/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -4417,13 +4448,13 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::greater_equal </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -4447,8 +4478,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="aa7f616193a71c13d01ce3a3fab469f9d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa7f616193a71c13d01ce3a3fab469f9d">&#9670;&nbsp;</a></span>greater_equal() <span class="overload">[3/6]</span></h2>
+<a id="abb5d20ed2442a24c846734f9b403827f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abb5d20ed2442a24c846734f9b403827f">&#9670;&nbsp;</a></span>greater_equal() <span class="overload">[3/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -4459,13 +4490,13 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::greater_equal </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -4489,8 +4520,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a78f0e420a400bb38907d21cfeaab8e18"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a78f0e420a400bb38907d21cfeaab8e18">&#9670;&nbsp;</a></span>greater_equal() <span class="overload">[4/6]</span></h2>
+<a id="a51033d1df245ec8bbde0568458f9ef24"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a51033d1df245ec8bbde0568458f9ef24">&#9670;&nbsp;</a></span>greater_equal() <span class="overload">[4/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -4501,13 +4532,13 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::greater_equal </td>
           <td>(</td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -4531,8 +4562,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a51033d1df245ec8bbde0568458f9ef24"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a51033d1df245ec8bbde0568458f9ef24">&#9670;&nbsp;</a></span>greater_equal() <span class="overload">[5/6]</span></h2>
+<a id="a77814ef6c0025fba05e32b4cfd1d3e62"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a77814ef6c0025fba05e32b4cfd1d3e62">&#9670;&nbsp;</a></span>greater_equal() <span class="overload">[5/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -4549,7 +4580,7 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">double&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -4573,8 +4604,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a77814ef6c0025fba05e32b4cfd1d3e62"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a77814ef6c0025fba05e32b4cfd1d3e62">&#9670;&nbsp;</a></span>greater_equal() <span class="overload">[6/6]</span></h2>
+<a id="a78f0e420a400bb38907d21cfeaab8e18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78f0e420a400bb38907d21cfeaab8e18">&#9670;&nbsp;</a></span>greater_equal() <span class="overload">[6/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -4585,13 +4616,13 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::greater_equal </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">double&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -4927,8 +4958,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a048a29e36fa055771713480f3f4ecdf4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a048a29e36fa055771713480f3f4ecdf4">&#9670;&nbsp;</a></span>indexmod() <span class="overload">[2/3]</span></h2>
+<a id="a78b6faac00e9a823e9bcf14e1e02f1f2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78b6faac00e9a823e9bcf14e1e02f1f2">&#9670;&nbsp;</a></span>indexmod() <span class="overload">[2/3]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -4939,13 +4970,13 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::indexmod </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -4969,8 +5000,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a78b6faac00e9a823e9bcf14e1e02f1f2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a78b6faac00e9a823e9bcf14e1e02f1f2">&#9670;&nbsp;</a></span>indexmod() <span class="overload">[3/3]</span></h2>
+<a id="a048a29e36fa055771713480f3f4ecdf4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a048a29e36fa055771713480f3f4ecdf4">&#9670;&nbsp;</a></span>indexmod() <span class="overload">[3/3]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -4981,13 +5012,13 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::indexmod </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -5497,8 +5528,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="ab69bb15adb82d166504b9cbeef21a4dc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab69bb15adb82d166504b9cbeef21a4dc">&#9670;&nbsp;</a></span>less() <span class="overload">[2/6]</span></h2>
+<a id="ae29f761564dc96582c113b69b3d93aaa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae29f761564dc96582c113b69b3d93aaa">&#9670;&nbsp;</a></span>less() <span class="overload">[2/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -5515,7 +5546,7 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">double&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -5539,8 +5570,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a042ab9c595a8a0f63c07dbbdf75ecf9c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a042ab9c595a8a0f63c07dbbdf75ecf9c">&#9670;&nbsp;</a></span>less() <span class="overload">[3/6]</span></h2>
+<a id="ab69bb15adb82d166504b9cbeef21a4dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab69bb15adb82d166504b9cbeef21a4dc">&#9670;&nbsp;</a></span>less() <span class="overload">[3/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -5551,13 +5582,13 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::less </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -5581,8 +5612,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a9bbb69dc3563e07d5f81c003a7ad9aed"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9bbb69dc3563e07d5f81c003a7ad9aed">&#9670;&nbsp;</a></span>less() <span class="overload">[4/6]</span></h2>
+<a id="a0d5dc442dde0e69657c40803d394ea73"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0d5dc442dde0e69657c40803d394ea73">&#9670;&nbsp;</a></span>less() <span class="overload">[4/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -5593,13 +5624,13 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::less </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -5623,8 +5654,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="ae29f761564dc96582c113b69b3d93aaa"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae29f761564dc96582c113b69b3d93aaa">&#9670;&nbsp;</a></span>less() <span class="overload">[5/6]</span></h2>
+<a id="a9bbb69dc3563e07d5f81c003a7ad9aed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9bbb69dc3563e07d5f81c003a7ad9aed">&#9670;&nbsp;</a></span>less() <span class="overload">[5/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -5641,7 +5672,7 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">double&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -5665,8 +5696,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a0d5dc442dde0e69657c40803d394ea73"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0d5dc442dde0e69657c40803d394ea73">&#9670;&nbsp;</a></span>less() <span class="overload">[6/6]</span></h2>
+<a id="a042ab9c595a8a0f63c07dbbdf75ecf9c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a042ab9c595a8a0f63c07dbbdf75ecf9c">&#9670;&nbsp;</a></span>less() <span class="overload">[6/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -5677,7 +5708,7 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::less </td>
           <td>(</td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
@@ -5753,8 +5784,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="aec0ac319177760ff01be833bae8b72bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aec0ac319177760ff01be833bae8b72bf">&#9670;&nbsp;</a></span>less_equal() <span class="overload">[2/6]</span></h2>
+<a id="a59f1a9bebe7948e2570b8c01386253d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a59f1a9bebe7948e2570b8c01386253d4">&#9670;&nbsp;</a></span>less_equal() <span class="overload">[2/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -5771,7 +5802,7 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">double&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -5795,8 +5826,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a59f1a9bebe7948e2570b8c01386253d4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a59f1a9bebe7948e2570b8c01386253d4">&#9670;&nbsp;</a></span>less_equal() <span class="overload">[3/6]</span></h2>
+<a id="a0626fa40cd72920c914ab38a6546a332"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0626fa40cd72920c914ab38a6546a332">&#9670;&nbsp;</a></span>less_equal() <span class="overload">[3/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -5813,7 +5844,7 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">double&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -5837,8 +5868,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="ad4734f467b4107f0da21a510788479c1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad4734f467b4107f0da21a510788479c1">&#9670;&nbsp;</a></span>less_equal() <span class="overload">[4/6]</span></h2>
+<a id="aec0ac319177760ff01be833bae8b72bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aec0ac319177760ff01be833bae8b72bf">&#9670;&nbsp;</a></span>less_equal() <span class="overload">[4/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -5849,13 +5880,13 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::less_equal </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -5921,8 +5952,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a0626fa40cd72920c914ab38a6546a332"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0626fa40cd72920c914ab38a6546a332">&#9670;&nbsp;</a></span>less_equal() <span class="overload">[6/6]</span></h2>
+<a id="ad4734f467b4107f0da21a510788479c1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad4734f467b4107f0da21a510788479c1">&#9670;&nbsp;</a></span>less_equal() <span class="overload">[6/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -5933,13 +5964,13 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::less_equal </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -7078,8 +7109,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a985d745279ddfcd3ef67a98e6fcff4c6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a985d745279ddfcd3ef67a98e6fcff4c6">&#9670;&nbsp;</a></span>min() <span class="overload">[3/7]</span></h2>
+<a id="a9a10cd15c6ff847edef0cb3e6aea94f9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9a10cd15c6ff847edef0cb3e6aea94f9">&#9670;&nbsp;</a></span>min() <span class="overload">[3/7]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -7096,7 +7127,7 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">double&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -7204,8 +7235,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a256aa9e1b6ed1c8dbadc529aae0eddc3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a256aa9e1b6ed1c8dbadc529aae0eddc3">&#9670;&nbsp;</a></span>min() <span class="overload">[6/7]</span></h2>
+<a id="a985d745279ddfcd3ef67a98e6fcff4c6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a985d745279ddfcd3ef67a98e6fcff4c6">&#9670;&nbsp;</a></span>min() <span class="overload">[6/7]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -7222,7 +7253,7 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">double&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -7246,8 +7277,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a9a10cd15c6ff847edef0cb3e6aea94f9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9a10cd15c6ff847edef0cb3e6aea94f9">&#9670;&nbsp;</a></span>min() <span class="overload">[7/7]</span></h2>
+<a id="a256aa9e1b6ed1c8dbadc529aae0eddc3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a256aa9e1b6ed1c8dbadc529aae0eddc3">&#9670;&nbsp;</a></span>min() <span class="overload">[7/7]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -7264,7 +7295,7 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -7408,8 +7439,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a92b9c69c93190d9057dd6f73ff93797a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a92b9c69c93190d9057dd6f73ff93797a">&#9670;&nbsp;</a></span>mul() <span class="overload">[2/6]</span></h2>
+<a id="add1522db4005299ee5d3ee0c7460466d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#add1522db4005299ee5d3ee0c7460466d">&#9670;&nbsp;</a></span>mul() <span class="overload">[2/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -7426,7 +7457,7 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">double&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -7450,8 +7481,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a7a63f5958a0158fc2707f8888bcf13f2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7a63f5958a0158fc2707f8888bcf13f2">&#9670;&nbsp;</a></span>mul() <span class="overload">[3/6]</span></h2>
+<a id="a92b9c69c93190d9057dd6f73ff93797a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a92b9c69c93190d9057dd6f73ff93797a">&#9670;&nbsp;</a></span>mul() <span class="overload">[3/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -7468,7 +7499,7 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">double&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -7492,8 +7523,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="a40c70817dccaa589da0562bc8f179008"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a40c70817dccaa589da0562bc8f179008">&#9670;&nbsp;</a></span>mul() <span class="overload">[4/6]</span></h2>
+<a id="a7a63f5958a0158fc2707f8888bcf13f2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7a63f5958a0158fc2707f8888bcf13f2">&#9670;&nbsp;</a></span>mul() <span class="overload">[4/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -7504,13 +7535,13 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::mul </td>
           <td>(</td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -7534,8 +7565,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="add1522db4005299ee5d3ee0c7460466d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#add1522db4005299ee5d3ee0c7460466d">&#9670;&nbsp;</a></span>mul() <span class="overload">[5/6]</span></h2>
+<a id="af64e20cff6f9f74660c8068469f146b7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af64e20cff6f9f74660c8068469f146b7">&#9670;&nbsp;</a></span>mul() <span class="overload">[5/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -7546,13 +7577,13 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::mul </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -7576,8 +7607,8 @@ template&lt;typename TA &gt; </div>
 
 </div>
 </div>
-<a id="af64e20cff6f9f74660c8068469f146b7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af64e20cff6f9f74660c8068469f146b7">&#9670;&nbsp;</a></span>mul() <span class="overload">[6/6]</span></h2>
+<a id="a40c70817dccaa589da0562bc8f179008"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a40c70817dccaa589da0562bc8f179008">&#9670;&nbsp;</a></span>mul() <span class="overload">[6/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -7588,7 +7619,7 @@ template&lt;typename TA &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::mul </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
@@ -8575,8 +8606,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="ac86d7f61b9f0899a08685145f6bb5051"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac86d7f61b9f0899a08685145f6bb5051">&#9670;&nbsp;</a></span>operator+() <span class="overload">[2/6]</span></h2>
+<a id="a2725c044e8067299c3dccbd453ce614f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2725c044e8067299c3dccbd453ce614f">&#9670;&nbsp;</a></span>operator+() <span class="overload">[2/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -8587,13 +8618,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator+ </td>
           <td>(</td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -8611,8 +8642,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="ad728a6c2c3d21242a4df808aadb722eb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad728a6c2c3d21242a4df808aadb722eb">&#9670;&nbsp;</a></span>operator+() <span class="overload">[3/6]</span></h2>
+<a id="ac86d7f61b9f0899a08685145f6bb5051"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac86d7f61b9f0899a08685145f6bb5051">&#9670;&nbsp;</a></span>operator+() <span class="overload">[3/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -8623,7 +8654,7 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator+ </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
@@ -8647,8 +8678,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a50bfde26f015ed64e1c0341dd65d3fad"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a50bfde26f015ed64e1c0341dd65d3fad">&#9670;&nbsp;</a></span>operator+() <span class="overload">[4/6]</span></h2>
+<a id="ad728a6c2c3d21242a4df808aadb722eb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad728a6c2c3d21242a4df808aadb722eb">&#9670;&nbsp;</a></span>operator+() <span class="overload">[4/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -8659,13 +8690,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator+ </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -8683,8 +8714,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a2725c044e8067299c3dccbd453ce614f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2725c044e8067299c3dccbd453ce614f">&#9670;&nbsp;</a></span>operator+() <span class="overload">[5/6]</span></h2>
+<a id="ac225d9ad74343d0e97a5e943e7f6a7d1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac225d9ad74343d0e97a5e943e7f6a7d1">&#9670;&nbsp;</a></span>operator+() <span class="overload">[5/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -8701,7 +8732,7 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">double&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -8719,8 +8750,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="ac225d9ad74343d0e97a5e943e7f6a7d1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac225d9ad74343d0e97a5e943e7f6a7d1">&#9670;&nbsp;</a></span>operator+() <span class="overload">[6/6]</span></h2>
+<a id="a50bfde26f015ed64e1c0341dd65d3fad"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a50bfde26f015ed64e1c0341dd65d3fad">&#9670;&nbsp;</a></span>operator+() <span class="overload">[6/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -8737,7 +8768,7 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">double&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -8858,8 +8889,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a679ff94dec26779d8769231abb229647"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a679ff94dec26779d8769231abb229647">&#9670;&nbsp;</a></span>operator-() <span class="overload">[3/7]</span></h2>
+<a id="a028ba217f99b6cb1592a6a56b2bc9ee5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a028ba217f99b6cb1592a6a56b2bc9ee5">&#9670;&nbsp;</a></span>operator-() <span class="overload">[3/7]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -8876,7 +8907,7 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">double&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -8894,8 +8925,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a4f40ad3340a853d58664bc864dc10d47"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4f40ad3340a853d58664bc864dc10d47">&#9670;&nbsp;</a></span>operator-() <span class="overload">[4/7]</span></h2>
+<a id="a679ff94dec26779d8769231abb229647"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a679ff94dec26779d8769231abb229647">&#9670;&nbsp;</a></span>operator-() <span class="overload">[4/7]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -8906,13 +8937,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator- </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -8930,8 +8961,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a028ba217f99b6cb1592a6a56b2bc9ee5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a028ba217f99b6cb1592a6a56b2bc9ee5">&#9670;&nbsp;</a></span>operator-() <span class="overload">[5/7]</span></h2>
+<a id="aef861fe5325bc0b415a905a24c42f10a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aef861fe5325bc0b415a905a24c42f10a">&#9670;&nbsp;</a></span>operator-() <span class="overload">[5/7]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -8942,13 +8973,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator- </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">double&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -8966,8 +8997,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="aef861fe5325bc0b415a905a24c42f10a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aef861fe5325bc0b415a905a24c42f10a">&#9670;&nbsp;</a></span>operator-() <span class="overload">[6/7]</span></h2>
+<a id="af7c46ff33a2727f48b10d7d563f4a746"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af7c46ff33a2727f48b10d7d563f4a746">&#9670;&nbsp;</a></span>operator-() <span class="overload">[6/7]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -8978,13 +9009,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator- </td>
           <td>(</td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -9002,8 +9033,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="af7c46ff33a2727f48b10d7d563f4a746"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af7c46ff33a2727f48b10d7d563f4a746">&#9670;&nbsp;</a></span>operator-() <span class="overload">[7/7]</span></h2>
+<a id="a4f40ad3340a853d58664bc864dc10d47"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4f40ad3340a853d58664bc864dc10d47">&#9670;&nbsp;</a></span>operator-() <span class="overload">[7/7]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -9014,13 +9045,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator- </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -9228,8 +9259,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a4c5092e248ab7daa5de5c22717670d8e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4c5092e248ab7daa5de5c22717670d8e">&#9670;&nbsp;</a></span>operator<() <span class="overload">[2/6]</span></h2>
+<a id="a0854363590c38f5479b1da5e70c4f002"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0854363590c38f5479b1da5e70c4f002">&#9670;&nbsp;</a></span>operator<() <span class="overload">[2/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -9246,7 +9277,7 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">double&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -9264,8 +9295,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a46877235265ab97544ec2e561f521b0f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a46877235265ab97544ec2e561f521b0f">&#9670;&nbsp;</a></span>operator<() <span class="overload">[3/6]</span></h2>
+<a id="a4c5092e248ab7daa5de5c22717670d8e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4c5092e248ab7daa5de5c22717670d8e">&#9670;&nbsp;</a></span>operator<() <span class="overload">[3/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -9276,13 +9307,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator&lt; </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -9336,8 +9367,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a0854363590c38f5479b1da5e70c4f002"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0854363590c38f5479b1da5e70c4f002">&#9670;&nbsp;</a></span>operator<() <span class="overload">[5/6]</span></h2>
+<a id="aa672271dbd566a0e7b9e4c87664bccb4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa672271dbd566a0e7b9e4c87664bccb4">&#9670;&nbsp;</a></span>operator<() <span class="overload">[5/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -9354,7 +9385,7 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">double&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -9372,8 +9403,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="aa672271dbd566a0e7b9e4c87664bccb4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa672271dbd566a0e7b9e4c87664bccb4">&#9670;&nbsp;</a></span>operator<() <span class="overload">[6/6]</span></h2>
+<a id="a46877235265ab97544ec2e561f521b0f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a46877235265ab97544ec2e561f521b0f">&#9670;&nbsp;</a></span>operator<() <span class="overload">[6/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -9384,13 +9415,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator&lt; </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -9447,8 +9478,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="ad0449d28f23318cc5163159a58c80ba3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad0449d28f23318cc5163159a58c80ba3">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[2/3]</span></h2>
+<a id="a9d8412e5f401f59f5ca85ed556d70810"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9d8412e5f401f59f5ca85ed556d70810">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[2/3]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -9459,13 +9490,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator&lt;&lt; </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -9483,8 +9514,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a9d8412e5f401f59f5ca85ed556d70810"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9d8412e5f401f59f5ca85ed556d70810">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[3/3]</span></h2>
+<a id="ad0449d28f23318cc5163159a58c80ba3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad0449d28f23318cc5163159a58c80ba3">&#9670;&nbsp;</a></span>operator<<() <span class="overload">[3/3]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -9495,13 +9526,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator&lt;&lt; </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -9558,8 +9589,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a872f50bd7175eccf440865311aa75232"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a872f50bd7175eccf440865311aa75232">&#9670;&nbsp;</a></span>operator<=() <span class="overload">[2/6]</span></h2>
+<a id="af94a56db543e741a23bbf2f51c49091a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af94a56db543e741a23bbf2f51c49091a">&#9670;&nbsp;</a></span>operator<=() <span class="overload">[2/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -9570,13 +9601,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator&lt;= </td>
           <td>(</td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -9630,8 +9661,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="ad5dbec0c48b8644c5c6e9d773ddc106b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad5dbec0c48b8644c5c6e9d773ddc106b">&#9670;&nbsp;</a></span>operator<=() <span class="overload">[4/6]</span></h2>
+<a id="a6eea8276bcc178425bc14f3d878970ff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6eea8276bcc178425bc14f3d878970ff">&#9670;&nbsp;</a></span>operator<=() <span class="overload">[4/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -9642,13 +9673,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator&lt;= </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">double&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -9666,8 +9697,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="af94a56db543e741a23bbf2f51c49091a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af94a56db543e741a23bbf2f51c49091a">&#9670;&nbsp;</a></span>operator<=() <span class="overload">[5/6]</span></h2>
+<a id="a872f50bd7175eccf440865311aa75232"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a872f50bd7175eccf440865311aa75232">&#9670;&nbsp;</a></span>operator<=() <span class="overload">[5/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -9678,13 +9709,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator&lt;= </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -9702,8 +9733,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a6eea8276bcc178425bc14f3d878970ff"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6eea8276bcc178425bc14f3d878970ff">&#9670;&nbsp;</a></span>operator<=() <span class="overload">[6/6]</span></h2>
+<a id="ad5dbec0c48b8644c5c6e9d773ddc106b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad5dbec0c48b8644c5c6e9d773ddc106b">&#9670;&nbsp;</a></span>operator<=() <span class="overload">[6/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -9714,13 +9745,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator&lt;= </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">double&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -9924,8 +9955,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a9cea8f3789d8f3dc78acae43e9a6aad6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9cea8f3789d8f3dc78acae43e9a6aad6">&#9670;&nbsp;</a></span>operator>() <span class="overload">[2/6]</span></h2>
+<a id="acc92dcd3d81981e983ddf05347bc9371"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acc92dcd3d81981e983ddf05347bc9371">&#9670;&nbsp;</a></span>operator>() <span class="overload">[2/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -9942,7 +9973,7 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -9960,8 +9991,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a6aeb6ed068c5de8ab908ff234337aeeb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6aeb6ed068c5de8ab908ff234337aeeb">&#9670;&nbsp;</a></span>operator>() <span class="overload">[3/6]</span></h2>
+<a id="a6d0ad14c882c11311836138a2c164cf3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d0ad14c882c11311836138a2c164cf3">&#9670;&nbsp;</a></span>operator>() <span class="overload">[3/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -9972,7 +10003,7 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator&gt; </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
@@ -9996,8 +10027,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="acc92dcd3d81981e983ddf05347bc9371"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acc92dcd3d81981e983ddf05347bc9371">&#9670;&nbsp;</a></span>operator>() <span class="overload">[4/6]</span></h2>
+<a id="a6aeb6ed068c5de8ab908ff234337aeeb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6aeb6ed068c5de8ab908ff234337aeeb">&#9670;&nbsp;</a></span>operator>() <span class="overload">[4/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -10008,13 +10039,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator&gt; </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -10032,8 +10063,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a7e2181bca182f90533ec35537714d09d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7e2181bca182f90533ec35537714d09d">&#9670;&nbsp;</a></span>operator>() <span class="overload">[5/6]</span></h2>
+<a id="a9cea8f3789d8f3dc78acae43e9a6aad6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9cea8f3789d8f3dc78acae43e9a6aad6">&#9670;&nbsp;</a></span>operator>() <span class="overload">[5/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -10050,7 +10081,7 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">double&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -10068,8 +10099,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a6d0ad14c882c11311836138a2c164cf3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6d0ad14c882c11311836138a2c164cf3">&#9670;&nbsp;</a></span>operator>() <span class="overload">[6/6]</span></h2>
+<a id="a7e2181bca182f90533ec35537714d09d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7e2181bca182f90533ec35537714d09d">&#9670;&nbsp;</a></span>operator>() <span class="overload">[6/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -10080,13 +10111,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator&gt; </td>
           <td>(</td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">double&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -10143,8 +10174,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="af7dee311b945dfc5a821a119c1db9ad1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af7dee311b945dfc5a821a119c1db9ad1">&#9670;&nbsp;</a></span>operator>=() <span class="overload">[2/6]</span></h2>
+<a id="a35961a6074b72fae0dfc48ee395e0673"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a35961a6074b72fae0dfc48ee395e0673">&#9670;&nbsp;</a></span>operator>=() <span class="overload">[2/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -10155,13 +10186,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator&gt;= </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -10215,8 +10246,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a7a94a354cd62137652e09fa887a96100"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7a94a354cd62137652e09fa887a96100">&#9670;&nbsp;</a></span>operator>=() <span class="overload">[4/6]</span></h2>
+<a id="af7dee311b945dfc5a821a119c1db9ad1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af7dee311b945dfc5a821a119c1db9ad1">&#9670;&nbsp;</a></span>operator>=() <span class="overload">[4/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -10227,7 +10258,7 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator&gt;= </td>
           <td>(</td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
@@ -10251,8 +10282,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="ac194836fc11a8ba34e44738da17fd116"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac194836fc11a8ba34e44738da17fd116">&#9670;&nbsp;</a></span>operator>=() <span class="overload">[5/6]</span></h2>
+<a id="a7a94a354cd62137652e09fa887a96100"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7a94a354cd62137652e09fa887a96100">&#9670;&nbsp;</a></span>operator>=() <span class="overload">[5/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -10263,13 +10294,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator&gt;= </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -10287,8 +10318,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a35961a6074b72fae0dfc48ee395e0673"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a35961a6074b72fae0dfc48ee395e0673">&#9670;&nbsp;</a></span>operator>=() <span class="overload">[6/6]</span></h2>
+<a id="ac194836fc11a8ba34e44738da17fd116"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac194836fc11a8ba34e44738da17fd116">&#9670;&nbsp;</a></span>operator>=() <span class="overload">[6/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -10305,7 +10336,7 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -10473,8 +10504,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a82dc2fe21e7a64be5a1b11c2a8775d31"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a82dc2fe21e7a64be5a1b11c2a8775d31">&#9670;&nbsp;</a></span>operator^() <span class="overload">[2/3]</span></h2>
+<a id="a6f638564e5e4d1023096523800f2579e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6f638564e5e4d1023096523800f2579e">&#9670;&nbsp;</a></span>operator^() <span class="overload">[2/3]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -10485,13 +10516,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator^ </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -10509,8 +10540,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a6f638564e5e4d1023096523800f2579e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6f638564e5e4d1023096523800f2579e">&#9670;&nbsp;</a></span>operator^() <span class="overload">[3/3]</span></h2>
+<a id="a82dc2fe21e7a64be5a1b11c2a8775d31"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a82dc2fe21e7a64be5a1b11c2a8775d31">&#9670;&nbsp;</a></span>operator^() <span class="overload">[3/3]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -10521,13 +10552,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator^ </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -10584,8 +10615,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="ad5ba71021b167b0a6ca2138b2c8bbace"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad5ba71021b167b0a6ca2138b2c8bbace">&#9670;&nbsp;</a></span>operator|() <span class="overload">[2/3]</span></h2>
+<a id="a7c7fc3c45e6f6b52b2a1064deabd0797"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7c7fc3c45e6f6b52b2a1064deabd0797">&#9670;&nbsp;</a></span>operator|() <span class="overload">[2/3]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -10596,13 +10627,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator| </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -10620,8 +10651,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a7c7fc3c45e6f6b52b2a1064deabd0797"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7c7fc3c45e6f6b52b2a1064deabd0797">&#9670;&nbsp;</a></span>operator|() <span class="overload">[3/3]</span></h2>
+<a id="ad5ba71021b167b0a6ca2138b2c8bbace"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad5ba71021b167b0a6ca2138b2c8bbace">&#9670;&nbsp;</a></span>operator|() <span class="overload">[3/3]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -10632,13 +10663,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator| </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -10803,8 +10834,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a873bb60c71f37cbb743e21797a53ba06"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a873bb60c71f37cbb743e21797a53ba06">&#9670;&nbsp;</a></span>operator||() <span class="overload">[5/6]</span></h2>
+<a id="a1a3f9ad4d0e25eee9c0b3a9c83114bc0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a3f9ad4d0e25eee9c0b3a9c83114bc0">&#9670;&nbsp;</a></span>operator||() <span class="overload">[5/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -10815,13 +10846,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator|| </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">bool&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">bool&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -10839,8 +10870,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a1a3f9ad4d0e25eee9c0b3a9c83114bc0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1a3f9ad4d0e25eee9c0b3a9c83114bc0">&#9670;&nbsp;</a></span>operator||() <span class="overload">[6/6]</span></h2>
+<a id="a873bb60c71f37cbb743e21797a53ba06"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a873bb60c71f37cbb743e21797a53ba06">&#9670;&nbsp;</a></span>operator||() <span class="overload">[6/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -10851,13 +10882,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::operator|| </td>
           <td>(</td>
-          <td class="paramtype">bool&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">bool&#160;</td>
           <td class="paramname"><em>b</em>&#160;</td>
         </tr>
         <tr>
@@ -11725,8 +11756,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a9cbbc9769fffddd99dfb4ab3f69dafb3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9cbbc9769fffddd99dfb4ab3f69dafb3">&#9670;&nbsp;</a></span>sub() <span class="overload">[2/6]</span></h2>
+<a id="a7470d45dafa0a91b6c62b25cdd61514e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7470d45dafa0a91b6c62b25cdd61514e">&#9670;&nbsp;</a></span>sub() <span class="overload">[2/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -11737,13 +11768,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::sub </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -11809,8 +11840,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a269b014ef11118b07bae6efb0300ba6f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a269b014ef11118b07bae6efb0300ba6f">&#9670;&nbsp;</a></span>sub() <span class="overload">[4/6]</span></h2>
+<a id="a9cbbc9769fffddd99dfb4ab3f69dafb3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9cbbc9769fffddd99dfb4ab3f69dafb3">&#9670;&nbsp;</a></span>sub() <span class="overload">[4/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -11821,7 +11852,7 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::sub </td>
           <td>(</td>
-          <td class="paramtype">float&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
@@ -11851,8 +11882,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="a7470d45dafa0a91b6c62b25cdd61514e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7470d45dafa0a91b6c62b25cdd61514e">&#9670;&nbsp;</a></span>sub() <span class="overload">[5/6]</span></h2>
+<a id="a269b014ef11118b07bae6efb0300ba6f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a269b014ef11118b07bae6efb0300ba6f">&#9670;&nbsp;</a></span>sub() <span class="overload">[5/6]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -11863,13 +11894,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::sub </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">float&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -12293,8 +12324,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="aa388c5d23548438d00d64d0084e82391"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa388c5d23548438d00d64d0084e82391">&#9670;&nbsp;</a></span>truncmod() <span class="overload">[2/3]</span></h2>
+<a id="aa7e06644ed017169c5ce6829445ab754"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa7e06644ed017169c5ce6829445ab754">&#9670;&nbsp;</a></span>truncmod() <span class="overload">[2/3]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -12305,13 +12336,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::truncmod </td>
           <td>(</td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
@@ -12335,8 +12366,8 @@ template&lt;typename TB &gt; </div>
 
 </div>
 </div>
-<a id="aa7e06644ed017169c5ce6829445ab754"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa7e06644ed017169c5ce6829445ab754">&#9670;&nbsp;</a></span>truncmod() <span class="overload">[3/3]</span></h2>
+<a id="aa388c5d23548438d00d64d0084e82391"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa388c5d23548438d00d64d0084e82391">&#9670;&nbsp;</a></span>truncmod() <span class="overload">[3/3]</span></h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -12347,13 +12378,13 @@ template&lt;typename TB &gt; </div>
         <tr>
           <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::truncmod </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
+          <td class="paramtype">int&#160;</td>
           <td class="paramname"><em>a</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &amp;&#160;</td>
           <td class="paramname"><em>b</em>, </td>
         </tr>
         <tr>
diff --git a/docs/reference/api/doxygen/nn_2bnn_8h_source.html b/docs/reference/api/doxygen/nn_2bnn_8h_source.html
index 005c1f9dc..95d4c6927 100644
--- a/docs/reference/api/doxygen/nn_2bnn_8h_source.html
+++ b/docs/reference/api/doxygen/nn_2bnn_8h_source.html
@@ -66,8 +66,8 @@ $(function() {
 <div class="title">bnn.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="nn_2bnn_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * or more con [...]
-<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1121</div></div>
+<a href="nn_2bnn_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * or more con [...]
+<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1130</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_1te_html"><div class="ttname"><a href="namespacetvm_1_1te.html">tvm::te</a></div><div class="ttdoc">Tensor expression language DSL. </div><div class="ttdef"><b>Definition:</b> autodiff.h:35</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1Var_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Var.html">tvm::tir::Var</a></div><div class="ttdoc">a named variable in TIR </div><div class="ttdef"><b>Definition:</b> var.h:88</div></div>
diff --git a/docs/reference/api/doxygen/nn_2pooling_8h_source.html b/docs/reference/api/doxygen/nn_2pooling_8h_source.html
index a121a00f8..1ec267de4 100644
--- a/docs/reference/api/doxygen/nn_2pooling_8h_source.html
+++ b/docs/reference/api/doxygen/nn_2pooling_8h_source.html
@@ -72,7 +72,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_html_a3b37fa55ea93d6868751a2441996b072"><div class="ttname"><a href="namespacetvm.html#a3b37fa55ea93d6868751a2441996b072">tvm::min_value</a></div><div class="ttdeci">PrimExpr min_value(const DataType &amp;dtype, Span span=Span())</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_a4b434e701bc9835e2a7de8f0fadebea5"><div class="ttname"><a href="namespacetvm_1_1topi.html#a4b434e701bc9835e2a7de8f0fadebea5">tvm::topi::MakeArgmaxReducer</a></div><div class="ttdeci">FCommReduce MakeArgmaxReducer(bool select_last_index=false)</div><div class="ttdef"><b>Definition:</b> reduction.h:495</div></div>
 <div class="ttc" id="namespacetvm_html_ada5ad8338d3144221d8f16380e6c4855"><div class="ttname"><a href="namespacetvm.html#ada5ad8338d3144221d8f16380e6c4855">tvm::indexmod</a></div><div class="ttdeci">PrimExpr indexmod(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">compute the remainder floor(a / b) where a and b are non-negative. </div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1121</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1130</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_ae488679377c78cd5411b7df11c297673"><div class="ttname"><a href="namespacetvm_1_1topi.html#ae488679377c78cd5411b7df11c297673">tvm::topi::min</a></div><div class="ttdeci">Tensor min(const Tensor &amp;data, const Array&lt; Integer &gt; &amp;axis, bool keepdims=false, bool atleast1d=false)</div><div class="ttdoc">Creates an operation that finds the minimum of elements over a given axis. </div><div class="ttdef"><b>Definition:</b> reduction.h:410 [...]
 <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_1topi_1_1nn_html_a3fb74f1c3df6edf17c9a3f1e122f84fe"><div class="ttname"><a href="namespacetvm_1_1topi_1_1nn.html#a3fb74f1c3df6edf17c9a3f1e122f84fe">tvm::topi::nn::adaptive_pool_impl</a></div><div class="ttdeci">Tensor adaptive_pool_impl(const Tensor &amp;x, const Array&lt; PrimExpr &gt; &amp;output_size, PoolType pool_type, const std::vector&lt; int &gt; &amp;axes)</div><div class="ttdoc">Perform adaptive pooling on N dimensional data. </div><div class [...]
@@ -84,7 +84,7 @@ $(function() {
 <div class="ttc" id="reduction_8h_html"><div class="ttname"><a href="reduction_8h.html">reduction.h</a></div><div class="ttdoc">Reduction op constructors. </div></div>
 <div class="ttc" id="classtvm_1_1arith_1_1Analyzer_html_a9b440f852f12ad0a4d8ed5ed97054425"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a9b440f852f12ad0a4d8ed5ed97054425">tvm::arith::Analyzer::Simplify</a></div><div class="ttdeci">PrimExpr Simplify(const PrimExpr &amp;expr, int steps=2)</div><div class="ttdoc">Simplify expr. </div></div>
 <div class="ttc" id="namespacetvm_1_1topi_1_1nn_html_a3ffa0974d8cdcd5b8ca7afb3cfbaf53c"><div class="ttname"><a href="namespacetvm_1_1topi_1_1nn.html#a3ffa0974d8cdcd5b8ca7afb3cfbaf53c">tvm::topi::nn::PoolType</a></div><div class="ttdeci">PoolType</div><div class="ttdoc">Pooling type. </div><div class="ttdef"><b>Definition:</b> pooling.h:44</div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_acbe8f225faaf34c540194921a7ee6a66"><div class="ttname"><a href="namespacetvm_1_1tir.html#acbe8f225faaf34c540194921a7ee6a66">tvm::tir::as_const_int</a></div><div class="ttdeci">const int64_t * as_const_int(const PrimExpr &amp;x)</div><div class="ttdoc">Get x as constant int expression. </div><div class="ttdef"><b>Definition:</b> op.h:976</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_acbe8f225faaf34c540194921a7ee6a66"><div class="ttname"><a href="namespacetvm_1_1tir.html#acbe8f225faaf34c540194921a7ee6a66">tvm::tir::as_const_int</a></div><div class="ttdeci">const int64_t * as_const_int(const PrimExpr &amp;x)</div><div class="ttdoc">Get x as constant int expression. </div><div class="ttdef"><b>Definition:</b> op.h:985</div></div>
 <div class="ttc" id="namespacetvm_html_a4bfb789a86d95f6241b50fd26f269c28"><div class="ttname"><a href="namespacetvm.html#a4bfb789a86d95f6241b50fd26f269c28">tvm::cast</a></div><div class="ttdeci">PrimExpr cast(const DataType &amp;t, PrimExpr value, Span span=Span())</div><div class="ttdoc">cast value to type. </div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html_ab5db2ee9a8be71931324dac552be24c4"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html#ab5db2ee9a8be71931324dac552be24c4">tvm::runtime::Array::Set</a></div><div class="ttdeci">void Set(int64_t i, T value)</div><div class="ttdoc">set i-th element of the array. </div><div class="ttdef"><b>Definition:</b> array.h:567</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html_aa026b914ee05f81b6c20130b8905f257"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html#aa026b914ee05f81b6c20130b8905f257">tvm::runtime::Array::push_back</a></div><div class="ttdeci">void push_back(const T &amp;item)</div><div class="ttdoc">push a new item to the back of the list </div><div class="ttdef"><b>Definition:</b> array.h:436</div></div>
diff --git a/docs/reference/api/doxygen/nn_2softmax_8h_source.html b/docs/reference/api/doxygen/nn_2softmax_8h_source.html
index efedd615c..46d95688b 100644
--- a/docs/reference/api/doxygen/nn_2softmax_8h_source.html
+++ b/docs/reference/api/doxygen/nn_2softmax_8h_source.html
@@ -87,7 +87,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1Map_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Map.html">tvm::runtime::Map</a></div><div class="ttdoc">Map container of NodeRef-&gt;NodeRef in DSL graph. Map implements copy on write semantics, which means map is mutable but copy will happen when array is referenced in more than two places. </div><div class="ttdef"><b>Definition:</b> map.h:1268</div></div>
 <div class="ttc" id="tags_8h_html"><div class="ttname"><a href="tags_8h.html">tags.h</a></div><div class="ttdoc">External function interface to rocBLAS libraries. </div></div>
 <div class="ttc" id="namespacetvm_1_1te_html_afe4f57aeb3dd5ae9c0b58135e14d67ca"><div class="ttname"><a href="namespacetvm_1_1te.html#afe4f57aeb3dd5ae9c0b58135e14d67ca">tvm::te::compute</a></div><div class="ttdeci">Tensor compute(Array&lt; PrimExpr &gt; shape, FCompute fcompute, std::string name=&quot;tensor&quot;, std::string tag=&quot;&quot;, Map&lt; String, ObjectRef &gt; attrs={})</div><div class="ttdoc">Construct a new tensor by computing over shape, using the computation rule: resul [...]
-<div class="ttc" id="namespacetvm_html_a82be70bd7794abca32473604cbb09569"><div class="ttname"><a href="namespacetvm.html#a82be70bd7794abca32473604cbb09569">tvm::exp</a></div><div class="ttdeci">PrimExpr exp(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:879</div></div>
+<div class="ttc" id="namespacetvm_html_a82be70bd7794abca32473604cbb09569"><div class="ttname"><a href="namespacetvm.html#a82be70bd7794abca32473604cbb09569">tvm::exp</a></div><div class="ttdeci">PrimExpr exp(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:888</div></div>
 <div class="ttc" id="classtvm_1_1PrimExpr_html"><div class="ttname"><a href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></div><div class="ttdoc">Reference to PrimExprNode. </div><div class="ttdef"><b>Definition:</b> expr.h:112</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Map_html_ad3a78d88e3a9292d11ce04ff2dfe0702"><div class="ttname"><a href="classtvm_1_1runtime_1_1Map.html#ad3a78d88e3a9292d11ce04ff2dfe0702">tvm::runtime::Map::Set</a></div><div class="ttdeci">void Set(const K &amp;key, const V &amp;value)</div><div class="ttdoc">set the Map. </div><div class="ttdef"><b>Definition:</b> map.h:1371</div></div>
 <div class="ttc" id="classtvm_1_1Integer_html"><div class="ttname"><a href="classtvm_1_1Integer.html">tvm::Integer</a></div><div class="ttdoc">Container of constant int that adds more constructors. </div><div class="ttdef"><b>Definition:</b> expr.h:403</div></div>
diff --git a/docs/reference/api/doxygen/reduction_8h_source.html b/docs/reference/api/doxygen/reduction_8h_source.html
index 5682e0b9c..390f2ed40 100644
--- a/docs/reference/api/doxygen/reduction_8h_source.html
+++ b/docs/reference/api/doxygen/reduction_8h_source.html
@@ -78,7 +78,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1tir_1_1Reduce_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Reduce.html">tvm::tir::Reduce</a></div><div class="ttdoc">Managed reference to ReduceNode. </div><div class="ttdef"><b>Definition:</b> expr.h:1121</div></div>
 <div class="ttc" id="namespacetvm_html_a3b37fa55ea93d6868751a2441996b072"><div class="ttname"><a href="namespacetvm.html#a3b37fa55ea93d6868751a2441996b072">tvm::min_value</a></div><div class="ttdeci">PrimExpr min_value(const DataType &amp;dtype, Span span=Span())</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_a4b434e701bc9835e2a7de8f0fadebea5"><div class="ttname"><a href="namespacetvm_1_1topi.html#a4b434e701bc9835e2a7de8f0fadebea5">tvm::topi::MakeArgmaxReducer</a></div><div class="ttdeci">FCommReduce MakeArgmaxReducer(bool select_last_index=false)</div><div class="ttdef"><b>Definition:</b> reduction.h:495</div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1121</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1130</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_ae488679377c78cd5411b7df11c297673"><div class="ttname"><a href="namespacetvm_1_1topi.html#ae488679377c78cd5411b7df11c297673">tvm::topi::min</a></div><div class="ttdeci">Tensor min(const Tensor &amp;data, const Array&lt; Integer &gt; &amp;axis, bool keepdims=false, bool atleast1d=false)</div><div class="ttdoc">Creates an operation that finds the minimum of elements over a given axis. </div><div class="ttdef"><b>Definition:</b> reduction.h:410 [...]
 <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_1te_html"><div class="ttname"><a href="namespacetvm_1_1te.html">tvm::te</a></div><div class="ttdoc">Tensor expression language DSL. </div><div class="ttdef"><b>Definition:</b> autodiff.h:35</div></div>
@@ -89,7 +89,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_1_1topi_html_abee7c35e8c15e2e61afe35852dfcb252"><div class="ttname"><a href="namespacetvm_1_1topi.html#abee7c35e8c15e2e61afe35852dfcb252">tvm::topi::sum</a></div><div class="ttdeci">Tensor sum(const Tensor &amp;data, const Array&lt; Integer &gt; &amp;axis, bool keepdims=false, bool atleast1d=false)</div><div class="ttdoc">Creates an operation that sums array elements over a given axis. </div><div class="ttdef"><b>Definition:</b> reduction.h:326</div></div>
 <div class="ttc" id="constant__utils_8h_html"><div class="ttname"><a href="constant__utils_8h.html">constant_utils.h</a></div><div class="ttdoc">Utility functions for handling constants in TVM expressions. </div></div>
 <div class="ttc" id="classtvm_1_1Range_html"><div class="ttname"><a href="classtvm_1_1Range.html">tvm::Range</a></div><div class="ttdoc">Range constainer. </div><div class="ttdef"><b>Definition:</b> expr.h:496</div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a8dd84303a9864b5b366835fa628a7824"><div class="ttname"><a href="namespacetvm_1_1tir.html#a8dd84303a9864b5b366835fa628a7824">tvm::tir::const_true</a></div><div class="ttdeci">PrimExpr const_true(int lanes=1, Span span=Span())</div><div class="ttdoc">Make a constant true expression. </div><div class="ttdef"><b>Definition:</b> op.h:958</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a8dd84303a9864b5b366835fa628a7824"><div class="ttname"><a href="namespacetvm_1_1tir.html#a8dd84303a9864b5b366835fa628a7824">tvm::tir::const_true</a></div><div class="ttdeci">PrimExpr const_true(int lanes=1, Span span=Span())</div><div class="ttdoc">Make a constant true expression. </div><div class="ttdef"><b>Definition:</b> op.h:967</div></div>
 <div class="ttc" id="classtvm_1_1Span_html"><div class="ttname"><a href="classtvm_1_1Span.html">tvm::Span</a></div><div class="ttdef"><b>Definition:</b> span.h:115</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html_aed6387e67d18b9d5ad18f510fd600a25"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html#aed6387e67d18b9d5ad18f510fd600a25">tvm::runtime::Array::size</a></div><div class="ttdeci">size_t size() const</div><div class="ttdef"><b>Definition:</b> array.h:399</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_a38fe82b0db9eab041324da16e532baff"><div class="ttname"><a href="namespacetvm_1_1topi.html#a38fe82b0db9eab041324da16e532baff">tvm::topi::MaxOp</a></div><div class="ttdeci">PrimExpr MaxOp(PrimExpr source, Array&lt; IterVar &gt; axis, Array&lt; PrimExpr &gt; init={}, Span span=Span())</div><div class="ttdoc">Wrap tvm::max to ensure we get the correct overload. </div><div class="ttdef"><b>Definition:</b> reduction.h:302</div></div>
diff --git a/docs/reference/api/doxygen/search/all_13.js b/docs/reference/api/doxygen/search/all_13.js
index ea1a22ebd..266968494 100644
--- a/docs/reference/api/doxygen/search/all_13.js
+++ b/docs/reference/api/doxygen/search/all_13.js
@@ -156,7 +156,7 @@ var searchData=
   ['result_5f',['result_',['../classtvm_1_1detail_1_1AttrsSEqualVisitor.html#aeda3a91f0b2d1a7a9a075828954ff77f',1,'tvm::detail::AttrsSEqualVisitor']]],
   ['result_5ftype',['result_type',['../classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#a24d4a3522ee6c4cdeed80dcdcc1424ad',1,'tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;::result_type()'],['../classtvm_1_1NodeFunctor_3_01R_07const_01ObjectRef_01_6n_00_01Args_8_8_8_08_4.html#ac7f687cb7dda02407b578a6683fa708a',1,'tvm::NodeFunctor&lt; R(const ObjectRef &amp;n, Args...)&gt;::result_type()'],['../classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n [...]
   ['resulttype',['ResultType',['../structtvm_1_1runtime_1_1Array_1_1ValueConverter.html#a0db77cfd8032391d76dffc88eae8e09b',1,'tvm::runtime::Array::ValueConverter']]],
-  ['ret',['Ret',['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#a25ec217ce2afe8decb3d92c716e31c83',1,'tvm::runtime::vm::Instruction::Ret()'],['../namespacetvm_1_1tir_1_1builtin.html#ae7816fdebd5d56f2145cdf371b756eb4',1,'tvm::tir::builtin::ret()'],['../namespacetvm.html#a0da40d3e210aa3b38a17982a7b7866b8',1,'tvm::ret()'],['../namespacetvm_1_1runtime_1_1vm.html#a8d8d95ce8d629c7213f2f595917870ecaa4228a09dd66155de8e93a39245768bd',1,'tvm::runtime::vm::Ret()']]],
+  ['ret',['Ret',['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#a25ec217ce2afe8decb3d92c716e31c83',1,'tvm::runtime::vm::Instruction::Ret()'],['../namespacetvm_1_1runtime_1_1vm.html#a8d8d95ce8d629c7213f2f595917870ecaa4228a09dd66155de8e93a39245768bd',1,'tvm::runtime::vm::Ret()'],['../namespacetvm_1_1tir_1_1builtin.html#ae7816fdebd5d56f2145cdf371b756eb4',1,'tvm::tir::builtin::ret()'],['../namespacetvm.html#a0da40d3e210aa3b38a17982a7b7866b8',1,'tvm::ret()']]],
   ['ret_5ftype',['ret_type',['../classtvm_1_1FuncTypeNode.html#a4d30bd05ee4751f963daf10f0c69036d',1,'tvm::FuncTypeNode::ret_type()'],['../structtvm_1_1relay_1_1TopKAttrs.html#a5717dfe7edcd2817fc35b2e84dc2305d',1,'tvm::relay::TopKAttrs::ret_type()'],['../classtvm_1_1relay_1_1FunctionNode.html#a075bcae369d873c24b7887eb7c96da40',1,'tvm::relay::FunctionNode::ret_type()'],['../classtvm_1_1tir_1_1PrimFuncNode.html#aa325068615c301abec6656416cab8e09',1,'tvm::tir::PrimFuncNode::ret_type()']]],
   ['ret_5fvalue',['ret_value',['../structTVMPackedFunc.html#a9e4f5b78551e27db970d3e5d48f92dcf',1,'TVMPackedFunc']]],
   ['return_5fcounts',['return_counts',['../structtvm_1_1relay_1_1UniqueAttrs.html#a5ada31d79efbeb340a0cd7d5ca7c1afb',1,'tvm::relay::UniqueAttrs']]],
diff --git a/docs/reference/api/doxygen/search/all_14.js b/docs/reference/api/doxygen/search/all_14.js
index ad70f389a..a0a3748c6 100644
--- a/docs/reference/api/doxygen/search/all_14.js
+++ b/docs/reference/api/doxygen/search/all_14.js
@@ -164,7 +164,7 @@ var searchData=
   ['setvalue_3c_20uint64_5ft_20_3e',['SetValue&lt; uint64_t &gt;',['../namespacetvm_1_1detail.html#acb3382242cbf538f64edae13e4ec5a84',1,'tvm::detail']]],
   ['shallowcopy',['ShallowCopy',['../classtvm_1_1IRModuleNode.html#a86bbdc4b857ce5958a2b5f29e1d6fcb6',1,'tvm::IRModuleNode']]],
   ['shallowcopyirmodule',['ShallowCopyIRModule',['../classtvm_1_1IRModule.html#aea8b821cf92cf525bd87bf15f5d31889',1,'tvm::IRModule']]],
-  ['shape',['shape',['../classtvm_1_1TensorTypeNode.html#a98fa347833e4504dd6f8056d9863a708',1,'tvm::TensorTypeNode::shape()'],['../classtvm_1_1meta__schedule_1_1TensorInfoNode.html#ac16d3b10f7c68eefb27e55e865bb304c',1,'tvm::meta_schedule::TensorInfoNode::shape()'],['../structtvm_1_1relay_1_1InitOpAttrs.html#aaaec76cc5ea9a543c4ea174a6b38bf5e',1,'tvm::relay::InitOpAttrs::shape()'],['../classtvm_1_1relay_1_1ShapePatternNode.html#a749813cbbd38f8021a7df897d527d6e0',1,'tvm::relay::ShapePattern [...]
+  ['shape',['shape',['../classtvm_1_1TensorTypeNode.html#a98fa347833e4504dd6f8056d9863a708',1,'tvm::TensorTypeNode::shape()'],['../classtvm_1_1meta__schedule_1_1TensorInfoNode.html#ac16d3b10f7c68eefb27e55e865bb304c',1,'tvm::meta_schedule::TensorInfoNode::shape()'],['../structtvm_1_1relay_1_1InitOpAttrs.html#aaaec76cc5ea9a543c4ea174a6b38bf5e',1,'tvm::relay::InitOpAttrs::shape()'],['../classtvm_1_1relay_1_1ShapePatternNode.html#a749813cbbd38f8021a7df897d527d6e0',1,'tvm::relay::ShapePattern [...]
   ['shape_5f',['shape_',['../classtvm_1_1runtime_1_1NDArray_1_1ContainerBase.html#aa5597a1760c9f8c9d1fd51584b1283fb',1,'tvm::runtime::NDArray::ContainerBase']]],
   ['shape_5fbackward_5frule',['shape_backward_rule',['../classtvm_1_1tir_1_1BijectiveLayoutNode.html#a0befdd0a2371c0d12970e8ac6623b59b',1,'tvm::tir::BijectiveLayoutNode']]],
   ['shape_5fcount',['shape_count',['../structTVMGraphExecutorGraphAttr.html#a182b228582f1186f2a15de50a25b3375',1,'TVMGraphExecutorGraphAttr']]],
diff --git a/docs/reference/api/doxygen/search/all_8.js b/docs/reference/api/doxygen/search/all_8.js
index b5c425c00..0fe1b9d9d 100644
--- a/docs/reference/api/doxygen/search/all_8.js
+++ b/docs/reference/api/doxygen/search/all_8.js
@@ -102,6 +102,7 @@ var searchData=
   ['gettargetproperty',['GetTargetProperty',['../classtvm_1_1runtime_1_1DeviceAPI.html#a8967810939aa24e17c37599c5014e50f',1,'tvm::runtime::DeviceAPI']]],
   ['gettopk',['GetTopK',['../classtvm_1_1meta__schedule_1_1DatabaseNode.html#a27a9519109fd970572be75bc277a1fb2',1,'tvm::meta_schedule::DatabaseNode::GetTopK()'],['../classtvm_1_1meta__schedule_1_1PyDatabaseNode.html#adebe3a6bfb55e5ce0807b97f12a6c39e',1,'tvm::meta_schedule::PyDatabaseNode::GetTopK()']]],
   ['gettype',['GetType',['../namespacetvm.html#a48fb9755f38ffcfcd03592a47ffbbd14',1,'tvm']]],
+  ['gettypefromruntimedatatype',['GetTypeFromRuntimeDataType',['../namespacetvm.html#a5a8143fd484af0da57222d6ff0da6323',1,'tvm']]],
   ['gettypekey',['GetTypeKey',['../classtvm_1_1runtime_1_1Object.html#a4d951e51832081b85875669eac90e940',1,'tvm::runtime::Object']]],
   ['gettypekeyhash',['GetTypeKeyHash',['../classtvm_1_1runtime_1_1Object.html#a5693cbadcc1168b96db7b1cc5c200b86',1,'tvm::runtime::Object']]],
   ['getvalidcountsattrs',['GetValidCountsAttrs',['../structtvm_1_1relay_1_1GetValidCountsAttrs.html',1,'tvm::relay']]],
diff --git a/docs/reference/api/doxygen/search/functions_7.js b/docs/reference/api/doxygen/search/functions_7.js
index 136cc6399..41720f64c 100644
--- a/docs/reference/api/doxygen/search/functions_7.js
+++ b/docs/reference/api/doxygen/search/functions_7.js
@@ -93,6 +93,7 @@ var searchData=
   ['gettargetproperty',['GetTargetProperty',['../classtvm_1_1runtime_1_1DeviceAPI.html#a8967810939aa24e17c37599c5014e50f',1,'tvm::runtime::DeviceAPI']]],
   ['gettopk',['GetTopK',['../classtvm_1_1meta__schedule_1_1DatabaseNode.html#a27a9519109fd970572be75bc277a1fb2',1,'tvm::meta_schedule::DatabaseNode::GetTopK()'],['../classtvm_1_1meta__schedule_1_1PyDatabaseNode.html#adebe3a6bfb55e5ce0807b97f12a6c39e',1,'tvm::meta_schedule::PyDatabaseNode::GetTopK()']]],
   ['gettype',['GetType',['../namespacetvm.html#a48fb9755f38ffcfcd03592a47ffbbd14',1,'tvm']]],
+  ['gettypefromruntimedatatype',['GetTypeFromRuntimeDataType',['../namespacetvm.html#a5a8143fd484af0da57222d6ff0da6323',1,'tvm']]],
   ['gettypekey',['GetTypeKey',['../classtvm_1_1runtime_1_1Object.html#a4d951e51832081b85875669eac90e940',1,'tvm::runtime::Object']]],
   ['gettypekeyhash',['GetTypeKeyHash',['../classtvm_1_1runtime_1_1Object.html#a5693cbadcc1168b96db7b1cc5c200b86',1,'tvm::runtime::Object']]],
   ['getvectorbytes',['GetVectorBytes',['../namespacetvm_1_1runtime.html#ad01a53416152b68029d67190c3709d25',1,'tvm::runtime']]],
diff --git a/docs/reference/api/doxygen/strided__slice_8h_source.html b/docs/reference/api/doxygen/strided__slice_8h_source.html
index eb7c7c157..226150f4b 100644
--- a/docs/reference/api/doxygen/strided__slice_8h_source.html
+++ b/docs/reference/api/doxygen/strided__slice_8h_source.html
@@ -69,7 +69,7 @@ $(function() {
 <a href="strided__slice_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 m [...]
 <div class="ttc" id="namespacetvm_html_ab2a3c98ef29937defd6accb9b171a940"><div class="ttname"><a href="namespacetvm.html#ab2a3c98ef29937defd6accb9b171a940">tvm::abs</a></div><div class="ttdeci">PrimExpr abs(PrimExpr x, Span span=Span())</div><div class="ttdoc">Calculate absolute value of x. </div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_aff75b2e533b654909ca1bd9485ef4e6b"><div class="ttname"><a href="namespacetvm_1_1topi.html#aff75b2e533b654909ca1bd9485ef4e6b">tvm::topi::StridedSliceOutputShape</a></div><div class="ttdeci">Array&lt; PrimExpr &gt; StridedSliceOutputShape(const Array&lt; PrimExpr &gt; &amp;ishape, const Array&lt; Integer &gt; &amp;begin, const Array&lt; Integer &gt; &amp;end, const Array&lt; Integer &gt; &amp;strides, const Array&lt; Integer &gt; &amp;axes, co [...]
-<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1121</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1130</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_1te_html"><div class="ttname"><a href="namespacetvm_1_1te.html">tvm::te</a></div><div class="ttdoc">Tensor expression language DSL. </div><div class="ttdef"><b>Definition:</b> autodiff.h:35</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1Var_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Var.html">tvm::tir::Var</a></div><div class="ttdoc">a named variable in TIR </div><div class="ttdef"><b>Definition:</b> var.h:88</div></div>
diff --git a/docs/reference/api/doxygen/tir_2op_8h.html b/docs/reference/api/doxygen/tir_2op_8h.html
index c60fb95b9..ae8b3ba53 100644
--- a/docs/reference/api/doxygen/tir_2op_8h.html
+++ b/docs/reference/api/doxygen/tir_2op_8h.html
@@ -130,6 +130,9 @@ Functions</h2></td></tr>
 <tr class="memitem:a48fb9755f38ffcfcd03592a47ffbbd14"><td class="memItemLeft" align="right" valign="top">Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm.html#a48fb9755f38ffcfcd03592a47ffbbd14">tvm::GetType</a> (const PrimExpr &amp;expr)</td></tr>
 <tr class="memdesc:a48fb9755f38ffcfcd03592a47ffbbd14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of the expression under the unified type system.  <a href="namespacetvm.html#a48fb9755f38ffcfcd03592a47ffbbd14">More...</a><br /></td></tr>
 <tr class="separator:a48fb9755f38ffcfcd03592a47ffbbd14"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a8143fd484af0da57222d6ff0da6323"><td class="memItemLeft" align="right" valign="top">Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm.html#a5a8143fd484af0da57222d6ff0da6323">tvm::GetTypeFromRuntimeDataType</a> (const DataType &amp;dtype)</td></tr>
+<tr class="memdesc:a5a8143fd484af0da57222d6ff0da6323"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type corresponding to DataType.  <a href="namespacetvm.html#a5a8143fd484af0da57222d6ff0da6323">More...</a><br /></td></tr>
+<tr class="separator:a5a8143fd484af0da57222d6ff0da6323"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a0447e9aa45f6cab707f6dc9f9281b3f5"><td class="memItemLeft" align="right" valign="top">runtime::DataType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm.html#a0447e9aa45f6cab707f6dc9f9281b3f5">tvm::GetRuntimeDataType</a> (const Type &amp;type)</td></tr>
 <tr class="memdesc:a0447e9aa45f6cab707f6dc9f9281b3f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the implied DataType for storing values with type during runtime.  <a href="namespacetvm.html#a0447e9aa45f6cab707f6dc9f9281b3f5">More...</a><br /></td></tr>
 <tr class="separator:a0447e9aa45f6cab707f6dc9f9281b3f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -824,7 +827,7 @@ Functions</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> PrimExpr Name(<span class="keyword">const</span> PrimExpr&amp; a, <span class="keywordtype">float</span> b) { <span class="keywordflow">return</span> Name(a, PrimExpr(b)); } \</div><div class="line">  inline PrimExpr Name(<span class="keywordtype">float</span> a, <span class="keyword">const</span> PrimExpr&amp; b) { <span class="keywordflow">return</span> Name(PrimExpr(a), b); } \</div><div class="li [...]
+<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> PrimExpr Name(<span class="keyword">const</span> PrimExpr&amp; a, <span class="keywordtype">float</span> b) { <span class="keywordflow">return</span> Name(a, PrimExpr(b)); } \</div><div class="line">  inline PrimExpr Name(<span class="keywordtype">float</span> a, <span class="keyword">const</span> PrimExpr&amp; b) { <span class="keywordflow">return</span> Name(PrimExpr(a), b); } \</div><div class="li [...]
 </div><!-- fragment -->
 </div>
 </div>
@@ -844,7 +847,7 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 <b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> PrimExpr Name(<span class="keyword">const</span> PrimExpr&amp; a, <span class="keywordtype">float</span> b, <a class="code" href="namespacetvm_1_1relay.html#af40ca6124bc2e88f2323eeb79d326cc0">Span</a> span = <a class="code" href="namespacetvm_1_1relay.html#af40ca6124bc2e88f2323eeb79d326cc0">Span</a>()) {  \</div><div class="line">    return Name(a, PrimExpr(b), span);                                  [...]
-<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1121</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1130</div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -863,7 +866,7 @@ Functions</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> PrimExpr Name(<span class="keyword">const</span> PrimExpr&amp; a, <span class="keywordtype">int</span> b) { \</div><div class="line">    return Name(a, <a class="code" href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tir::make_const</a>(a.dtype(), b)); \</div><div class="line">  }                                                \</div><div class="line">  inline PrimExpr Name(<span cla [...]
+<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> PrimExpr Name(<span class="keyword">const</span> PrimExpr&amp; a, <span class="keywordtype">int</span> b) { \</div><div class="line">    return Name(a, <a class="code" href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tir::make_const</a>(a.dtype(), b)); \</div><div class="line">  }                                                \</div><div class="line">  inline PrimExpr Name(<span cla [...]
 </div><!-- fragment -->
 </div>
 </div>
@@ -883,7 +886,7 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 <b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> PrimExpr Name(<span class="keyword">const</span> PrimExpr&amp; a, <span class="keywordtype">int</span> b, <a class="code" href="namespacetvm_1_1relay.html#af40ca6124bc2e88f2323eeb79d326cc0">Span</a> span = <a class="code" href="namespacetvm_1_1relay.html#af40ca6124bc2e88f2323eeb79d326cc0">Span</a>()) { \</div><div class="line">    return Name(a, <a class="code" href="namespacetvm_1_1tir.html#a1a07120 [...]
-<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1121</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1130</div></div>
 </div><!-- fragment -->
 </div>
 </div>
diff --git a/docs/reference/api/doxygen/tir_2op_8h_source.html b/docs/reference/api/doxygen/tir_2op_8h_source.html
index 2c7bb4c10..ec895accf 100644
--- a/docs/reference/api/doxygen/tir_2op_8h_source.html
+++ b/docs/reference/api/doxygen/tir_2op_8h_source.html
@@ -66,7 +66,7 @@ $(function() {
 <div class="title">op.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="tir_2op_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * or more con [...]
+<a href="tir_2op_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * or more con [...]
 <div class="ttc" id="namespacetvm_html_a03983cf66713724c138f9697bb8e0e97"><div class="ttname"><a href="namespacetvm.html#a03983cf66713724c138f9697bb8e0e97">tvm::operator!=</a></div><div class="ttdeci">PrimExpr operator!=(PrimExpr a, PrimExpr b)</div><div class="ttdoc">not_equal </div></div>
 <div class="ttc" id="namespacetvm_1_1relay_html_af40ca6124bc2e88f2323eeb79d326cc0"><div class="ttname"><a href="namespacetvm_1_1relay.html#af40ca6124bc2e88f2323eeb79d326cc0">tvm::relay::Span</a></div><div class="ttdeci">tvm::Span Span</div><div class="ttdef"><b>Definition:</b> base.h:65</div></div>
 <div class="ttc" id="namespacetvm_1_1tir_html_a246623a4a0c9cd8f8a209ec952a8d1c3"><div class="ttname"><a href="namespacetvm_1_1tir.html#a246623a4a0c9cd8f8a209ec952a8d1c3">tvm::tir::is_const_power_of_two_integer</a></div><div class="ttdeci">bool is_const_power_of_two_integer(const PrimExpr &amp;x, int *shift)</div><div class="ttdoc">Check whether x is a constant power of two If x is power of two, write the power to the shift...</div></div>
@@ -74,74 +74,74 @@ $(function() {
 <div class="ttc" id="namespacetvm_html_a336b811d7f339f888ad38d2e2657710d"><div class="ttname"><a href="namespacetvm.html#a336b811d7f339f888ad38d2e2657710d">tvm::likely</a></div><div class="ttdeci">PrimExpr likely(PrimExpr cond, Span span=Span())</div><div class="ttdoc">Mark condition as likely. </div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1DataType_html_a4f3c849cf79c0812a50fdbb9ad175648"><div class="ttname"><a href="classtvm_1_1runtime_1_1DataType.html#a4f3c849cf79c0812a50fdbb9ad175648">tvm::runtime::DataType::is_int</a></div><div class="ttdeci">bool is_int() const</div><div class="ttdef"><b>Definition:</b> data_type.h:99</div></div>
 <div class="ttc" id="namespacetvm_html_a6c238cafec94d03b8e70688d4cf82642"><div class="ttname"><a href="namespacetvm.html#a6c238cafec94d03b8e70688d4cf82642">tvm::bitwise_xor</a></div><div class="ttdeci">PrimExpr bitwise_xor(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">take bitwise xor of two values </div></div>
-<div class="ttc" id="namespacetvm_html_a16a5aa0300233b6c5fbcc61c424eee30"><div class="ttname"><a href="namespacetvm.html#a16a5aa0300233b6c5fbcc61c424eee30">tvm::log10</a></div><div class="ttdeci">PrimExpr log10(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:889</div></div>
+<div class="ttc" id="namespacetvm_html_a16a5aa0300233b6c5fbcc61c424eee30"><div class="ttname"><a href="namespacetvm.html#a16a5aa0300233b6c5fbcc61c424eee30">tvm::log10</a></div><div class="ttdeci">PrimExpr log10(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:898</div></div>
 <div class="ttc" id="namespacetvm_html_a242b37bc39f3fc56d29e36f916cc1483"><div class="ttname"><a href="namespacetvm.html#a242b37bc39f3fc56d29e36f916cc1483">tvm::operator &amp;&amp;</a></div><div class="ttdeci">Bool operator &amp;&amp;(const Bool &amp;a, bool b)</div><div class="ttdef"><b>Definition:</b> expr.h:383</div></div>
 <div class="ttc" id="namespacetvm_html_aac2abc149c1a47944c37b560181b15c0"><div class="ttname"><a href="namespacetvm.html#aac2abc149c1a47944c37b560181b15c0">tvm::min</a></div><div class="ttdeci">PrimExpr min(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">take minimum of two values </div></div>
 <div class="ttc" id="namespacetvm_html_a5cd85b156fb31f75f91c8a5c012f8a66"><div class="ttname"><a href="namespacetvm.html#a5cd85b156fb31f75f91c8a5c012f8a66">tvm::neg</a></div><div class="ttdeci">PrimExpr neg(PrimExpr a, Span span=Span())</div><div class="ttdoc">negation. </div></div>
 <div class="ttc" id="namespacetvm_html_ab1b704bb5a31b602869fb5c94a56f468"><div class="ttname"><a href="namespacetvm.html#ab1b704bb5a31b602869fb5c94a56f468">tvm::greater_equal</a></div><div class="ttdeci">PrimExpr greater_equal(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">greater_equal </div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a9b5104dcf0933da31329bb0b2580a947"><div class="ttname"><a href="namespacetvm_1_1tir.html#a9b5104dcf0933da31329bb0b2580a947">tvm::tir::is_one</a></div><div class="ttdeci">bool is_one(const PrimExpr &amp;x)</div><div class="ttdoc">Check whether x is a constant integer 1. </div><div class="ttdef"><b>Definition:</b> op.h:1006</div></div>
-<div class="ttc" id="namespacetvm_html_acde00e06bb7d8ccd78f1dd33b966e178"><div class="ttname"><a href="namespacetvm.html#acde00e06bb7d8ccd78f1dd33b966e178">tvm::popcount</a></div><div class="ttdeci">PrimExpr popcount(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:890</div></div>
-<div class="ttc" id="namespacetvm_html_a475b388b9a19d05dca849707d74636a7"><div class="ttname"><a href="namespacetvm.html#a475b388b9a19d05dca849707d74636a7">tvm::atan</a></div><div class="ttdeci">PrimExpr atan(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:898</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a9b5104dcf0933da31329bb0b2580a947"><div class="ttname"><a href="namespacetvm_1_1tir.html#a9b5104dcf0933da31329bb0b2580a947">tvm::tir::is_one</a></div><div class="ttdeci">bool is_one(const PrimExpr &amp;x)</div><div class="ttdoc">Check whether x is a constant integer 1. </div><div class="ttdef"><b>Definition:</b> op.h:1015</div></div>
+<div class="ttc" id="namespacetvm_html_acde00e06bb7d8ccd78f1dd33b966e178"><div class="ttname"><a href="namespacetvm.html#acde00e06bb7d8ccd78f1dd33b966e178">tvm::popcount</a></div><div class="ttdeci">PrimExpr popcount(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:899</div></div>
+<div class="ttc" id="namespacetvm_html_a475b388b9a19d05dca849707d74636a7"><div class="ttname"><a href="namespacetvm.html#a475b388b9a19d05dca849707d74636a7">tvm::atan</a></div><div class="ttdeci">PrimExpr atan(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:907</div></div>
 <div class="ttc" id="namespacetvm_html_a002710a4652156a57495e10a09b5d002"><div class="ttname"><a href="namespacetvm.html#a002710a4652156a57495e10a09b5d002">tvm::operator||</a></div><div class="ttdeci">Bool operator||(const Bool &amp;a, bool b)</div><div class="ttdef"><b>Definition:</b> expr.h:378</div></div>
 <div class="ttc" id="namespacetvm_html_ab2a3c98ef29937defd6accb9b171a940"><div class="ttname"><a href="namespacetvm.html#ab2a3c98ef29937defd6accb9b171a940">tvm::abs</a></div><div class="ttdeci">PrimExpr abs(PrimExpr x, Span span=Span())</div><div class="ttdoc">Calculate absolute value of x. </div></div>
 <div class="ttc" id="namespacetvm_html_a0d36aeede9c8e2fa2973807edf2b9f4b"><div class="ttname"><a href="namespacetvm.html#a0d36aeede9c8e2fa2973807edf2b9f4b">tvm::ceildiv</a></div><div class="ttdeci">PrimExpr ceildiv(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">compute ceil(a / b) </div></div>
 <div class="ttc" id="namespacetvm_html_aaff65dde3044433b2220677aedf4855f"><div class="ttname"><a href="namespacetvm.html#aaff65dde3044433b2220677aedf4855f">tvm::floor</a></div><div class="ttdeci">PrimExpr floor(PrimExpr x, Span span=Span())</div><div class="ttdoc">Calculate floor(x) </div></div>
-<div class="ttc" id="namespacetvm_html_a65b68a0c2cea6c1bbd338585fcdf9fdd"><div class="ttname"><a href="namespacetvm.html#a65b68a0c2cea6c1bbd338585fcdf9fdd">tvm::exp10</a></div><div class="ttdeci">PrimExpr exp10(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:881</div></div>
+<div class="ttc" id="namespacetvm_html_a65b68a0c2cea6c1bbd338585fcdf9fdd"><div class="ttname"><a href="namespacetvm.html#a65b68a0c2cea6c1bbd338585fcdf9fdd">tvm::exp10</a></div><div class="ttdeci">PrimExpr exp10(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:890</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1DataType_html_a3c9ce1627be2550f656cd37b6c698c7da92916e0b7138b26e222f4b85618bd5b4"><div class="ttname"><a href="classtvm_1_1runtime_1_1DataType.html#a3c9ce1627be2550f656cd37b6c698c7da92916e0b7138b26e222f4b85618bd5b4">tvm::runtime::DataType::kCustomBegin</a></div><div class="ttdef"><b>Definition:</b> data_type.h:57</div></div>
 <div class="ttc" id="namespacetvm_html_a3b37fa55ea93d6868751a2441996b072"><div class="ttname"><a href="namespacetvm.html#a3b37fa55ea93d6868751a2441996b072">tvm::min_value</a></div><div class="ttdeci">PrimExpr min_value(const DataType &amp;dtype, Span span=Span())</div></div>
 <div class="ttc" id="namespacetvm_html_ada5ad8338d3144221d8f16380e6c4855"><div class="ttname"><a href="namespacetvm.html#ada5ad8338d3144221d8f16380e6c4855">tvm::indexmod</a></div><div class="ttdeci">PrimExpr indexmod(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">compute the remainder floor(a / b) where a and b are non-negative. </div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1121</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1130</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="namespacetvm_html_ad828bc801c73df761c58d9f8877d52ee"><div class="ttname"><a href="namespacetvm.html#ad828bc801c73df761c58d9f8877d52ee">tvm::sinh</a></div><div class="ttdeci">PrimExpr sinh(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:895</div></div>
+<div class="ttc" id="namespacetvm_html_ad828bc801c73df761c58d9f8877d52ee"><div class="ttname"><a href="namespacetvm.html#ad828bc801c73df761c58d9f8877d52ee">tvm::sinh</a></div><div class="ttdeci">PrimExpr sinh(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:904</div></div>
 <div class="ttc" id="namespacetvm_html_ae2794f261657780b2af4208b95d9cfcb"><div class="ttname"><a href="namespacetvm.html#ae2794f261657780b2af4208b95d9cfcb">tvm::add</a></div><div class="ttdeci">PrimExpr add(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">add operator </div></div>
-<div class="ttc" id="tir_2op_8h_html_abc43baea1e8f1c876bfa743a063a5928"><div class="ttname"><a href="tir_2op_8h.html#abc43baea1e8f1c876bfa743a063a5928">TVM_DECLARE_INTRIN_BINARY</a></div><div class="ttdeci">#define TVM_DECLARE_INTRIN_BINARY(OpName)</div><div class="ttdef"><b>Definition:</b> op.h:904</div></div>
+<div class="ttc" id="tir_2op_8h_html_abc43baea1e8f1c876bfa743a063a5928"><div class="ttname"><a href="tir_2op_8h.html#abc43baea1e8f1c876bfa743a063a5928">TVM_DECLARE_INTRIN_BINARY</a></div><div class="ttdeci">#define TVM_DECLARE_INTRIN_BINARY(OpName)</div><div class="ttdef"><b>Definition:</b> op.h:913</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="tir_2op_8h_html_a34c733b88658efba336e09ccd85e576c"><div class="ttname"><a href="tir_2op_8h.html#a34c733b88658efba336e09ccd85e576c">TVM_DEFINE_ASSIGN_OP_OVERLOAD</a></div><div class="ttdeci">#define TVM_DEFINE_ASSIGN_OP_OVERLOAD(Name, OpFunc)</div><div class="ttdef"><b>Definition:</b> op.h:1148</div></div>
-<div class="ttc" id="namespacetvm_html_af99838098788d40c80b402f29b3c2e8c"><div class="ttname"><a href="namespacetvm.html#af99838098788d40c80b402f29b3c2e8c">tvm::tan</a></div><div class="ttdeci">PrimExpr tan(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:891</div></div>
+<div class="ttc" id="tir_2op_8h_html_a34c733b88658efba336e09ccd85e576c"><div class="ttname"><a href="tir_2op_8h.html#a34c733b88658efba336e09ccd85e576c">TVM_DEFINE_ASSIGN_OP_OVERLOAD</a></div><div class="ttdeci">#define TVM_DEFINE_ASSIGN_OP_OVERLOAD(Name, OpFunc)</div><div class="ttdef"><b>Definition:</b> op.h:1157</div></div>
+<div class="ttc" id="namespacetvm_html_af99838098788d40c80b402f29b3c2e8c"><div class="ttname"><a href="namespacetvm.html#af99838098788d40c80b402f29b3c2e8c">tvm::tan</a></div><div class="ttdeci">PrimExpr tan(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:900</div></div>
 <div class="ttc" id="namespacetvm_html_a89da021f5e3e2e911acfd96f973e5bc3"><div class="ttname"><a href="namespacetvm.html#a89da021f5e3e2e911acfd96f973e5bc3">tvm::sub</a></div><div class="ttdeci">PrimExpr sub(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">subtraction operator </div></div>
-<div class="ttc" id="namespacetvm_html_ab72a6b6a2d0c2aa3f6a95f60dc831493"><div class="ttname"><a href="namespacetvm.html#ab72a6b6a2d0c2aa3f6a95f60dc831493">tvm::atanh</a></div><div class="ttdeci">PrimExpr atanh(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:901</div></div>
+<div class="ttc" id="namespacetvm_html_ab72a6b6a2d0c2aa3f6a95f60dc831493"><div class="ttname"><a href="namespacetvm.html#ab72a6b6a2d0c2aa3f6a95f60dc831493">tvm::atanh</a></div><div class="ttdeci">PrimExpr atanh(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:910</div></div>
 <div class="ttc" id="namespacetvm_html_ae7826d26d74304ff31ad2cbf278b772c"><div class="ttname"><a href="namespacetvm.html#ae7826d26d74304ff31ad2cbf278b772c">tvm::nearbyint</a></div><div class="ttdeci">PrimExpr nearbyint(PrimExpr x, Span span=Span())</div><div class="ttdoc">Calculates std::nearbyint(x) </div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1DataType_html_afe559720046f6e10d188f5df80d4a0fc"><div class="ttname"><a href="classtvm_1_1runtime_1_1DataType.html#afe559720046f6e10d188f5df80d4a0fc">tvm::runtime::DataType::is_float</a></div><div class="ttdeci">bool is_float() const</div><div class="ttdef"><b>Definition:</b> data_type.h:93</div></div>
-<div class="ttc" id="namespacetvm_html_a9eabd3011b72041605ac7475094c87b1"><div class="ttname"><a href="namespacetvm.html#a9eabd3011b72041605ac7475094c87b1">tvm::asin</a></div><div class="ttdeci">PrimExpr asin(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:896</div></div>
+<div class="ttc" id="namespacetvm_html_a9eabd3011b72041605ac7475094c87b1"><div class="ttname"><a href="namespacetvm.html#a9eabd3011b72041605ac7475094c87b1">tvm::asin</a></div><div class="ttdeci">PrimExpr asin(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:905</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1SeqStmtNode_html"><div class="ttname"><a href="classtvm_1_1tir_1_1SeqStmtNode.html">tvm::tir::SeqStmtNode</a></div><div class="ttdoc">The container of seq statement. Represent a sequence of statements. </div><div class="ttdef"><b>Definition:</b> stmt.h:686</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="namespacetvm_html_a5e4738caa6bcd0259af64b25e25dfd93"><div class="ttname"><a href="namespacetvm.html#a5e4738caa6bcd0259af64b25e25dfd93">tvm::ceil</a></div><div class="ttdeci">PrimExpr ceil(PrimExpr x, Span span=Span())</div><div class="ttdoc">Calculate ceil(x) </div></div>
-<div class="ttc" id="namespacetvm_html_ac5347541411e75f59758a29596565f63"><div class="ttname"><a href="namespacetvm.html#ac5347541411e75f59758a29596565f63">tvm::ldexp</a></div><div class="ttdeci">PrimExpr ldexp(PrimExpr x, PrimExpr y, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:914</div></div>
+<div class="ttc" id="namespacetvm_html_ac5347541411e75f59758a29596565f63"><div class="ttname"><a href="namespacetvm.html#ac5347541411e75f59758a29596565f63">tvm::ldexp</a></div><div class="ttdeci">PrimExpr ldexp(PrimExpr x, PrimExpr y, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:923</div></div>
 <div class="ttc" id="namespacetvm_html_a353217978feabae3575560bf1586885f"><div class="ttname"><a href="namespacetvm.html#a353217978feabae3575560bf1586885f">tvm::if_then_else</a></div><div class="ttdeci">PrimExpr if_then_else(PrimExpr cond, PrimExpr true_value, PrimExpr false_value, Span span=Span())</div><div class="ttdoc">Conditional expression. </div></div>
 <div class="ttc" id="classtvm_1_1FloatImmNode_html"><div class="ttname"><a href="classtvm_1_1FloatImmNode.html">tvm::FloatImmNode</a></div><div class="ttdoc">Constant floating point literals in the program. </div><div class="ttdef"><b>Definition:</b> expr.h:320</div></div>
 <div class="ttc" id="namespacetvm_html_a4509dece1af96338cc25097855fcecd7"><div class="ttname"><a href="namespacetvm.html#a4509dece1af96338cc25097855fcecd7">tvm::logical_or</a></div><div class="ttdeci">PrimExpr logical_or(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">or </div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1DataType_html_a71feb294f412836c3d7e012133a3f339"><div class="ttname"><a href="classtvm_1_1runtime_1_1DataType.html#a71feb294f412836c3d7e012133a3f339">tvm::runtime::DataType::code</a></div><div class="ttdeci">int code() const</div><div class="ttdef"><b>Definition:</b> data_type.h:81</div></div>
 <div class="ttc" id="namespacetvm_html_aee8d9c7084d8df28bf6f05e0851a557f"><div class="ttname"><a href="namespacetvm.html#aee8d9c7084d8df28bf6f05e0851a557f">tvm::bitwise_or</a></div><div class="ttdeci">PrimExpr bitwise_or(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">take bitwise or of two values </div></div>
-<div class="ttc" id="namespacetvm_html_aa22a313c142a61845ded7fdf77af7046"><div class="ttname"><a href="namespacetvm.html#aa22a313c142a61845ded7fdf77af7046">tvm::max</a></div><div class="ttdeci">PrimExpr max(const PrimExpr &amp;a, double b, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:1220</div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a6454dd89e85fc29a7e3b8620df90a6f6"><div class="ttname"><a href="namespacetvm_1_1tir.html#a6454dd89e85fc29a7e3b8620df90a6f6">tvm::tir::foldl</a></div><div class="ttdeci">PrimExpr foldl(FReduce freduce, PrimExpr init_value, const Array&lt; PrimExpr &gt; &amp;values, Span span=Span())</div><div class="ttdoc">Left fold. </div><div class="ttdef"><b>Definition:</b> op.h:1137</div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_acbe8f225faaf34c540194921a7ee6a66"><div class="ttname"><a href="namespacetvm_1_1tir.html#acbe8f225faaf34c540194921a7ee6a66">tvm::tir::as_const_int</a></div><div class="ttdeci">const int64_t * as_const_int(const PrimExpr &amp;x)</div><div class="ttdoc">Get x as constant int expression. </div><div class="ttdef"><b>Definition:</b> op.h:976</div></div>
+<div class="ttc" id="namespacetvm_html_aa22a313c142a61845ded7fdf77af7046"><div class="ttname"><a href="namespacetvm.html#aa22a313c142a61845ded7fdf77af7046">tvm::max</a></div><div class="ttdeci">PrimExpr max(const PrimExpr &amp;a, double b, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:1229</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a6454dd89e85fc29a7e3b8620df90a6f6"><div class="ttname"><a href="namespacetvm_1_1tir.html#a6454dd89e85fc29a7e3b8620df90a6f6">tvm::tir::foldl</a></div><div class="ttdeci">PrimExpr foldl(FReduce freduce, PrimExpr init_value, const Array&lt; PrimExpr &gt; &amp;values, Span span=Span())</div><div class="ttdoc">Left fold. </div><div class="ttdef"><b>Definition:</b> op.h:1146</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_acbe8f225faaf34c540194921a7ee6a66"><div class="ttname"><a href="namespacetvm_1_1tir.html#acbe8f225faaf34c540194921a7ee6a66">tvm::tir::as_const_int</a></div><div class="ttdeci">const int64_t * as_const_int(const PrimExpr &amp;x)</div><div class="ttdoc">Get x as constant int expression. </div><div class="ttdef"><b>Definition:</b> op.h:985</div></div>
 <div class="ttc" id="namespacetvm_html_a7ffc1cdb3a52b680e4b509395c9a252d"><div class="ttname"><a href="namespacetvm.html#a7ffc1cdb3a52b680e4b509395c9a252d">tvm::greater</a></div><div class="ttdeci">PrimExpr greater(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">greater </div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a0db485654cd60d43962f532a1b16026c"><div class="ttname"><a href="namespacetvm_1_1tir.html#a0db485654cd60d43962f532a1b16026c">tvm::tir::MakeConstScalar</a></div><div class="ttdeci">PrimExpr MakeConstScalar(DataType t, ValueType value, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:1094</div></div>
-<div class="ttc" id="namespacetvm_html_a350f9808d53b5fd9ad5c4c50bb76d700"><div class="ttname"><a href="namespacetvm.html#a350f9808d53b5fd9ad5c4c50bb76d700">tvm::atan2</a></div><div class="ttdeci">PrimExpr atan2(PrimExpr x, PrimExpr y, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:910</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a0db485654cd60d43962f532a1b16026c"><div class="ttname"><a href="namespacetvm_1_1tir.html#a0db485654cd60d43962f532a1b16026c">tvm::tir::MakeConstScalar</a></div><div class="ttdeci">PrimExpr MakeConstScalar(DataType t, ValueType value, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:1103</div></div>
+<div class="ttc" id="namespacetvm_html_a350f9808d53b5fd9ad5c4c50bb76d700"><div class="ttname"><a href="namespacetvm.html#a350f9808d53b5fd9ad5c4c50bb76d700">tvm::atan2</a></div><div class="ttdeci">PrimExpr atan2(PrimExpr x, PrimExpr y, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:919</div></div>
 <div class="ttc" id="namespacetvm_html_abde487c0197942c4ebb1b47277b89dac"><div class="ttname"><a href="namespacetvm.html#abde487c0197942c4ebb1b47277b89dac">tvm::operator-</a></div><div class="ttdeci">PrimExpr operator-(PrimExpr a, PrimExpr b)</div><div class="ttdoc">subtraction operator </div></div>
-<div class="ttc" id="tir_2op_8h_html_ab6a17993efa67183ba992dac29284c80"><div class="ttname"><a href="tir_2op_8h.html#ab6a17993efa67183ba992dac29284c80">TVM_DEFINE_LOGICAL_OP_CONST_VAL_OVERLOAD</a></div><div class="ttdeci">#define TVM_DEFINE_LOGICAL_OP_CONST_VAL_OVERLOAD(Name)</div><div class="ttdef"><b>Definition:</b> op.h:1184</div></div>
+<div class="ttc" id="tir_2op_8h_html_ab6a17993efa67183ba992dac29284c80"><div class="ttname"><a href="tir_2op_8h.html#ab6a17993efa67183ba992dac29284c80">TVM_DEFINE_LOGICAL_OP_CONST_VAL_OVERLOAD</a></div><div class="ttdeci">#define TVM_DEFINE_LOGICAL_OP_CONST_VAL_OVERLOAD(Name)</div><div class="ttdef"><b>Definition:</b> op.h:1193</div></div>
 <div class="ttc" id="namespacetvm_html_a0447e9aa45f6cab707f6dc9f9281b3f5"><div class="ttname"><a href="namespacetvm.html#a0447e9aa45f6cab707f6dc9f9281b3f5">tvm::GetRuntimeDataType</a></div><div class="ttdeci">runtime::DataType GetRuntimeDataType(const Type &amp;type)</div><div class="ttdoc">Get the implied DataType for storing values with type during runtime. </div></div>
 <div class="ttc" id="classtvm_1_1PointerTypeNode_html"><div class="ttname"><a href="classtvm_1_1PointerTypeNode.html">tvm::PointerTypeNode</a></div><div class="ttdoc">Low-level raw pointer type. </div><div class="ttdef"><b>Definition:</b> type.h:150</div></div>
-<div class="ttc" id="namespacetvm_html_a52a4f309e25bcb51c6038f6e3ee931ec"><div class="ttname"><a href="namespacetvm.html#a52a4f309e25bcb51c6038f6e3ee931ec">tvm::asinh</a></div><div class="ttdeci">PrimExpr asinh(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:900</div></div>
-<div class="ttc" id="tir_2op_8h_html_a29826503ae15ba83c6bc8e6cbe218a69"><div class="ttname"><a href="tir_2op_8h.html#a29826503ae15ba83c6bc8e6cbe218a69">TVM_DEFINE_LOGICAL_OP_CONST_VAL_OVERLOAD_SPANNED</a></div><div class="ttdeci">#define TVM_DEFINE_LOGICAL_OP_CONST_VAL_OVERLOAD_SPANNED(Name)</div><div class="ttdef"><b>Definition:</b> op.h:1188</div></div>
+<div class="ttc" id="namespacetvm_html_a52a4f309e25bcb51c6038f6e3ee931ec"><div class="ttname"><a href="namespacetvm.html#a52a4f309e25bcb51c6038f6e3ee931ec">tvm::asinh</a></div><div class="ttdeci">PrimExpr asinh(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:909</div></div>
+<div class="ttc" id="tir_2op_8h_html_a29826503ae15ba83c6bc8e6cbe218a69"><div class="ttname"><a href="tir_2op_8h.html#a29826503ae15ba83c6bc8e6cbe218a69">TVM_DEFINE_LOGICAL_OP_CONST_VAL_OVERLOAD_SPANNED</a></div><div class="ttdeci">#define TVM_DEFINE_LOGICAL_OP_CONST_VAL_OVERLOAD_SPANNED(Name)</div><div class="ttdef"><b>Definition:</b> op.h:1197</div></div>
 <div class="ttc" id="namespacetvm_html_a4bfb789a86d95f6241b50fd26f269c28"><div class="ttname"><a href="namespacetvm.html#a4bfb789a86d95f6241b50fd26f269c28">tvm::cast</a></div><div class="ttdeci">PrimExpr cast(const DataType &amp;t, PrimExpr value, Span span=Span())</div><div class="ttdoc">cast value to type. </div></div>
-<div class="ttc" id="namespacetvm_html_ae39f72b12020a4f7ad6b16b66ffdfe1f"><div class="ttname"><a href="namespacetvm.html#ae39f72b12020a4f7ad6b16b66ffdfe1f">tvm::log</a></div><div class="ttdeci">PrimExpr log(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:887</div></div>
+<div class="ttc" id="namespacetvm_html_ae39f72b12020a4f7ad6b16b66ffdfe1f"><div class="ttname"><a href="namespacetvm.html#ae39f72b12020a4f7ad6b16b66ffdfe1f">tvm::log</a></div><div class="ttdeci">PrimExpr log(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:896</div></div>
 <div class="ttc" id="namespacetvm_html_a54d9c399c82d7f384ee93f235496ab64"><div class="ttname"><a href="namespacetvm.html#a54d9c399c82d7f384ee93f235496ab64">tvm::round</a></div><div class="ttdeci">PrimExpr round(PrimExpr x, Span span=Span())</div><div class="ttdoc">Calculate round(x) </div></div>
 <div class="ttc" id="classtvm_1_1IntImmNode_html"><div class="ttname"><a href="classtvm_1_1IntImmNode.html">tvm::IntImmNode</a></div><div class="ttdoc">Constant integer literals in the program. </div><div class="ttdef"><b>Definition:</b> expr.h:274</div></div>
 <div class="ttc" id="ir_2op_8h_html"><div class="ttname"><a href="ir_2op_8h.html">op.h</a></div><div class="ttdoc">Primitive operators(builtin intrinsics) and registry for them. </div></div>
 <div class="ttc" id="classtvm_1_1FloatImm_html"><div class="ttname"><a href="classtvm_1_1FloatImm.html">tvm::FloatImm</a></div><div class="ttdoc">Managed reference class to FloatImmNode. </div><div class="ttdef"><b>Definition:</b> expr.h:349</div></div>
-<div class="ttc" id="namespacetvm_html_a50c4b8aeaf39b357013fc7f62b4a878c"><div class="ttname"><a href="namespacetvm.html#a50c4b8aeaf39b357013fc7f62b4a878c">tvm::exp2</a></div><div class="ttdeci">PrimExpr exp2(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:880</div></div>
+<div class="ttc" id="namespacetvm_html_a50c4b8aeaf39b357013fc7f62b4a878c"><div class="ttname"><a href="namespacetvm.html#a50c4b8aeaf39b357013fc7f62b4a878c">tvm::exp2</a></div><div class="ttdeci">PrimExpr exp2(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:889</div></div>
 <div class="ttc" id="namespacetvm_html_a2a1269a38e7e3621eb2906a47157106a"><div class="ttname"><a href="namespacetvm.html#a2a1269a38e7e3621eb2906a47157106a">tvm::operator &amp;</a></div><div class="ttdeci">PrimExpr operator &amp;(PrimExpr a, PrimExpr b)</div><div class="ttdoc">take bitwise and of two values </div></div>
 <div class="ttc" id="namespacetvm_html_a6dfe80d16a7b4f551c87a8901d366d08"><div class="ttname"><a href="namespacetvm.html#a6dfe80d16a7b4f551c87a8901d366d08">tvm::less_equal</a></div><div class="ttdeci">PrimExpr less_equal(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">less_equal </div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a8dd84303a9864b5b366835fa628a7824"><div class="ttname"><a href="namespacetvm_1_1tir.html#a8dd84303a9864b5b366835fa628a7824">tvm::tir::const_true</a></div><div class="ttdeci">PrimExpr const_true(int lanes=1, Span span=Span())</div><div class="ttdoc">Make a constant true expression. </div><div class="ttdef"><b>Definition:</b> op.h:958</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a8dd84303a9864b5b366835fa628a7824"><div class="ttname"><a href="namespacetvm_1_1tir.html#a8dd84303a9864b5b366835fa628a7824">tvm::tir::const_true</a></div><div class="ttdeci">PrimExpr const_true(int lanes=1, Span span=Span())</div><div class="ttdoc">Make a constant true expression. </div><div class="ttdef"><b>Definition:</b> op.h:967</div></div>
 <div class="ttc" id="classtvm_1_1Span_html"><div class="ttname"><a href="classtvm_1_1Span.html">tvm::Span</a></div><div class="ttdef"><b>Definition:</b> span.h:115</div></div>
 <div class="ttc" id="stmt_8h_html"><div class="ttname"><a href="stmt_8h.html">stmt.h</a></div><div class="ttdoc">TIR statements. </div></div>
 <div class="ttc" id="namespacetvm_html_a8683adb542beba8ecc69354e50d62ef6"><div class="ttname"><a href="namespacetvm.html#a8683adb542beba8ecc69354e50d62ef6">tvm::floormod</a></div><div class="ttdeci">PrimExpr floormod(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">compute the remainder of floordiv </div></div>
-<div class="ttc" id="namespacetvm_html_a51dc569142bf8ce8ea55f73029d3807d"><div class="ttname"><a href="namespacetvm.html#a51dc569142bf8ce8ea55f73029d3807d">tvm::operator/=</a></div><div class="ttdeci">PrimExpr operator/=(const PrimExpr &amp;a, const TB &amp;b)</div><div class="ttdef"><b>Definition:</b> op.h:1281</div></div>
+<div class="ttc" id="namespacetvm_html_a51dc569142bf8ce8ea55f73029d3807d"><div class="ttname"><a href="namespacetvm.html#a51dc569142bf8ce8ea55f73029d3807d">tvm::operator/=</a></div><div class="ttdeci">PrimExpr operator/=(const PrimExpr &amp;a, const TB &amp;b)</div><div class="ttdef"><b>Definition:</b> op.h:1290</div></div>
 <div class="ttc" id="namespacetvm_html_a16f9cd9219b505e2cc05c5a7558ac61f"><div class="ttname"><a href="namespacetvm.html#a16f9cd9219b505e2cc05c5a7558ac61f">tvm::div</a></div><div class="ttdeci">PrimExpr div(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">compute division in C semantics. </div></div>
-<div class="ttc" id="namespacetvm_html_a28e456d33229a628a312110db8d45b44"><div class="ttname"><a href="namespacetvm.html#a28e456d33229a628a312110db8d45b44">tvm::hypot</a></div><div class="ttdeci">PrimExpr hypot(PrimExpr x, PrimExpr y, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:913</div></div>
+<div class="ttc" id="namespacetvm_html_a28e456d33229a628a312110db8d45b44"><div class="ttname"><a href="namespacetvm.html#a28e456d33229a628a312110db8d45b44">tvm::hypot</a></div><div class="ttdeci">PrimExpr hypot(PrimExpr x, PrimExpr y, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:922</div></div>
 <div class="ttc" id="namespacetvm_html_ab354bf1270121abea71fade83f13b0b0"><div class="ttname"><a href="namespacetvm.html#ab354bf1270121abea71fade83f13b0b0">tvm::operator!</a></div><div class="ttdeci">PrimExpr operator!(PrimExpr a)</div><div class="ttdoc">not </div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a875c28f423ab96ae8f0d21f1263abe14"><div class="ttname"><a href="namespacetvm_1_1tir.html#a875c28f423ab96ae8f0d21f1263abe14">tvm::tir::const_false</a></div><div class="ttdeci">PrimExpr const_false(int lanes=1, Span span=Span())</div><div class="ttdoc">Make a constant false expression. </div><div class="ttdef"><b>Definition:</b> op.h:967</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a875c28f423ab96ae8f0d21f1263abe14"><div class="ttname"><a href="namespacetvm_1_1tir.html#a875c28f423ab96ae8f0d21f1263abe14">tvm::tir::const_false</a></div><div class="ttdeci">PrimExpr const_false(int lanes=1, Span span=Span())</div><div class="ttdoc">Make a constant false expression. </div><div class="ttdef"><b>Definition:</b> op.h:976</div></div>
 <div class="ttc" id="ir_2type_8h_html"><div class="ttname"><a href="ir_2type_8h.html">type.h</a></div><div class="ttdoc">IR/AST nodes for the unified type system in TVM. </div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1Broadcast_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Broadcast.html">tvm::tir::Broadcast</a></div><div class="ttdoc">Managed reference to BroadcastNode. </div><div class="ttdef"><b>Definition:</b> expr.h:855</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html_a17d8d5ad92691f9e18e3e0ae8ef69e4f"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html#a17d8d5ad92691f9e18e3e0ae8ef69e4f">tvm::runtime::ObjectRef::defined</a></div><div class="ttdeci">bool defined() const</div><div class="ttdef"><b>Definition:</b> object.h:544</div></div>
@@ -154,26 +154,26 @@ $(function() {
 <div class="ttc" id="classtvm_1_1IntImm_html"><div class="ttname"><a href="classtvm_1_1IntImm.html">tvm::IntImm</a></div><div class="ttdoc">Managed reference class to IntImmNode. </div><div class="ttdef"><b>Definition:</b> expr.h:303</div></div>
 <div class="ttc" id="namespacetvm_html_ac788f9eb54a8971596779537afc6c896"><div class="ttname"><a href="namespacetvm.html#ac788f9eb54a8971596779537afc6c896">tvm::q_multiply_shift</a></div><div class="ttdeci">PrimExpr q_multiply_shift(PrimExpr x, PrimExpr y, PrimExpr q, PrimExpr s, Span span=Span())</div><div class="ttdoc">Execute a multiplication between two Q-numbers x and y followed by a right shift s. The mathematical expression is: </div></div>
 <div class="ttc" id="namespacetvm_html_af682776c3609284f1bc3ea436e21a67a"><div class="ttname"><a href="namespacetvm.html#af682776c3609284f1bc3ea436e21a67a">tvm::operator&lt;&lt;</a></div><div class="ttdeci">PrimExpr operator&lt;&lt;(PrimExpr a, PrimExpr b)</div><div class="ttdoc">left shift operator </div></div>
-<div class="ttc" id="tir_2op_8h_html_a032e3ae6824990aad98b8992f90a83c9"><div class="ttname"><a href="tir_2op_8h.html#a032e3ae6824990aad98b8992f90a83c9">TVM_DECLARE_INTRIN_UNARY</a></div><div class="ttdeci">#define TVM_DECLARE_INTRIN_UNARY(OpName)</div><div class="ttdef"><b>Definition:</b> op.h:865</div></div>
+<div class="ttc" id="tir_2op_8h_html_a032e3ae6824990aad98b8992f90a83c9"><div class="ttname"><a href="tir_2op_8h.html#a032e3ae6824990aad98b8992f90a83c9">TVM_DECLARE_INTRIN_UNARY</a></div><div class="ttdeci">#define TVM_DECLARE_INTRIN_UNARY(OpName)</div><div class="ttdef"><b>Definition:</b> op.h:874</div></div>
 <div class="ttc" id="namespacetvm_html_abd7d1b3232218b25e2e0cf6ef699a65f"><div class="ttname"><a href="namespacetvm.html#abd7d1b3232218b25e2e0cf6ef699a65f">tvm::operator^</a></div><div class="ttdeci">PrimExpr operator^(PrimExpr a, PrimExpr b)</div><div class="ttdoc">take bitwise xor of two values </div></div>
 <div class="ttc" id="namespacetvm_html_a096aa20c0df975d089231b2c6fda2e61"><div class="ttname"><a href="namespacetvm.html#a096aa20c0df975d089231b2c6fda2e61">tvm::isfinite</a></div><div class="ttdeci">PrimExpr isfinite(PrimExpr x, Span span=Span())</div><div class="ttdoc">Check if x is finite. </div></div>
-<div class="ttc" id="tir_2op_8h_html_a0ad19625381aae20ca7a930260089c47"><div class="ttname"><a href="tir_2op_8h.html#a0ad19625381aae20ca7a930260089c47">TVM_DEFINE_INT_OP_CONST_VAL_OVERLOAD</a></div><div class="ttdeci">#define TVM_DEFINE_INT_OP_CONST_VAL_OVERLOAD(Name)</div><div class="ttdef"><b>Definition:</b> op.h:1196</div></div>
+<div class="ttc" id="tir_2op_8h_html_a0ad19625381aae20ca7a930260089c47"><div class="ttname"><a href="tir_2op_8h.html#a0ad19625381aae20ca7a930260089c47">TVM_DEFINE_INT_OP_CONST_VAL_OVERLOAD</a></div><div class="ttdeci">#define TVM_DEFINE_INT_OP_CONST_VAL_OVERLOAD(Name)</div><div class="ttdef"><b>Definition:</b> op.h:1205</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1BroadcastNode_html"><div class="ttname"><a href="classtvm_1_1tir_1_1BroadcastNode.html">tvm::tir::BroadcastNode</a></div><div class="ttdoc">Create a vector where all the elements are value. </div><div class="ttdef"><b>Definition:</b> expr.h:823</div></div>
-<div class="ttc" id="namespacetvm_html_aeeef6fde2a1352eae8abddd994c657b7"><div class="ttname"><a href="namespacetvm.html#aeeef6fde2a1352eae8abddd994c657b7">tvm::clz</a></div><div class="ttdeci">PrimExpr clz(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:902</div></div>
+<div class="ttc" id="namespacetvm_html_aeeef6fde2a1352eae8abddd994c657b7"><div class="ttname"><a href="namespacetvm.html#aeeef6fde2a1352eae8abddd994c657b7">tvm::clz</a></div><div class="ttdeci">PrimExpr clz(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:911</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1Stmt_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Stmt.html">tvm::tir::Stmt</a></div><div class="ttdoc">Container of all statements. </div><div class="ttdef"><b>Definition:</b> stmt.h:57</div></div>
-<div class="ttc" id="namespacetvm_html_a41c8855d1e4f7ea1d01e42e6c214f877"><div class="ttname"><a href="namespacetvm.html#a41c8855d1e4f7ea1d01e42e6c214f877">tvm::cosh</a></div><div class="ttdeci">PrimExpr cosh(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:893</div></div>
+<div class="ttc" id="namespacetvm_html_a41c8855d1e4f7ea1d01e42e6c214f877"><div class="ttname"><a href="namespacetvm.html#a41c8855d1e4f7ea1d01e42e6c214f877">tvm::cosh</a></div><div class="ttdeci">PrimExpr cosh(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:902</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1DataType_html_a0de5803abe309ca66c23adb15c565afb"><div class="ttname"><a href="classtvm_1_1runtime_1_1DataType.html#a0de5803abe309ca66c23adb15c565afb">tvm::runtime::DataType::is_uint</a></div><div class="ttdeci">bool is_uint() const</div><div class="ttdef"><b>Definition:</b> data_type.h:101</div></div>
 <div class="ttc" id="namespacetvm_html_a0df5ca82d2c566f628ebb2f1e84a3fcb"><div class="ttname"><a href="namespacetvm.html#a0df5ca82d2c566f628ebb2f1e84a3fcb">tvm::max</a></div><div class="ttdeci">PrimExpr max(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">take maximum of two values </div></div>
-<div class="ttc" id="tir_2op_8h_html_aabcf618a12e97c38fccecf7351392154"><div class="ttname"><a href="tir_2op_8h.html#aabcf618a12e97c38fccecf7351392154">TVM_DEFINE_BINOP_CONST_VAL_OVERLOAD</a></div><div class="ttdeci">#define TVM_DEFINE_BINOP_CONST_VAL_OVERLOAD(Name)</div><div class="ttdef"><b>Definition:</b> op.h:1154</div></div>
+<div class="ttc" id="tir_2op_8h_html_aabcf618a12e97c38fccecf7351392154"><div class="ttname"><a href="tir_2op_8h.html#aabcf618a12e97c38fccecf7351392154">TVM_DEFINE_BINOP_CONST_VAL_OVERLOAD</a></div><div class="ttdeci">#define TVM_DEFINE_BINOP_CONST_VAL_OVERLOAD(Name)</div><div class="ttdef"><b>Definition:</b> op.h:1163</div></div>
 <div class="ttc" id="classtvm_1_1IntImmNode_html_a81f4c116ffb5931fdd64639eacad415d"><div class="ttname"><a href="classtvm_1_1IntImmNode.html#a81f4c116ffb5931fdd64639eacad415d">tvm::IntImmNode::value</a></div><div class="ttdeci">int64_t value</div><div class="ttdoc">the Internal value. </div><div class="ttdef"><b>Definition:</b> expr.h:277</div></div>
 <div class="ttc" id="namespacetvm_html_a15f25703cfce73c75cb4cd33c74ea8f0"><div class="ttname"><a href="namespacetvm.html#a15f25703cfce73c75cb4cd33c74ea8f0">tvm::shapediv</a></div><div class="ttdeci">PrimExpr shapediv(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">compute ceil(a / b) where a and b are non-negative. </div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_aed3f57cf8d1c3546f075701898c5b70f"><div class="ttname"><a href="namespacetvm_1_1tir.html#aed3f57cf8d1c3546f075701898c5b70f">tvm::tir::make_zero</a></div><div class="ttdeci">PrimExpr make_zero(DataType t, Span span=Span())</div><div class="ttdoc">Make a const zero expr. </div><div class="ttdef"><b>Definition:</b> op.h:1129</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_aed3f57cf8d1c3546f075701898c5b70f"><div class="ttname"><a href="namespacetvm_1_1tir.html#aed3f57cf8d1c3546f075701898c5b70f">tvm::tir::make_zero</a></div><div class="ttdeci">PrimExpr make_zero(DataType t, Span span=Span())</div><div class="ttdoc">Make a const zero expr. </div><div class="ttdef"><b>Definition:</b> op.h:1138</div></div>
 <div class="ttc" id="namespacetvm_html_a3f6d8fba545c2944efc83b57e6190459"><div class="ttname"><a href="namespacetvm.html#a3f6d8fba545c2944efc83b57e6190459">tvm::bitwise_neg</a></div><div class="ttdeci">PrimExpr bitwise_neg(PrimExpr a, Span span=Span())</div><div class="ttdoc">take bitwise negation of two values </div></div>
 <div class="ttc" id="namespacetvm_html_a5efd9942cdee5a56cfc438ba523c04f0"><div class="ttname"><a href="namespacetvm.html#a5efd9942cdee5a56cfc438ba523c04f0">tvm::any</a></div><div class="ttdeci">PrimExpr any(PrimExpr source, Array&lt; tir::IterVar &gt; axis, Array&lt; PrimExpr &gt; init={}, Span span=Span())</div><div class="ttdoc">logical Or of of source expression over axis </div></div>
-<div class="ttc" id="namespacetvm_html_a139870d327497d548e2ef8bddba2f114"><div class="ttname"><a href="namespacetvm.html#a139870d327497d548e2ef8bddba2f114">tvm::erf</a></div><div class="ttdeci">PrimExpr erf(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:882</div></div>
+<div class="ttc" id="namespacetvm_html_a139870d327497d548e2ef8bddba2f114"><div class="ttname"><a href="namespacetvm.html#a139870d327497d548e2ef8bddba2f114">tvm::erf</a></div><div class="ttdeci">PrimExpr erf(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:891</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1EvaluateNode_html"><div class="ttname"><a href="classtvm_1_1tir_1_1EvaluateNode.html">tvm::tir::EvaluateNode</a></div><div class="ttdoc">Evaluates an expression. This is mostly used for putting a Call node into Stmt. </div><div class="ttdef"><b>Definition:</b> stmt.h:832</div></div>
 <div class="ttc" id="namespacetvm_html_a1ce1eb32fc9d76ebe5a6b8d185024d41"><div class="ttname"><a href="namespacetvm.html#a1ce1eb32fc9d76ebe5a6b8d185024d41">tvm::operator&gt;&gt;</a></div><div class="ttdeci">PrimExpr operator&gt;&gt;(PrimExpr a, PrimExpr b)</div><div class="ttdoc">right shift operator </div></div>
-<div class="ttc" id="namespacetvm_html_a96d86ba91e4855c84879ba886465cacf"><div class="ttname"><a href="namespacetvm.html#a96d86ba91e4855c84879ba886465cacf">tvm::nextafter</a></div><div class="ttdeci">PrimExpr nextafter(PrimExpr x, PrimExpr y, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:911</div></div>
+<div class="ttc" id="namespacetvm_html_a96d86ba91e4855c84879ba886465cacf"><div class="ttname"><a href="namespacetvm.html#a96d86ba91e4855c84879ba886465cacf">tvm::nextafter</a></div><div class="ttdeci">PrimExpr nextafter(PrimExpr x, PrimExpr y, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:920</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1DataType_html_a7a67295643b82bbe37cf36e6f69e8323"><div class="ttname"><a href="classtvm_1_1runtime_1_1DataType.html#a7a67295643b82bbe37cf36e6f69e8323">tvm::runtime::DataType::lanes</a></div><div class="ttdeci">int lanes() const</div><div class="ttdef"><b>Definition:</b> data_type.h:87</div></div>
 <div class="ttc" id="namespacetvm_html_a27d5567b95675d383c4675fdcd85346c"><div class="ttname"><a href="namespacetvm.html#a27d5567b95675d383c4675fdcd85346c">tvm::logical_and</a></div><div class="ttdeci">PrimExpr logical_and(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">and </div></div>
 <div class="ttc" id="namespacetvm_html_a2428ea0e23bd9f7218aebd066bb2cd88"><div class="ttname"><a href="namespacetvm.html#a2428ea0e23bd9f7218aebd066bb2cd88">tvm::truncmod</a></div><div class="ttdeci">PrimExpr truncmod(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">compute the remainder of truncdiv </div></div>
@@ -182,54 +182,55 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1DataType_html_acfe8fe9c3873fdec74c9a7b03161766f"><div class="ttname"><a href="classtvm_1_1runtime_1_1DataType.html#acfe8fe9c3873fdec74c9a7b03161766f">tvm::runtime::DataType::is_bfloat16</a></div><div class="ttdeci">bool is_bfloat16() const</div><div class="ttdef"><b>Definition:</b> data_type.h:97</div></div>
 <div class="ttc" id="namespacetvm_html_a5530417da455bd46f5dc55f27d69bcdf"><div class="ttname"><a href="namespacetvm.html#a5530417da455bd46f5dc55f27d69bcdf">tvm::operator&gt;=</a></div><div class="ttdeci">PrimExpr operator&gt;=(PrimExpr a, PrimExpr b)</div><div class="ttdoc">greater_equal </div></div>
 <div class="ttc" id="namespacetvm_html_af347f10e3572adb2d74ba4a53777db2b"><div class="ttname"><a href="namespacetvm.html#af347f10e3572adb2d74ba4a53777db2b">tvm::floordiv</a></div><div class="ttdeci">PrimExpr floordiv(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">compute floor(a / b) </div></div>
-<div class="ttc" id="namespacetvm_html_aa8e1cc91eb14b427e3018836d82e15e6"><div class="ttname"><a href="namespacetvm.html#aa8e1cc91eb14b427e3018836d82e15e6">tvm::acos</a></div><div class="ttdeci">PrimExpr acos(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:897</div></div>
+<div class="ttc" id="namespacetvm_html_aa8e1cc91eb14b427e3018836d82e15e6"><div class="ttname"><a href="namespacetvm.html#aa8e1cc91eb14b427e3018836d82e15e6">tvm::acos</a></div><div class="ttdeci">PrimExpr acos(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:906</div></div>
 <div class="ttc" id="namespacetvm_html_a48fb9755f38ffcfcd03592a47ffbbd14"><div class="ttname"><a href="namespacetvm.html#a48fb9755f38ffcfcd03592a47ffbbd14">tvm::GetType</a></div><div class="ttdeci">Type GetType(const PrimExpr &amp;expr)</div><div class="ttdoc">Get the type of the expression under the unified type system. </div></div>
 <div class="ttc" id="namespacetvm_html_a5c5034de2993b9130b7bd9d593a11bb5"><div class="ttname"><a href="namespacetvm.html#a5c5034de2993b9130b7bd9d593a11bb5">tvm::operator*</a></div><div class="ttdeci">PrimExpr operator*(PrimExpr a, PrimExpr b)</div><div class="ttdoc">multiplication operator </div></div>
-<div class="ttc" id="namespacetvm_html_ac1b3a94a13d11c02d7e79cad2638e74a"><div class="ttname"><a href="namespacetvm.html#ac1b3a94a13d11c02d7e79cad2638e74a">tvm::log2</a></div><div class="ttdeci">PrimExpr log2(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:888</div></div>
+<div class="ttc" id="namespacetvm_html_ac1b3a94a13d11c02d7e79cad2638e74a"><div class="ttname"><a href="namespacetvm.html#ac1b3a94a13d11c02d7e79cad2638e74a">tvm::log2</a></div><div class="ttdeci">PrimExpr log2(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:897</div></div>
 <div class="ttc" id="namespacetvm_html_adeeaff4fb29f75a9da8ff4d67723c693"><div class="ttname"><a href="namespacetvm.html#adeeaff4fb29f75a9da8ff4d67723c693">tvm::all</a></div><div class="ttdeci">PrimExpr all(PrimExpr source, Array&lt; tir::IterVar &gt; axis, Array&lt; PrimExpr &gt; init={}, Span span=Span())</div><div class="ttdoc">logical And of of source expression over axis </div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a48cd6ae7623f42cddbb05cc008c33711"><div class="ttname"><a href="namespacetvm_1_1tir.html#a48cd6ae7623f42cddbb05cc008c33711">tvm::tir::IsPointerType</a></div><div class="ttdeci">bool IsPointerType(const Type &amp;type, const DataType &amp;element_type)</div><div class="ttdoc">Check if type is a pointer to a runtime element type. </div><div class="ttdef"><b>Definition:</b> op.h:924</div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a5c414d5e54c099ad7287be302aac8f02"><div class="ttname"><a href="namespacetvm_1_1tir.html#a5c414d5e54c099ad7287be302aac8f02">tvm::tir::is_const_int</a></div><div class="ttdeci">bool is_const_int(const PrimExpr &amp;x, int64_t value)</div><div class="ttdoc">Check whether x is a constant integer expression. </div><div class="ttdef"><b>Definition:</b> op.h:1077</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a48cd6ae7623f42cddbb05cc008c33711"><div class="ttname"><a href="namespacetvm_1_1tir.html#a48cd6ae7623f42cddbb05cc008c33711">tvm::tir::IsPointerType</a></div><div class="ttdeci">bool IsPointerType(const Type &amp;type, const DataType &amp;element_type)</div><div class="ttdoc">Check if type is a pointer to a runtime element type. </div><div class="ttdef"><b>Definition:</b> op.h:933</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a5c414d5e54c099ad7287be302aac8f02"><div class="ttname"><a href="namespacetvm_1_1tir.html#a5c414d5e54c099ad7287be302aac8f02">tvm::tir::is_const_int</a></div><div class="ttdeci">bool is_const_int(const PrimExpr &amp;x, int64_t value)</div><div class="ttdoc">Check whether x is a constant integer expression. </div><div class="ttdef"><b>Definition:</b> op.h:1086</div></div>
 <div class="ttc" id="namespacetvm_html_ac3932d85fd31819eae6a80841296af51"><div class="ttname"><a href="namespacetvm.html#ac3932d85fd31819eae6a80841296af51">tvm::not_equal</a></div><div class="ttdeci">PrimExpr not_equal(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">not_equal </div></div>
-<div class="ttc" id="namespacetvm_html_afdd8659490e81bdc0f2d42b77b882d30"><div class="ttname"><a href="namespacetvm.html#afdd8659490e81bdc0f2d42b77b882d30">tvm::cos</a></div><div class="ttdeci">PrimExpr cos(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:892</div></div>
-<div class="ttc" id="namespacetvm_html_af38d8633e3508033faa7bd60d8232bfe"><div class="ttname"><a href="namespacetvm.html#af38d8633e3508033faa7bd60d8232bfe">tvm::acosh</a></div><div class="ttdeci">PrimExpr acosh(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:899</div></div>
-<div class="ttc" id="namespacetvm_html_abf978d3e6abd0e3754b853dc4fa9869e"><div class="ttname"><a href="namespacetvm.html#abf978d3e6abd0e3754b853dc4fa9869e">tvm::sqrt</a></div><div class="ttdeci">PrimExpr sqrt(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:885</div></div>
-<div class="ttc" id="namespacetvm_html_a12c5457301d8a2c03a2ba1163edd7cee"><div class="ttname"><a href="namespacetvm.html#a12c5457301d8a2c03a2ba1163edd7cee">tvm::tanh</a></div><div class="ttdeci">PrimExpr tanh(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:883</div></div>
+<div class="ttc" id="namespacetvm_html_afdd8659490e81bdc0f2d42b77b882d30"><div class="ttname"><a href="namespacetvm.html#afdd8659490e81bdc0f2d42b77b882d30">tvm::cos</a></div><div class="ttdeci">PrimExpr cos(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:901</div></div>
+<div class="ttc" id="namespacetvm_html_af38d8633e3508033faa7bd60d8232bfe"><div class="ttname"><a href="namespacetvm.html#af38d8633e3508033faa7bd60d8232bfe">tvm::acosh</a></div><div class="ttdeci">PrimExpr acosh(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:908</div></div>
+<div class="ttc" id="namespacetvm_html_abf978d3e6abd0e3754b853dc4fa9869e"><div class="ttname"><a href="namespacetvm.html#abf978d3e6abd0e3754b853dc4fa9869e">tvm::sqrt</a></div><div class="ttdeci">PrimExpr sqrt(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:894</div></div>
+<div class="ttc" id="namespacetvm_html_a12c5457301d8a2c03a2ba1163edd7cee"><div class="ttname"><a href="namespacetvm.html#a12c5457301d8a2c03a2ba1163edd7cee">tvm::tanh</a></div><div class="ttdeci">PrimExpr tanh(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:892</div></div>
 <div class="ttc" id="namespacetvm_html_a8934beb918da0e451d3aab7ccbcd9859"><div class="ttname"><a href="namespacetvm.html#a8934beb918da0e451d3aab7ccbcd9859">tvm::infinity</a></div><div class="ttdeci">PrimExpr infinity(const DataType &amp;dtype, Span span=Span())</div></div>
 <div class="ttc" id="namespacetvm_html_a98a791851ba1a7631e50587ae370b3b8"><div class="ttname"><a href="namespacetvm.html#a98a791851ba1a7631e50587ae370b3b8">tvm::LargeUIntImm</a></div><div class="ttdeci">PrimExpr LargeUIntImm(DataType dtype, int64_t low, int64_t high, Span span=Span())</div><div class="ttdoc">Construct a large uint constant by its low 32 bits and high 32bits. </div></div>
+<div class="ttc" id="namespacetvm_html_a5a8143fd484af0da57222d6ff0da6323"><div class="ttname"><a href="namespacetvm.html#a5a8143fd484af0da57222d6ff0da6323">tvm::GetTypeFromRuntimeDataType</a></div><div class="ttdeci">Type GetTypeFromRuntimeDataType(const DataType &amp;dtype)</div><div class="ttdoc">Get the type corresponding to DataType. </div></div>
 <div class="ttc" id="namespacetvm_html_a4f1398024c0af23699447ef910b654b8"><div class="ttname"><a href="namespacetvm.html#a4f1398024c0af23699447ef910b654b8">tvm::max_value</a></div><div class="ttdeci">PrimExpr max_value(const DataType &amp;dtype, Span span=Span())</div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a5b96c80ce43c8276e39c15787d997651"><div class="ttname"><a href="namespacetvm_1_1tir.html#a5b96c80ce43c8276e39c15787d997651">tvm::tir::is_const_number</a></div><div class="ttdeci">bool is_const_number(const PrimExpr &amp;x)</div><div class="ttdoc">Check whether x is an integer/float constant. </div><div class="ttdef"><b>Definition:</b> op.h:1056</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a5b96c80ce43c8276e39c15787d997651"><div class="ttname"><a href="namespacetvm_1_1tir.html#a5b96c80ce43c8276e39c15787d997651">tvm::tir::is_const_number</a></div><div class="ttdeci">bool is_const_number(const PrimExpr &amp;x)</div><div class="ttdoc">Check whether x is an integer/float constant. </div><div class="ttdef"><b>Definition:</b> op.h:1065</div></div>
 <div class="ttc" id="namespacetvm_html_a5472f967969aebee254e8e78f2396436"><div class="ttname"><a href="namespacetvm.html#a5472f967969aebee254e8e78f2396436">tvm::trunc</a></div><div class="ttdeci">PrimExpr trunc(PrimExpr x, Span span=Span())</div><div class="ttdoc">Calculate trunc(x) </div></div>
-<div class="ttc" id="tir_2op_8h_html_ac211367ff4e2382caf322a3903f8c629"><div class="ttname"><a href="tir_2op_8h.html#ac211367ff4e2382caf322a3903f8c629">TVM_DEFINE_INT_OP_CONST_VAL_OVERLOAD_SPANNED</a></div><div class="ttdeci">#define TVM_DEFINE_INT_OP_CONST_VAL_OVERLOAD_SPANNED(Name)</div><div class="ttdef"><b>Definition:</b> op.h:1202</div></div>
+<div class="ttc" id="tir_2op_8h_html_ac211367ff4e2382caf322a3903f8c629"><div class="ttname"><a href="tir_2op_8h.html#ac211367ff4e2382caf322a3903f8c629">TVM_DEFINE_INT_OP_CONST_VAL_OVERLOAD_SPANNED</a></div><div class="ttdeci">#define TVM_DEFINE_INT_OP_CONST_VAL_OVERLOAD_SPANNED(Name)</div><div class="ttdef"><b>Definition:</b> op.h:1211</div></div>
 <div class="ttc" id="namespacetvm_html_a0da40d3e210aa3b38a17982a7b7866b8"><div class="ttname"><a href="namespacetvm.html#a0da40d3e210aa3b38a17982a7b7866b8">tvm::ret</a></div><div class="ttdeci">PrimExpr ret(PrimExpr value, Span span=Span())</div><div class="ttdoc">Return the value. </div></div>
-<div class="ttc" id="namespacetvm_html_a532ceddde4b8c713b0b1d7e737fcf5fb"><div class="ttname"><a href="namespacetvm.html#a532ceddde4b8c713b0b1d7e737fcf5fb">tvm::sin</a></div><div class="ttdeci">PrimExpr sin(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:894</div></div>
+<div class="ttc" id="namespacetvm_html_a532ceddde4b8c713b0b1d7e737fcf5fb"><div class="ttname"><a href="namespacetvm.html#a532ceddde4b8c713b0b1d7e737fcf5fb">tvm::sin</a></div><div class="ttdeci">PrimExpr sin(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:903</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_af0e52ef3c0d8e11bf493d5163033cd0d"><div class="ttname"><a href="namespacetvm_1_1topi.html#af0e52ef3c0d8e11bf493d5163033cd0d">tvm::topi::FReduce</a></div><div class="ttdeci">std::function&lt; PrimExpr(PrimExpr source, const Array&lt; IterVar &gt; &amp;axis, Array&lt; PrimExpr &gt; init, Span span)&gt; FReduce</div><div class="ttdoc">The operation to use for CommReduce. </div><div class="ttdef"><b>Definition:</b> reduction.h:47</div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a51d552441331effb387b7c8fb241c454"><div class="ttname"><a href="namespacetvm_1_1tir.html#a51d552441331effb387b7c8fb241c454">tvm::tir::is_negative_const</a></div><div class="ttdeci">bool is_negative_const(const PrimExpr &amp;a)</div><div class="ttdef"><b>Definition:</b> op.h:1072</div></div>
-<div class="ttc" id="namespacetvm_html_a31e7a3e4a160a1d048e3ba741966f1a8"><div class="ttname"><a href="namespacetvm.html#a31e7a3e4a160a1d048e3ba741966f1a8">tvm::DivAmbiguityError</a></div><div class="ttdeci">void DivAmbiguityError(const TA &amp;a)</div><div class="ttdoc">Helper function to raise a compiler error about division ambiguity. </div><div class="ttdef"><b>Definition:</b> op.h:1259</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a51d552441331effb387b7c8fb241c454"><div class="ttname"><a href="namespacetvm_1_1tir.html#a51d552441331effb387b7c8fb241c454">tvm::tir::is_negative_const</a></div><div class="ttdeci">bool is_negative_const(const PrimExpr &amp;a)</div><div class="ttdef"><b>Definition:</b> op.h:1081</div></div>
+<div class="ttc" id="namespacetvm_html_a31e7a3e4a160a1d048e3ba741966f1a8"><div class="ttname"><a href="namespacetvm.html#a31e7a3e4a160a1d048e3ba741966f1a8">tvm::DivAmbiguityError</a></div><div class="ttdeci">void DivAmbiguityError(const TA &amp;a)</div><div class="ttdoc">Helper function to raise a compiler error about division ambiguity. </div><div class="ttdef"><b>Definition:</b> op.h:1268</div></div>
 <div class="ttc" id="namespacetvm_html_a18256ba1213ce5ff3cf8037a314354b7"><div class="ttname"><a href="namespacetvm.html#a18256ba1213ce5ff3cf8037a314354b7">tvm::operator/</a></div><div class="ttdeci">PrimExpr operator/(PrimExpr a, PrimExpr b)</div><div class="ttdoc">division operator </div></div>
 <div class="ttc" id="namespacetvm_html_aaa28e92b677086d89ebfb77204bf92a2"><div class="ttname"><a href="namespacetvm.html#aaa28e92b677086d89ebfb77204bf92a2">tvm::mul</a></div><div class="ttdeci">PrimExpr mul(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">multiplication operator </div></div>
 <div class="ttc" id="namespacetvm_html_a598f8139c469abc4066dbdd0a0a0845d"><div class="ttname"><a href="namespacetvm.html#a598f8139c469abc4066dbdd0a0a0845d">tvm::operator&lt;=</a></div><div class="ttdeci">PrimExpr operator&lt;=(PrimExpr a, PrimExpr b)</div><div class="ttdoc">less_equal </div></div>
-<div class="ttc" id="namespacetvm_html_a69f67f2d38656a8e663af0912d00cb51"><div class="ttname"><a href="namespacetvm.html#a69f67f2d38656a8e663af0912d00cb51">tvm::copysign</a></div><div class="ttdeci">PrimExpr copysign(PrimExpr x, PrimExpr y, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:912</div></div>
+<div class="ttc" id="namespacetvm_html_a69f67f2d38656a8e663af0912d00cb51"><div class="ttname"><a href="namespacetvm.html#a69f67f2d38656a8e663af0912d00cb51">tvm::copysign</a></div><div class="ttdeci">PrimExpr copysign(PrimExpr x, PrimExpr y, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:921</div></div>
 <div class="ttc" id="classtvm_1_1Type_html"><div class="ttname"><a href="classtvm_1_1Type.html">tvm::Type</a></div><div class="ttdoc">Managed reference to TypeNode. </div><div class="ttdef"><b>Definition:</b> type.h:93</div></div>
 <div class="ttc" id="namespacetvm_html_a62955df1df48917116efe39d4cd18fec"><div class="ttname"><a href="namespacetvm.html#a62955df1df48917116efe39d4cd18fec">tvm::logical_not</a></div><div class="ttdeci">PrimExpr logical_not(PrimExpr a, Span span=Span())</div><div class="ttdoc">not </div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a782dc226f8b2b537efdc56b1f76351d1"><div class="ttname"><a href="namespacetvm_1_1tir.html#a782dc226f8b2b537efdc56b1f76351d1">tvm::tir::is_positive_const</a></div><div class="ttdeci">bool is_positive_const(const PrimExpr &amp;a)</div><div class="ttdef"><b>Definition:</b> op.h:1067</div></div>
-<div class="ttc" id="namespacetvm_html_ab25738e50b37cd07b2d171ca74ba9321"><div class="ttname"><a href="namespacetvm.html#ab25738e50b37cd07b2d171ca74ba9321">tvm::operator%</a></div><div class="ttdeci">PrimExpr operator%(const PrimExpr &amp;a, const TB &amp;b)</div><div class="ttdef"><b>Definition:</b> op.h:1287</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a782dc226f8b2b537efdc56b1f76351d1"><div class="ttname"><a href="namespacetvm_1_1tir.html#a782dc226f8b2b537efdc56b1f76351d1">tvm::tir::is_positive_const</a></div><div class="ttdeci">bool is_positive_const(const PrimExpr &amp;a)</div><div class="ttdef"><b>Definition:</b> op.h:1076</div></div>
+<div class="ttc" id="namespacetvm_html_ab25738e50b37cd07b2d171ca74ba9321"><div class="ttname"><a href="namespacetvm.html#ab25738e50b37cd07b2d171ca74ba9321">tvm::operator%</a></div><div class="ttdeci">PrimExpr operator%(const PrimExpr &amp;a, const TB &amp;b)</div><div class="ttdef"><b>Definition:</b> op.h:1296</div></div>
 <div class="ttc" id="namespacetvm_html_ae8ecc0382685a855187bede0c97d93e6"><div class="ttname"><a href="namespacetvm.html#ae8ecc0382685a855187bede0c97d93e6">tvm::right_shift</a></div><div class="ttdeci">PrimExpr right_shift(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">right shift operator </div></div>
 <div class="ttc" id="namespacetvm_html_a354b9954ff25dd819a51d856fdd38827"><div class="ttname"><a href="namespacetvm.html#a354b9954ff25dd819a51d856fdd38827">tvm::operator~</a></div><div class="ttdeci">PrimExpr operator~(PrimExpr a)</div><div class="ttdoc">take bitwise negation of two values </div></div>
-<div class="ttc" id="namespacetvm_html_a82be70bd7794abca32473604cbb09569"><div class="ttname"><a href="namespacetvm.html#a82be70bd7794abca32473604cbb09569">tvm::exp</a></div><div class="ttdeci">PrimExpr exp(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:879</div></div>
+<div class="ttc" id="namespacetvm_html_a82be70bd7794abca32473604cbb09569"><div class="ttname"><a href="namespacetvm.html#a82be70bd7794abca32473604cbb09569">tvm::exp</a></div><div class="ttdeci">PrimExpr exp(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:888</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1DataType_html_a052732be4d88e9d67dc2cbe83ba6a310"><div class="ttname"><a href="classtvm_1_1runtime_1_1DataType.html#a052732be4d88e9d67dc2cbe83ba6a310">tvm::runtime::DataType::is_handle</a></div><div class="ttdeci">bool is_handle() const</div><div class="ttdef"><b>Definition:</b> data_type.h:103</div></div>
 <div class="ttc" id="classtvm_1_1PrimExpr_html"><div class="ttname"><a href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></div><div class="ttdoc">Reference to PrimExprNode. </div><div class="ttdef"><b>Definition:</b> expr.h:112</div></div>
 <div class="ttc" id="namespacetvm_html_acebb0c446b76d5a28c3b1b55f827c86e"><div class="ttname"><a href="namespacetvm.html#acebb0c446b76d5a28c3b1b55f827c86e">tvm::bitwise_and</a></div><div class="ttdeci">PrimExpr bitwise_and(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">take bitwise and of two values </div></div>
 <div class="ttc" id="classtvm_1_1PrimTypeNode_html"><div class="ttname"><a href="classtvm_1_1PrimTypeNode.html">tvm::PrimTypeNode</a></div><div class="ttdoc">Primitive data types used in the low-level IR. </div><div class="ttdef"><b>Definition:</b> type.h:106</div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a8de8f843c6eb433b6ddfbf34e24099ef"><div class="ttname"><a href="namespacetvm_1_1tir.html#a8de8f843c6eb433b6ddfbf34e24099ef">tvm::tir::is_no_op</a></div><div class="ttdeci">bool is_no_op(const tir::Stmt &amp;stmt)</div><div class="ttdoc">Check whether stmt is nop. </div><div class="ttdef"><b>Definition:</b> op.h:1082</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a8de8f843c6eb433b6ddfbf34e24099ef"><div class="ttname"><a href="namespacetvm_1_1tir.html#a8de8f843c6eb433b6ddfbf34e24099ef">tvm::tir::is_no_op</a></div><div class="ttdeci">bool is_no_op(const tir::Stmt &amp;stmt)</div><div class="ttdoc">Check whether stmt is nop. </div><div class="ttdef"><b>Definition:</b> op.h:1091</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html_a2d76fa1fb628ff276a284e61123589c5"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html#a2d76fa1fb628ff276a284e61123589c5">tvm::runtime::ObjectRef::as</a></div><div class="ttdeci">const ObjectType * as() const</div><div class="ttdoc">Try to downcast the internal Object to a raw pointer of a corresponding type. </div><div class="ttdef"><b>Definition:</b> object.h:865</div></div>
 <div class="ttc" id="namespacetvm_html_ac62b239b36ad259a118bb20cb78a01a2"><div class="ttname"><a href="namespacetvm.html#ac62b239b36ad259a118bb20cb78a01a2">tvm::truncdiv</a></div><div class="ttdeci">PrimExpr truncdiv(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">compute trunc(a / b) </div></div>
-<div class="ttc" id="namespacetvm_html_aa048961a5d19e9f32071c1372809ecbd"><div class="ttname"><a href="namespacetvm.html#aa048961a5d19e9f32071c1372809ecbd">tvm::sigmoid</a></div><div class="ttdeci">PrimExpr sigmoid(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:884</div></div>
-<div class="ttc" id="tir_2op_8h_html_a8fc539385c2bb11740d0a6bef19be7b8"><div class="ttname"><a href="tir_2op_8h.html#a8fc539385c2bb11740d0a6bef19be7b8">TVM_DEFINE_BINOP_CONST_VAL_OVERLOAD_SPANNED</a></div><div class="ttdeci">#define TVM_DEFINE_BINOP_CONST_VAL_OVERLOAD_SPANNED(Name)</div><div class="ttdef"><b>Definition:</b> op.h:1167</div></div>
+<div class="ttc" id="namespacetvm_html_aa048961a5d19e9f32071c1372809ecbd"><div class="ttname"><a href="namespacetvm.html#aa048961a5d19e9f32071c1372809ecbd">tvm::sigmoid</a></div><div class="ttdeci">PrimExpr sigmoid(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:893</div></div>
+<div class="ttc" id="tir_2op_8h_html_a8fc539385c2bb11740d0a6bef19be7b8"><div class="ttname"><a href="tir_2op_8h.html#a8fc539385c2bb11740d0a6bef19be7b8">TVM_DEFINE_BINOP_CONST_VAL_OVERLOAD_SPANNED</a></div><div class="ttdeci">#define TVM_DEFINE_BINOP_CONST_VAL_OVERLOAD_SPANNED(Name)</div><div class="ttdef"><b>Definition:</b> op.h:1176</div></div>
 <div class="ttc" id="namespacetvm_html_ad4fceb4266c6e7644fa373eacf73359f"><div class="ttname"><a href="namespacetvm.html#ad4fceb4266c6e7644fa373eacf73359f">tvm::left_shift</a></div><div class="ttdeci">PrimExpr left_shift(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">left shift operator </div></div>
 <div class="ttc" id="namespacetvm_html_a236d9aae385e6697874f75e4c8a69f8d"><div class="ttname"><a href="namespacetvm.html#a236d9aae385e6697874f75e4c8a69f8d">tvm::operator|</a></div><div class="ttdeci">PrimExpr operator|(PrimExpr a, PrimExpr b)</div><div class="ttdoc">take bitwise or of two values </div></div>
 <div class="ttc" id="namespacetvm_html_a32a87ae9eacafb2b5b71b28bcc9ef35e"><div class="ttname"><a href="namespacetvm.html#a32a87ae9eacafb2b5b71b28bcc9ef35e">tvm::prod</a></div><div class="ttdeci">PrimExpr prod(PrimExpr source, Array&lt; tir::IterVar &gt; axis, Array&lt; PrimExpr &gt; init={}, Span span=Span())</div><div class="ttdoc">product of of source expression over axis </div></div>
 <div class="ttc" id="namespacetvm_html_af246f441d4ac21b110185b77240b2dcc"><div class="ttname"><a href="namespacetvm.html#af246f441d4ac21b110185b77240b2dcc">tvm::operator+</a></div><div class="ttdeci">PrimExpr operator+(PrimExpr a, PrimExpr b)</div><div class="ttdoc">add operator </div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a48bad3db162b334837716bf8e7ba9285"><div class="ttname"><a href="namespacetvm_1_1tir.html#a48bad3db162b334837716bf8e7ba9285">tvm::tir::is_zero</a></div><div class="ttdeci">bool is_zero(const PrimExpr &amp;x)</div><div class="ttdoc">Check whether x is a constant integer 0. </div><div class="ttdef"><b>Definition:</b> op.h:1014</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a48bad3db162b334837716bf8e7ba9285"><div class="ttname"><a href="namespacetvm_1_1tir.html#a48bad3db162b334837716bf8e7ba9285">tvm::tir::is_zero</a></div><div class="ttdeci">bool is_zero(const PrimExpr &amp;x)</div><div class="ttdoc">Check whether x is a constant integer 0. </div><div class="ttdef"><b>Definition:</b> op.h:1023</div></div>
 <div class="ttc" id="namespacetvm_html_a41918af1a1dc386388639a9d3ad06c5d"><div class="ttname"><a href="namespacetvm.html#a41918af1a1dc386388639a9d3ad06c5d">tvm::DataType</a></div><div class="ttdeci">runtime::DataType DataType</div><div class="ttdef"><b>Definition:</b> data_type.h:389</div></div>
 <div class="ttc" id="namespacetvm_html_a52fa1dc57423a077eb098960162e7b85"><div class="ttname"><a href="namespacetvm.html#a52fa1dc57423a077eb098960162e7b85">tvm::less</a></div><div class="ttdeci">PrimExpr less(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">less </div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1DataType_html_ad1cf4571ee1a22c188c66ee2e6e6c042"><div class="ttname"><a href="classtvm_1_1runtime_1_1DataType.html#ad1cf4571ee1a22c188c66ee2e6e6c042">tvm::runtime::DataType::UInt</a></div><div class="ttdeci">static DataType UInt(int bits, int lanes=1)</div><div class="ttdoc">Construct an uint type. </div><div class="ttdef"><b>Definition:</b> data_type.h:161</div></div>
diff --git a/docs/reference/api/doxygen/topi_2nn_8h_source.html b/docs/reference/api/doxygen/topi_2nn_8h_source.html
index 0fa9b01d4..8cc3abcdc 100644
--- a/docs/reference/api/doxygen/topi_2nn_8h_source.html
+++ b/docs/reference/api/doxygen/topi_2nn_8h_source.html
@@ -69,7 +69,7 @@ $(function() {
 <a href="topi_2nn_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * or more co [...]
 <div class="ttc" id="namespacetvm_1_1topi_html_a582bc98a3956894e8e90a3a3da929568"><div class="ttname"><a href="namespacetvm_1_1topi.html#a582bc98a3956894e8e90a3a3da929568">tvm::topi::divide</a></div><div class="ttdeci">tvm::PrimExpr divide(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)</div><div class="ttdef"><b>Definition:</b> broadcast.h:239</div></div>
 <div class="ttc" id="namespacetvm_html_ada5ad8338d3144221d8f16380e6c4855"><div class="ttname"><a href="namespacetvm.html#ada5ad8338d3144221d8f16380e6c4855">tvm::indexmod</a></div><div class="ttdeci">PrimExpr indexmod(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">compute the remainder floor(a / b) where a and b are non-negative. </div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1121</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1130</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_1te_html"><div class="ttname"><a href="namespacetvm_1_1te.html">tvm::te</a></div><div class="ttdoc">Tensor expression language DSL. </div><div class="ttdef"><b>Definition:</b> autodiff.h:35</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1Var_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Var.html">tvm::tir::Var</a></div><div class="ttdoc">a named variable in TIR </div><div class="ttdef"><b>Definition:</b> var.h:88</div></div>
@@ -79,7 +79,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_1_1topi_html_a29e22aa45900dad3b6f9f705bb1dc688"><div class="ttname"><a href="namespacetvm_1_1topi.html#a29e22aa45900dad3b6f9f705bb1dc688">tvm::topi::kInjective</a></div><div class="ttdeci">constexpr auto kInjective</div><div class="ttdef"><b>Definition:</b> tags.h:33</div></div>
 <div class="ttc" id="reduction_8h_html"><div class="ttname"><a href="reduction_8h.html">reduction.h</a></div><div class="ttdoc">Reduction op constructors. </div></div>
 <div class="ttc" id="classtvm_1_1arith_1_1Analyzer_html_a9b440f852f12ad0a4d8ed5ed97054425"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a9b440f852f12ad0a4d8ed5ed97054425">tvm::arith::Analyzer::Simplify</a></div><div class="ttdeci">PrimExpr Simplify(const PrimExpr &amp;expr, int steps=2)</div><div class="ttdoc">Simplify expr. </div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a6454dd89e85fc29a7e3b8620df90a6f6"><div class="ttname"><a href="namespacetvm_1_1tir.html#a6454dd89e85fc29a7e3b8620df90a6f6">tvm::tir::foldl</a></div><div class="ttdeci">PrimExpr foldl(FReduce freduce, PrimExpr init_value, const Array&lt; PrimExpr &gt; &amp;values, Span span=Span())</div><div class="ttdoc">Left fold. </div><div class="ttdef"><b>Definition:</b> op.h:1137</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a6454dd89e85fc29a7e3b8620df90a6f6"><div class="ttname"><a href="namespacetvm_1_1tir.html#a6454dd89e85fc29a7e3b8620df90a6f6">tvm::tir::foldl</a></div><div class="ttdeci">PrimExpr foldl(FReduce freduce, PrimExpr init_value, const Array&lt; PrimExpr &gt; &amp;values, Span span=Span())</div><div class="ttdoc">Left fold. </div><div class="ttdef"><b>Definition:</b> op.h:1146</div></div>
 <div class="ttc" id="tir_2op_8h_html"><div class="ttname"><a href="tir_2op_8h.html">op.h</a></div><div class="ttdoc">Common operators defined for Expr. </div></div>
 <div class="ttc" id="namespacetvm_html_a4bfb789a86d95f6241b50fd26f269c28"><div class="ttname"><a href="namespacetvm.html#a4bfb789a86d95f6241b50fd26f269c28">tvm::cast</a></div><div class="ttdeci">PrimExpr cast(const DataType &amp;t, PrimExpr value, Span span=Span())</div><div class="ttdoc">cast value to type. </div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_aeb1547800d4b7625326a176ca1dec6e0"><div class="ttname"><a href="namespacetvm_1_1topi.html#aeb1547800d4b7625326a176ca1dec6e0">tvm::topi::nll_loss</a></div><div class="ttdeci">Tensor nll_loss(const Tensor &amp;predictions, const Tensor &amp;targets, const Tensor &amp;weights, std::string reduction=&quot;mean&quot;, int ignore_index=-100, const std::string name=&quot;nll_loss&quot;, const std::string tag=kBroadcast)</div><div class="ttdoc">Nega [...]
@@ -92,7 +92,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_1_1topi_html_a9094c3c432410ef2675444ecf8e06bfe"><div class="ttname"><a href="namespacetvm_1_1topi.html#a9094c3c432410ef2675444ecf8e06bfe">tvm::topi::kDepthwiseConv2dNHWC</a></div><div class="ttdeci">constexpr auto kDepthwiseConv2dNHWC</div><div class="ttdef"><b>Definition:</b> tags.h:41</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_a13aaf23f0ab77f1ed4a7d4b7816bf210"><div class="ttname"><a href="namespacetvm_1_1topi.html#a13aaf23f0ab77f1ed4a7d4b7816bf210">tvm::topi::kBroadcast</a></div><div class="ttdeci">constexpr auto kBroadcast</div><div class="ttdef"><b>Definition:</b> tags.h:36</div></div>
 <div class="ttc" id="classtvm_1_1Range_html"><div class="ttname"><a href="classtvm_1_1Range.html">tvm::Range</a></div><div class="ttdoc">Range constainer. </div><div class="ttdef"><b>Definition:</b> expr.h:496</div></div>
-<div class="ttc" id="namespacetvm_1_1tir_html_a8dd84303a9864b5b366835fa628a7824"><div class="ttname"><a href="namespacetvm_1_1tir.html#a8dd84303a9864b5b366835fa628a7824">tvm::tir::const_true</a></div><div class="ttdeci">PrimExpr const_true(int lanes=1, Span span=Span())</div><div class="ttdoc">Make a constant true expression. </div><div class="ttdef"><b>Definition:</b> op.h:958</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a8dd84303a9864b5b366835fa628a7824"><div class="ttname"><a href="namespacetvm_1_1tir.html#a8dd84303a9864b5b366835fa628a7824">tvm::tir::const_true</a></div><div class="ttdeci">PrimExpr const_true(int lanes=1, Span span=Span())</div><div class="ttdoc">Make a constant true expression. </div><div class="ttdef"><b>Definition:</b> op.h:967</div></div>
 <div class="ttc" id="classtvm_1_1Span_html"><div class="ttname"><a href="classtvm_1_1Span.html">tvm::Span</a></div><div class="ttdef"><b>Definition:</b> span.h:115</div></div>
 <div class="ttc" id="namespacetvm_html_a16f9cd9219b505e2cc05c5a7558ac61f"><div class="ttname"><a href="namespacetvm.html#a16f9cd9219b505e2cc05c5a7558ac61f">tvm::div</a></div><div class="ttdeci">PrimExpr div(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">compute division in C semantics. </div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html_aed6387e67d18b9d5ad18f510fd600a25"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html#aed6387e67d18b9d5ad18f510fd600a25">tvm::runtime::Array::size</a></div><div class="ttdeci">size_t size() const</div><div class="ttdef"><b>Definition:</b> array.h:399</div></div>
diff --git a/docs/reference/api/doxygen/topi_2transform_8h_source.html b/docs/reference/api/doxygen/topi_2transform_8h_source.html
index fe0461fce..9506e8431 100644
--- a/docs/reference/api/doxygen/topi_2transform_8h_source.html
+++ b/docs/reference/api/doxygen/topi_2transform_8h_source.html
@@ -73,7 +73,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_1_1topi_html_a877e6fdffb6b6c051c29602ec6fe995c"><div class="ttname"><a href="namespacetvm_1_1topi.html#a877e6fdffb6b6c051c29602ec6fe995c">tvm::topi::sparse_to_dense</a></div><div class="ttdeci">Tensor sparse_to_dense(const Tensor &amp;sparse_indices, const Array&lt; PrimExpr &gt; &amp;output_shape, const Tensor &amp;sparse_values, const PrimExpr &amp;default_value, const std::string name=&quot;T_sparse_to_dense&quot;, const std::string tag=kInjective)</d [...]
 <div class="ttc" id="namespacetvm_html_ada5ad8338d3144221d8f16380e6c4855"><div class="ttname"><a href="namespacetvm.html#ada5ad8338d3144221d8f16380e6c4855">tvm::indexmod</a></div><div class="ttdeci">PrimExpr indexmod(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">compute the remainder floor(a / b) where a and b are non-negative. </div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_aff75b2e533b654909ca1bd9485ef4e6b"><div class="ttname"><a href="namespacetvm_1_1topi.html#aff75b2e533b654909ca1bd9485ef4e6b">tvm::topi::StridedSliceOutputShape</a></div><div class="ttdeci">Array&lt; PrimExpr &gt; StridedSliceOutputShape(const Array&lt; PrimExpr &gt; &amp;ishape, const Array&lt; Integer &gt; &amp;begin, const Array&lt; Integer &gt; &amp;end, const Array&lt; Integer &gt; &amp;strides, const Array&lt; Integer &gt; &amp;axes, co [...]
-<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1121</div></div>
+<div class="ttc" id="namespacetvm_1_1tir_html_a1a071208bbbab6b220cf46f5cdccdd86"><div class="ttname"><a href="namespacetvm_1_1tir.html#a1a071208bbbab6b220cf46f5cdccdd86">tvm::tir::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type. </div><div class="ttdef"><b>Definition:</b> op.h:1130</div></div>
 <div class="ttc" id="namespacetvm_1_1topi_html_a3230e1735957c2045c89cf190e0f8c34"><div class="ttname"><a href="namespacetvm_1_1topi.html#a3230e1735957c2045c89cf190e0f8c34">tvm::topi::sliding_window</a></div><div class="ttdeci">Tensor sliding_window(const Tensor &amp;x, int axis, Array&lt; Integer &gt; window_shape, Array&lt; Integer &gt; strides, std::string name=&quot;T_sliding_window&quot;, std::string tag=&quot;&quot;)</div><div class="ttdoc">Creates an operation to slide a window ove [...]
 <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_1te_html"><div class="ttname"><a href="namespacetvm_1_1te.html">tvm::te</a></div><div class="ttdoc">Tensor expression language DSL. </div><div class="ttdef"><b>Definition:</b> autodiff.h:35</div></div>
diff --git a/docs/reference/api/python/auto_scheduler.html b/docs/reference/api/python/auto_scheduler.html
index b5d29d168..b418e34de 100644
--- a/docs/reference/api/python/auto_scheduler.html
+++ b/docs/reference/api/python/auto_scheduler.html
@@ -1157,7 +1157,7 @@ initialization order?).</p>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="tvm.auto_scheduler.LocalBuilder">
-<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">LocalBuilder</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">15</span></span></em>, <em class="sig-param"><span class="n"><sp [...]
+<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">LocalBuilder</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">15</span></span></em>, <em class="sig-param"><span class="n"><sp [...]
 <dd><p>LocalBuilder use local CPU cores to build programs in parallel.</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
@@ -1715,7 +1715,7 @@ Can be the a function or the function name.</p></li>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="tvm.auto_scheduler.auto_schedule">
-<span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">auto_schedule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">search_policy</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em clas [...]
+<span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">auto_schedule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">search_policy</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em clas [...]
 <dd><p>THIS API IS DEPRECATED.</p>
 <p>Run auto scheduling search for a task.</p>
 <dl class="field-list simple">
@@ -1752,7 +1752,7 @@ the initial naive schedule (state).</p>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="tvm.auto_scheduler.SketchPolicy">
-<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">SketchPolicy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">program_cost_model</span></span><span class="o"><span class="pre">=</span></span><span class="defau [...]
+<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">SketchPolicy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">program_cost_model</span></span><span class="o"><span class="pre">=</span></span><span class="defau [...]
 <dd><p>The search policy that searches in a hierarchical search space defined by sketches.
 The policy randomly samples programs from the space defined by sketches and use evolutionary
 search to fine-tune them.</p>
diff --git a/docs/reference/api/typedoc/classes/bytestreamreader.html b/docs/reference/api/typedoc/classes/bytestreamreader.html
index 538da94a4..37888826f 100644
--- a/docs/reference/api/typedoc/classes/bytestreamreader.html
+++ b/docs/reference/api/typedoc/classes/bytestreamreader.html
@@ -119,7 +119,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/rpc_server.ts#L43">rpc_server.ts:43</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/rpc_server.ts#L43">rpc_server.ts:43</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -141,7 +141,7 @@
 					<div class="tsd-signature tsd-kind-icon">bytes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint8Array</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/rpc_server.ts#L43">rpc_server.ts:43</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/rpc_server.ts#L43">rpc_server.ts:43</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -151,7 +151,7 @@
 					<div class="tsd-signature tsd-kind-icon">offset<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/rpc_server.ts#L42">rpc_server.ts:42</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/rpc_server.ts#L42">rpc_server.ts:42</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -168,7 +168,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/rpc_server.ts#L63">rpc_server.ts:63</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/rpc_server.ts#L63">rpc_server.ts:63</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Uint8Array</span></h4>
@@ -185,7 +185,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/rpc_server.ts#L49">rpc_server.ts:49</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/rpc_server.ts#L49">rpc_server.ts:49</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
@@ -202,7 +202,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/rpc_server.ts#L57">rpc_server.ts:57</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/rpc_server.ts#L57">rpc_server.ts:57</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
diff --git a/docs/reference/api/typedoc/classes/cachedcallstack.html b/docs/reference/api/typedoc/classes/cachedcallstack.html
index da298b18a..8f098fd75 100644
--- a/docs/reference/api/typedoc/classes/cachedcallstack.html
+++ b/docs/reference/api/typedoc/classes/cachedcallstack.html
@@ -144,7 +144,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L223">memory.ts:223</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L223">memory.ts:223</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -172,7 +172,7 @@
 					<div class="tsd-signature tsd-kind-icon">temp<wbr>Args<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/disposable.html" class="tsd-signature-type">Disposable</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = []</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L208">memory.ts:208</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L208">memory.ts:208</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -194,7 +194,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L312">memory.ts:312</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L312">memory.ts:312</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -226,7 +226,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L284">memory.ts:284</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L284">memory.ts:284</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -262,7 +262,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L388">memory.ts:388</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L388">memory.ts:388</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -300,7 +300,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L376">memory.ts:376</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L376">memory.ts:376</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -340,7 +340,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L267">memory.ts:267</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L267">memory.ts:267</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -373,7 +373,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L243">memory.ts:243</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L243">memory.ts:243</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -390,7 +390,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L321">memory.ts:321</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L321">memory.ts:321</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -422,7 +422,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L252">memory.ts:252</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L252">memory.ts:252</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -444,7 +444,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L359">memory.ts:359</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L359">memory.ts:359</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -470,7 +470,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L342">memory.ts:342</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L342">memory.ts:342</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -496,7 +496,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L350">memory.ts:350</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L350">memory.ts:350</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -522,7 +522,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L326">memory.ts:326</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L326">memory.ts:326</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -548,7 +548,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L363">memory.ts:363</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L363">memory.ts:363</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -574,7 +574,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L346">memory.ts:346</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L346">memory.ts:346</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -600,7 +600,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L334">memory.ts:334</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L334">memory.ts:334</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
diff --git a/docs/reference/api/typedoc/classes/dldatatype.html b/docs/reference/api/typedoc/classes/dldatatype.html
index 0896e2ce5..a99bdef4d 100644
--- a/docs/reference/api/typedoc/classes/dldatatype.html
+++ b/docs/reference/api/typedoc/classes/dldatatype.html
@@ -119,7 +119,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L262">runtime.ts:262</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L262">runtime.ts:262</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -147,7 +147,7 @@
 					<div class="tsd-signature tsd-kind-icon">bits<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L260">runtime.ts:260</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L260">runtime.ts:260</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -162,7 +162,7 @@
 					<div class="tsd-signature tsd-kind-icon">code<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L258">runtime.ts:258</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L258">runtime.ts:258</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -177,7 +177,7 @@
 					<div class="tsd-signature tsd-kind-icon">lanes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L262">runtime.ts:262</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L262">runtime.ts:262</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -199,7 +199,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L279">runtime.ts:279</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L279">runtime.ts:279</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
@@ -216,7 +216,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L270">runtime.ts:270</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L270">runtime.ts:270</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
diff --git a/docs/reference/api/typedoc/classes/dldevice.html b/docs/reference/api/typedoc/classes/dldevice.html
index dfbe19092..2a3368722 100644
--- a/docs/reference/api/typedoc/classes/dldevice.html
+++ b/docs/reference/api/typedoc/classes/dldevice.html
@@ -118,7 +118,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L202">runtime.ts:202</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L202">runtime.ts:202</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -146,7 +146,7 @@
 					<div class="tsd-signature tsd-kind-icon">device<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L200">runtime.ts:200</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L200">runtime.ts:200</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -161,7 +161,7 @@
 					<div class="tsd-signature tsd-kind-icon">device<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L198">runtime.ts:198</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L198">runtime.ts:198</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -183,7 +183,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L223">runtime.ts:223</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L223">runtime.ts:223</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -205,7 +205,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L230">runtime.ts:230</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L230">runtime.ts:230</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
diff --git a/docs/reference/api/typedoc/classes/environment.html b/docs/reference/api/typedoc/classes/environment.html
index eec4c4277..a2e34d9a8 100644
--- a/docs/reference/api/typedoc/classes/environment.html
+++ b/docs/reference/api/typedoc/classes/environment.html
@@ -125,7 +125,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/environment.ts#L86">environment.ts:86</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/environment.ts#L86">environment.ts:86</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -169,7 +169,7 @@
 					<aside class="tsd-sources">
 						<p>Implementation of <a href="../interfaces/libraryprovider.html">LibraryProvider</a>.<a href="../interfaces/libraryprovider.html#imports">imports</a></p>
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/environment.ts#L70">environment.ts:70</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/environment.ts#L70">environment.ts:70</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -179,7 +179,7 @@
 					<div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/environment.ts#L69">environment.ts:69</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/environment.ts#L69">environment.ts:69</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -210,7 +210,7 @@
 					<div class="tsd-signature tsd-kind-icon">packedCFunc<wbr>Table<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ctypes.FTVMWasmPackedCFunc</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = [undefined,]</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/environment.ts#L78">environment.ts:78</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/environment.ts#L78">environment.ts:78</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -228,7 +228,7 @@
 					<div class="tsd-signature tsd-kind-icon">packedCFunc<wbr>Table<wbr>Free<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = []</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/environment.ts#L84">environment.ts:84</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/environment.ts#L84">environment.ts:84</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -250,7 +250,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/environment.ts#L105">environment.ts:105</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/environment.ts#L105">environment.ts:105</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/ffilibrary.html b/docs/reference/api/typedoc/classes/ffilibrary.html
index 6befafefe..cce123d99 100644
--- a/docs/reference/api/typedoc/classes/ffilibrary.html
+++ b/docs/reference/api/typedoc/classes/ffilibrary.html
@@ -131,7 +131,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L49">runtime.ts:49</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L49">runtime.ts:49</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -156,7 +156,7 @@
 					<div class="tsd-signature tsd-kind-icon">exports<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L46">runtime.ts:46</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L46">runtime.ts:46</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -166,7 +166,7 @@
 					<div class="tsd-signature tsd-kind-icon">memory<span class="tsd-signature-symbol">:</span> <a href="memory.html" class="tsd-signature-type">Memory</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L45">runtime.ts:45</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L45">runtime.ts:45</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -176,7 +176,7 @@
 					<div class="tsd-signature tsd-kind-icon">wasm32<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L44">runtime.ts:44</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L44">runtime.ts:44</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -186,7 +186,7 @@
 					<div class="tsd-signature tsd-kind-icon">webGPUContext<span class="tsd-signature-symbol">:</span> <a href="webgpucontext.html" class="tsd-signature-type">WebGPUContext</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L47">runtime.ts:47</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L47">runtime.ts:47</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -203,7 +203,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L76">runtime.ts:76</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L76">runtime.ts:76</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -226,7 +226,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L66">runtime.ts:66</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L66">runtime.ts:66</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -243,7 +243,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L84">runtime.ts:84</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L84">runtime.ts:84</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <a href="cachedcallstack.html" class="tsd-signature-type">CachedCallStack</a></h4>
@@ -260,7 +260,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L95">runtime.ts:95</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L95">runtime.ts:95</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -283,7 +283,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L72">runtime.ts:72</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L72">runtime.ts:72</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
diff --git a/docs/reference/api/typedoc/classes/graphexecutor.html b/docs/reference/api/typedoc/classes/graphexecutor.html
index 46cf5b384..2173e80a2 100644
--- a/docs/reference/api/typedoc/classes/graphexecutor.html
+++ b/docs/reference/api/typedoc/classes/graphexecutor.html
@@ -130,7 +130,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L583">runtime.ts:583</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L583">runtime.ts:583</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -162,7 +162,7 @@
 					<div class="tsd-signature tsd-kind-icon">module<span class="tsd-signature-symbol">:</span> <a href="module.html" class="tsd-signature-type">Module</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L579">runtime.ts:579</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L579">runtime.ts:579</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -179,7 +179,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L654">runtime.ts:654</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L654">runtime.ts:654</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -224,7 +224,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L597">runtime.ts:597</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L597">runtime.ts:597</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -241,7 +241,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L631">runtime.ts:631</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L631">runtime.ts:631</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -279,7 +279,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L644">runtime.ts:644</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L644">runtime.ts:644</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -310,7 +310,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L621">runtime.ts:621</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L621">runtime.ts:621</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -332,7 +332,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L609">runtime.ts:609</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L609">runtime.ts:609</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/instance.html b/docs/reference/api/typedoc/classes/instance.html
index 8783f42dc..673e6e30a 100644
--- a/docs/reference/api/typedoc/classes/instance.html
+++ b/docs/reference/api/typedoc/classes/instance.html
@@ -139,7 +139,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L692">runtime.ts:692</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L692">runtime.ts:692</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -202,7 +202,7 @@
 					<div class="tsd-signature tsd-kind-icon">exports<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L684">runtime.ts:684</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L684">runtime.ts:684</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -212,7 +212,7 @@
 					<div class="tsd-signature tsd-kind-icon">memory<span class="tsd-signature-symbol">:</span> <a href="memory.html" class="tsd-signature-type">Memory</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L683">runtime.ts:683</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L683">runtime.ts:683</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -229,7 +229,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L932">runtime.ts:932</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L932">runtime.ts:932</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -260,7 +260,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L994">runtime.ts:994</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L994">runtime.ts:994</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -303,7 +303,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L924">runtime.ts:924</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L924">runtime.ts:924</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -341,7 +341,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L732">runtime.ts:732</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L732">runtime.ts:732</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -358,7 +358,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L952">runtime.ts:952</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L952">runtime.ts:952</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -402,7 +402,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L816">runtime.ts:816</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L816">runtime.ts:816</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -434,7 +434,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L1033">runtime.ts:1033</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L1033">runtime.ts:1033</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -465,7 +465,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L846">runtime.ts:846</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L846">runtime.ts:846</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -497,7 +497,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L750">runtime.ts:750</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L750">runtime.ts:750</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -520,7 +520,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L1013">runtime.ts:1013</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L1013">runtime.ts:1013</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -568,7 +568,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L789">runtime.ts:789</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L789">runtime.ts:789</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -608,7 +608,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L914">runtime.ts:914</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L914">runtime.ts:914</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -646,7 +646,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L1134">runtime.ts:1134</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L1134">runtime.ts:1134</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -698,7 +698,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L740">runtime.ts:740</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L740">runtime.ts:740</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -722,7 +722,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L868">runtime.ts:868</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L868">runtime.ts:868</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -754,7 +754,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L857">runtime.ts:857</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L857">runtime.ts:857</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -786,7 +786,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L940">runtime.ts:940</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L940">runtime.ts:940</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/memory.html b/docs/reference/api/typedoc/classes/memory.html
index c449ca7f2..f8b2c2ca3 100644
--- a/docs/reference/api/typedoc/classes/memory.html
+++ b/docs/reference/api/typedoc/classes/memory.html
@@ -130,7 +130,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L40">memory.ts:40</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L40">memory.ts:40</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -152,7 +152,7 @@
 					<div class="tsd-signature tsd-kind-icon">memory<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Memory</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L32">memory.ts:32</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L32">memory.ts:32</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -162,7 +162,7 @@
 					<div class="tsd-signature tsd-kind-icon">wasm32<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = true</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L33">memory.ts:33</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L33">memory.ts:33</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -179,7 +179,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L154">memory.ts:154</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L154">memory.ts:154</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -210,7 +210,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L90">memory.ts:90</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L90">memory.ts:90</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -233,7 +233,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L97">memory.ts:97</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L97">memory.ts:97</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -256,7 +256,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L74">memory.ts:74</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L74">memory.ts:74</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -279,7 +279,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L81">memory.ts:81</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L81">memory.ts:81</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -302,7 +302,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L104">memory.ts:104</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L104">memory.ts:104</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -325,7 +325,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L132">memory.ts:132</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L132">memory.ts:132</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -362,7 +362,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L145">memory.ts:145</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L145">memory.ts:145</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -393,7 +393,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L60">memory.ts:60</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L60">memory.ts:60</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -416,7 +416,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L67">memory.ts:67</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L67">memory.ts:67</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -439,7 +439,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L53">memory.ts:53</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L53">memory.ts:53</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -462,7 +462,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L114">memory.ts:114</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L114">memory.ts:114</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -485,7 +485,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L124">memory.ts:124</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L124">memory.ts:124</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
@@ -502,7 +502,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/memory.ts#L175">memory.ts:175</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/memory.ts#L175">memory.ts:175</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/module.html b/docs/reference/api/typedoc/classes/module.html
index e170ef0f0..8ba006f65 100644
--- a/docs/reference/api/typedoc/classes/module.html
+++ b/docs/reference/api/typedoc/classes/module.html
@@ -124,7 +124,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L504">runtime.ts:504</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L504">runtime.ts:504</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -170,7 +170,7 @@
 					<div class="tsd-signature tsd-kind-icon">handle<span class="tsd-signature-symbol">:</span> <a href="../index.html#pointer" class="tsd-signature-type">Pointer</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L502">runtime.ts:502</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L502">runtime.ts:502</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -187,7 +187,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L516">runtime.ts:516</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L516">runtime.ts:516</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -204,7 +204,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L530">runtime.ts:530</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L530">runtime.ts:530</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -236,7 +236,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L561">runtime.ts:561</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L561">runtime.ts:561</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/ndarray.html b/docs/reference/api/typedoc/classes/ndarray.html
index 3d9369327..e9e61eaf7 100644
--- a/docs/reference/api/typedoc/classes/ndarray.html
+++ b/docs/reference/api/typedoc/classes/ndarray.html
@@ -130,7 +130,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L304">runtime.ts:304</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L304">runtime.ts:304</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -158,7 +158,7 @@
 					<div class="tsd-signature tsd-kind-icon">device<span class="tsd-signature-symbol">:</span> <a href="dldevice.html" class="tsd-signature-type">DLDevice</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L297">runtime.ts:297</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L297">runtime.ts:297</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -173,7 +173,7 @@
 					<div class="tsd-signature tsd-kind-icon">dtype<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L293">runtime.ts:293</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L293">runtime.ts:293</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -188,7 +188,7 @@
 					<div class="tsd-signature tsd-kind-icon">handle<span class="tsd-signature-symbol">:</span> <a href="../index.html#pointer" class="tsd-signature-type">Pointer</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L289">runtime.ts:289</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L289">runtime.ts:289</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -203,7 +203,7 @@
 					<div class="tsd-signature tsd-kind-icon">ndim<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L291">runtime.ts:291</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L291">runtime.ts:291</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -218,7 +218,7 @@
 					<div class="tsd-signature tsd-kind-icon">shape<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L295">runtime.ts:295</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L295">runtime.ts:295</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -240,7 +240,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L370">runtime.ts:370</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L370">runtime.ts:370</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -273,7 +273,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L414">runtime.ts:414</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L414">runtime.ts:414</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -305,7 +305,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L355">runtime.ts:355</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L355">runtime.ts:355</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -322,7 +322,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L474">runtime.ts:474</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L474">runtime.ts:474</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -346,7 +346,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L443">runtime.ts:443</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L443">runtime.ts:443</a></li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/packedfunccell.html b/docs/reference/api/typedoc/classes/packedfunccell.html
index d8cc99b3b..9d117fe2b 100644
--- a/docs/reference/api/typedoc/classes/packedfunccell.html
+++ b/docs/reference/api/typedoc/classes/packedfunccell.html
@@ -122,7 +122,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L158">runtime.ts:158</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L158">runtime.ts:158</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -147,7 +147,7 @@
 					<div class="tsd-signature tsd-kind-icon">handle<span class="tsd-signature-symbol">:</span> <a href="../index.html#pointer" class="tsd-signature-type">Pointer</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L157">runtime.ts:157</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L157">runtime.ts:157</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -164,7 +164,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/runtime.ts#L165">runtime.ts:165</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/runtime.ts#L165">runtime.ts:165</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
diff --git a/docs/reference/api/typedoc/classes/rpcserver.html b/docs/reference/api/typedoc/classes/rpcserver.html
index 9dd30fff2..e018b48f6 100644
--- a/docs/reference/api/typedoc/classes/rpcserver.html
+++ b/docs/reference/api/typedoc/classes/rpcserver.html
@@ -115,7 +115,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/rpc_server.ts#L92">rpc_server.ts:92</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/rpc_server.ts#L92">rpc_server.ts:92</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -176,7 +176,7 @@
 					<div class="tsd-signature tsd-kind-icon">get<wbr>Imports<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signat [...]
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/rpc_server.ts#L82">rpc_server.ts:82</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/rpc_server.ts#L82">rpc_server.ts:82</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -201,7 +201,7 @@
 					<div class="tsd-signature tsd-kind-icon">key<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/rpc_server.ts#L78">rpc_server.ts:78</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/rpc_server.ts#L78">rpc_server.ts:78</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -211,7 +211,7 @@
 					<div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/rpc_server.ts#L81">rpc_server.ts:81</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/rpc_server.ts#L81">rpc_server.ts:81</a></li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -242,7 +242,7 @@
 					<div class="tsd-signature tsd-kind-icon">socket<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">WebSocket</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/559f0c76a/web/src/rpc_server.ts#L79">rpc_server.ts:79</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/c6415d149/web/src/rpc_server.ts#L79">rpc_server.ts:79</a></li>
 						</ul>
 					</aside>
 				</section>
... 1627 lines suppressed ...