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

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

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 7c41f31e1 deploying docs (apache/tvm@08723d0ce67a194d47b0f7c60b238cee0962769c)
7c41f31e1 is described below

commit 7c41f31e13926e9476da70b18726997803230e6a
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Tue Jun 28 12:51:43 2022 +0000

    deploying docs (apache/tvm@08723d0ce67a194d47b0f7c60b238cee0962769c)
---
 .../how_to/compile_models/from_darknet.rst.txt     |    5 +
 .../how_to/compile_models/from_mxnet.rst.txt       |    2 +-
 .../how_to/compile_models/from_oneflow.rst.txt     |    2 +-
 .../how_to/compile_models/from_paddle.rst.txt      |    2 +-
 .../how_to/compile_models/from_pytorch.rst.txt     |    2 +-
 .../how_to/compile_models/from_tensorflow.rst.txt  |    2 +-
 .../compile_models/sg_execution_times.rst.txt      |   22 +-
 .../deploy_models/deploy_model_on_android.rst.txt  |    2 +-
 .../deploy_object_detection_pytorch.rst.txt        |    4 +-
 .../deploy_models/deploy_prequantized.rst.txt      |    6 +-
 .../deploy_prequantized_tflite.rst.txt             |    4 +-
 .../how_to/deploy_models/deploy_quantized.rst.txt  |    2 +-
 .../deploy_models/deploy_ssd_gluoncv.rst.txt       |    4 +-
 .../deploy_models/sg_execution_times.rst.txt       |   16 +-
 .../extend_tvm/bring_your_own_datatypes.rst.txt    |    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                     |   14 +-
 .../tune_conv2d_layer_cuda.rst.txt                 | 2382 ++++++++------------
 .../tune_network_cuda.rst.txt                      |    2 +-
 .../tune_network_x86.rst.txt                       |    4 +-
 .../tune_sparse_x86.rst.txt                        |  302 +--
 .../tune_with_autotvm/sg_execution_times.rst.txt   |    6 +-
 .../tune_with_autotvm/tune_conv2d_cuda.rst.txt     |   34 +-
 .../work_with_microtvm/micro_autotune.rst.txt      |   16 +-
 .../how_to/work_with_microtvm/micro_train.rst.txt  |   16 +-
 .../work_with_microtvm/sg_execution_times.rst.txt  |    8 +-
 .../work_with_relay/sg_execution_times.rst.txt     |    6 +-
 .../how_to/work_with_schedules/intrin_math.rst.txt |    2 +-
 .../work_with_schedules/sg_execution_times.rst.txt |   16 +-
 .../how_to/work_with_schedules/tensorize.rst.txt   |    2 +-
 .../tutorials/autotvm/sg_execution_times.rst.txt   |    4 +-
 .../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     |   14 +-
 docs/_sources/tutorial/autotvm_matmul_x86.rst.txt  |   20 +-
 docs/_sources/tutorial/autotvm_relay_x86.rst.txt   |   54 +-
 .../tutorial/cross_compilation_and_rpc.rst.txt     |    2 +-
 docs/_sources/tutorial/intro_topi.rst.txt          |    2 +-
 docs/_sources/tutorial/sg_execution_times.rst.txt  |   22 +-
 .../tutorial/tensor_expr_get_started.rst.txt       |   44 +-
 docs/commit_hash                                   |    2 +-
 docs/how_to/compile_models/from_darknet.html       |    1 +
 docs/how_to/compile_models/from_mxnet.html         |    2 +-
 docs/how_to/compile_models/from_oneflow.html       |   83 +-
 docs/how_to/compile_models/from_paddle.html        |    2 +-
 docs/how_to/compile_models/from_pytorch.html       |    5 +-
 docs/how_to/compile_models/from_tensorflow.html    |    2 +-
 docs/how_to/compile_models/sg_execution_times.html |   26 +-
 .../deploy_models/deploy_model_on_android.html     |    2 +-
 .../deploy_object_detection_pytorch.html           |   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    |    2 +-
 docs/how_to/deploy_models/deploy_ssd_gluoncv.html  |   36 +-
 docs/how_to/deploy_models/sg_execution_times.html  |   16 +-
 .../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                    | 2382 ++++++++------------
 .../tune_with_autoscheduler/tune_network_cuda.html |    2 +-
 .../tune_with_autoscheduler/tune_network_x86.html  |    4 +-
 .../tune_with_autoscheduler/tune_sparse_x86.html   |  302 +--
 .../tune_with_autotvm/sg_execution_times.html      |    6 +-
 .../how_to/tune_with_autotvm/tune_conv2d_cuda.html |   34 +-
 docs/how_to/work_with_microtvm/micro_autotune.html |   16 +-
 docs/how_to/work_with_microtvm/micro_train.html    |   16 +-
 .../work_with_microtvm/sg_execution_times.html     |    8 +-
 .../how_to/work_with_relay/sg_execution_times.html |    6 +-
 docs/how_to/work_with_schedules/intrin_math.html   |    2 +-
 .../work_with_schedules/sg_execution_times.html    |   16 +-
 docs/how_to/work_with_schedules/tensorize.html     |    2 +-
 docs/reference/api/doxygen/functions_func_s.html   |   14 +-
 docs/reference/api/doxygen/functions_func_v.html   |   32 +-
 docs/reference/api/doxygen/functions_s.html        |   14 +-
 docs/reference/api/doxygen/functions_v.html        |   40 +-
 .../api/doxygen/memory__pools_8h_source.html       |   54 +-
 docs/reference/api/doxygen/search/all_14.js        |    4 +-
 docs/reference/api/doxygen/search/all_17.js        |    2 +-
 docs/reference/api/doxygen/search/functions_13.js  |    4 +-
 docs/reference/api/doxygen/search/functions_16.js  |    2 +-
 .../structtvm_1_1ConstantPoolInfoNode-members.html |   33 +-
 .../doxygen/structtvm_1_1ConstantPoolInfoNode.html |   98 +-
 ...ucttvm_1_1ConstantPoolInfoNode__coll__graph.svg |  465 ++--
 ...tvm_1_1ConstantPoolInfoNode__inherit__graph.svg |  147 +-
 .../api/doxygen/structtvm_1_1PoolInfoNode.html     |    2 +-
 .../structtvm_1_1PoolInfoNode__inherit__graph.svg  |  168 +-
 ...structtvm_1_1WorkspacePoolInfoNode-members.html |   33 +-
 .../structtvm_1_1WorkspacePoolInfoNode.html        |   98 +-
 ...cttvm_1_1WorkspacePoolInfoNode__coll__graph.svg |  431 ++--
 ...vm_1_1WorkspacePoolInfoNode__inherit__graph.svg |  145 +-
 docs/reference/api/python/auto_scheduler.html      |    4 +-
 .../api/typedoc/classes/bytestreamreader.html      |   12 +-
 .../api/typedoc/classes/cachedcallstack.html       |   34 +-
 docs/reference/api/typedoc/classes/dldatatype.html |   12 +-
 docs/reference/api/typedoc/classes/dldevice.html   |   10 +-
 .../reference/api/typedoc/classes/environment.html |   12 +-
 docs/reference/api/typedoc/classes/ffilibrary.html |   20 +-
 .../api/typedoc/classes/graphexecutor.html         |   16 +-
 docs/reference/api/typedoc/classes/instance.html   |   40 +-
 docs/reference/api/typedoc/classes/memory.html     |   34 +-
 docs/reference/api/typedoc/classes/module.html     |   10 +-
 docs/reference/api/typedoc/classes/ndarray.html    |   22 +-
 .../api/typedoc/classes/packedfunccell.html        |    6 +-
 docs/reference/api/typedoc/classes/rpcserver.html  |   14 +-
 docs/reference/api/typedoc/classes/scalar.html     |    6 +-
 .../api/typedoc/classes/webgpucontext.html         |   12 +-
 docs/reference/api/typedoc/enums/argtypecode.html  |   30 +-
 .../api/typedoc/enums/aynccallbackcode.html        |    4 +-
 .../api/typedoc/enums/dldatatypecode.html          |    8 +-
 .../api/typedoc/enums/rpcserverstate.html          |   12 +-
 docs/reference/api/typedoc/enums/sizeof.html       |   18 +-
 docs/reference/api/typedoc/index.html              |  112 +-
 .../api/typedoc/interfaces/disposable.html         |    2 +-
 .../api/typedoc/interfaces/functioninfo.html       |    6 +-
 .../api/typedoc/interfaces/libraryprovider.html    |    4 +-
 docs/searchindex.js                                |    2 +-
 .../vta/tutorials/autotvm/sg_execution_times.html  |    4 +-
 .../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       |    6 +-
 docs/tutorial/autotvm_matmul_x86.html              |   20 +-
 docs/tutorial/autotvm_relay_x86.html               |  258 +--
 docs/tutorial/cross_compilation_and_rpc.html       |    2 +-
 docs/tutorial/intro_topi.html                      |    2 +-
 docs/tutorial/sg_execution_times.html              |   26 +-
 docs/tutorial/tensor_expr_get_started.html         |   44 +-
 142 files changed, 3827 insertions(+), 5002 deletions(-)

diff --git a/docs/_sources/how_to/compile_models/from_darknet.rst.txt b/docs/_sources/how_to/compile_models/from_darknet.rst.txt
index 1cca7627c..f063ddd2a 100644
--- a/docs/_sources/how_to/compile_models/from_darknet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_darknet.rst.txt
@@ -314,6 +314,11 @@ The process is no different from other examples.
 
 
 
+.. rst-class:: sphx-glr-timing
+
+   **Total running time of the script:** ( 1 minutes  1.195 seconds)
+
+
 .. _sphx_glr_download_how_to_compile_models_from_darknet.py:
 
 .. only:: html
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 066fbe88e..a2395906c 100644
--- a/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
@@ -114,7 +114,7 @@ In this section, we download a pretrained imagenet model and classify an image.
 
  .. code-block:: none
 
-    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zipd9e15a0f-1c2b-47cd-adef-907cb9eede54 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip86abc1fc-c1cb-4abc-a9c2-95af90f5256c 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 0805afc20..86919e486 100644
--- a/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
@@ -112,7 +112,7 @@ Load a pretrained OneFlow model and save model
  .. code-block:: none
 
     Downloading: "https://oneflow-public.oss-cn-beijing.aliyuncs.com/model_zoo/flowvision/classification/ResNet/resnet18.zip" to /workspace/.oneflow/flowvision_cache/resnet18.zip
-
      0%|          | 0.00/41.5M [00:00<?, ?B/s]
      0%|          | 16.0k/41.5M [00:00<08:02, 90.1kB/s]
      0%|          | 48.0k/41.5M [00:00<05:05, 142kB/s] 
      0%|          | 96.0k/41.5M [00:00<03:36, 200kB/s]
      0%|          | 168k/41.5M [00:00<02:34, 280kB/s] 
      1%|          | 336k/41.5M [00:00<01:23, 518kB/s]
      1%|1         | 512k/41.5M [00:01<01:03, 676kB/s]
      2%|2         | 1.00M/41.5M [00:01<00:30, 1.39MB/s]
      5%|4         | 2.01M/41.5M [00:01<00:14, 2.79MB/s]
      8%|8         | 3.49M/41.5M [00:01<00:08, 4.57MB/s]
     12%|#1        | 4.96M/41.5M [00:01<00:06, 5.76MB/s]
     16%|#5        | 6.44M/41.5M [00:02<00:05, 6.58MB/s]
     19%|#9        | 7.91M/41.5M [00:02<00:04, 8.00MB/s]
     22%|##1       | 9.10M/41.5M [00:02<00:04, 8.24MB/s]
     24%|##3       | 9.93M/41.5M [00:02<00:04, 8.13MB/s]
     26%|##6       | 10.9M/41.5M [00:02<00:03, 8.15MB/s]
     29%|##9       | 12.1M/41.5M [00:02<00:03, 8.48MB/s]
     31%|###1      | 12.9M/41.5M [00:02<00
 :03, 8.29MB/s]
     33%|###3      | 13.8M/41.5M [00:02<00:03, 8.27MB/s]
     36%|###6      | 15.0M/41.5M [00:03<00:03, 8.57MB/s]
     38%|###8      | 15.8M/41.5M [00:03<00:03, 8.34MB/s]
     40%|####      | 16.8M/41.5M [00:03<00:03, 8.57MB/s]
     43%|####3     | 17.9M/41.5M [00:03<00:02, 9.46MB/s]
     45%|####5     | 18.8M/41.5M [00:03<00:02, 8.12MB/s]
     47%|####7     | 19.7M/41.5M [00:03<00:02, 8.36MB/s]
     50%|#####     | 20.8M/41.5M [00:03<00:02, 9.24MB/s]
     52%|#####2    | 21.8M/41.5M [00:03<00:02, 8.00MB/s]
     55%|#####4    | 22.6M/41.5M [00:03<00:02, 8.19MB/s]
     57%|#####7    | 23.8M/41.5M [00:04<00:02, 8.39MB/s]
     59%|#####9    | 24.7M/41.5M [00:04<00:02, 8.13MB/s]
     62%|######1   | 25.6M/41.5M [00:04<00:01, 8.50MB/s]
     64%|######4   | 26.7M/41.5M [00:04<00:01, 9.23MB/s]
     67%|######6   | 27.6M/41.5M [00:04<00:01, 7.95MB/s]
     69%|######8   | 28.5M/41.5M [00:04<00:01, 8.39MB/s]
     71%|#######1  | 29.6M/41.5M [00:04<00:01, 9.13MB/s]
     74%|####
 ###3  | 30.5M/41.5M [00:04<00:01, 7.92MB/s]
     76%|#######5  | 31.5M/41.5M [00:05<00:01, 8.38MB/s]
     79%|#######8  | 32.6M/41.5M [00:05<00:01, 9.13MB/s]
     81%|########  | 33.5M/41.5M [00:05<00:01, 7.92MB/s]
     83%|########3 | 34.4M/41.5M [00:05<00:00, 8.24MB/s]
     86%|########5 | 35.6M/41.5M [00:05<00:00, 8.34MB/s]
     88%|########7 | 36.4M/41.5M [00:05<00:00, 8.07MB/s]
     90%|######### | 37.4M/41.5M [00:05<00:00, 8.45MB/s]
     93%|#########2| 38.5M/41.5M [00:05<00:00, 8.47MB/s]
     95%|#########4| 39.4M/41.5M [00:06<00:00, 8.13MB/s]
     97%|#########7| 40.3M/41.5M [00:06<00:00, 8.62MB/s]
    100%|#########9| 41.4M/41.5M [00:06<00:00, 9.35MB/s]
    100%|##########| 41.5M/41.5M [00:06<00:00, 6.91MB/s]
+
      0%|          | 0.00/41.5M [00:00<?, ?B/s]
      0%|          | 16.0k/41.5M [00:00<07:51, 92.3kB/s]
      0%|          | 48.0k/41.5M [00:00<04:57, 146kB/s] 
      0%|          | 96.0k/41.5M [00:00<03:31, 205kB/s]
      0%|          | 160k/41.5M [00:00<02:40, 269kB/s] 
      1%|          | 312k/41.5M [00:00<01:28, 487kB/s]
      1%|1         | 608k/41.5M [00:01<00:47, 900kB/s]
      3%|2         | 1.18M/41.5M [00:01<00:24, 1.73MB/s]
      6%|5         | 2.34M/41.5M [00:01<00:12, 3.36MB/s]
      9%|9         | 3.81M/41.5M [00:01<00:07, 5.01MB/s]
     13%|#2        | 5.29M/41.5M [00:01<00:06, 6.14MB/s]
     16%|#6        | 6.76M/41.5M [00:01<00:05, 6.91MB/s]
     20%|#9        | 8.23M/41.5M [00:02<00:04, 7.45MB/s]
     23%|##3       | 9.70M/41.5M [00:02<00:04, 7.81MB/s]
     27%|##6       | 11.2M/41.5M [00:02<00:03, 8.05MB/s]
     30%|###       | 12.6M/41.5M [00:02<00:03, 8.22MB/s]
     34%|###3      | 14.1M/41.5M [00:02<00:03, 8.35MB/s]
     38%|###7      | 15.6M/41.5M [00:03<00
 :03, 8.44MB/s]
     41%|####1     | 17.0M/41.5M [00:03<00:03, 8.51MB/s]
     45%|####4     | 18.5M/41.5M [00:03<00:02, 8.55MB/s]
     48%|####8     | 20.0M/41.5M [00:03<00:02, 8.55MB/s]
     52%|#####1    | 21.4M/41.5M [00:03<00:02, 8.57MB/s]
     55%|#####5    | 22.9M/41.5M [00:03<00:02, 8.60MB/s]
     59%|#####8    | 24.4M/41.5M [00:04<00:02, 8.61MB/s]
     62%|######2   | 25.8M/41.5M [00:04<00:01, 8.61MB/s]
     66%|######5   | 27.3M/41.5M [00:04<00:01, 8.63MB/s]
     69%|######9   | 28.8M/41.5M [00:04<00:01, 8.63MB/s]
     73%|#######2  | 30.2M/41.5M [00:04<00:01, 8.62MB/s]
     76%|#######6  | 31.7M/41.5M [00:04<00:01, 8.62MB/s]
     80%|########  | 33.2M/41.5M [00:05<00:01, 8.64MB/s]
     84%|########3 | 34.7M/41.5M [00:05<00:00, 8.64MB/s]
     87%|########7 | 36.1M/41.5M [00:05<00:00, 8.64MB/s]
     91%|######### | 37.6M/41.5M [00:05<00:00, 9.48MB/s]
     94%|#########4| 39.0M/41.5M [00:05<00:00, 10.1MB/s]
     97%|#########6| 40.0M/41.5M [00:05<00:00, 9.90MB/s]
     99%|####
 #####8| 41.0M/41.5M [00:06<00:00, 8.46MB/s]
    100%|##########| 41.5M/41.5M [00:06<00:00, 7.17MB/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 82ec3d5bd..cb540ac9d 100644
--- a/docs/_sources/how_to/compile_models/from_paddle.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_paddle.rst.txt
@@ -235,7 +235,7 @@ Look up prediction top 1 index in 1000 class synset.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  14.825 seconds)
+   **Total running time of the script:** ( 1 minutes  11.758 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 81e94a567..2c4dadabf 100644
--- a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
@@ -93,7 +93,7 @@ Load a pretrained PyTorch model
  .. code-block:: none
 
     Downloading: "https://download.pytorch.org/models/resnet18-f37072fd.pth" to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
-
      0%|          | 0.00/44.7M [00:00<?, ?B/s]
     37%|###7      | 16.6M/44.7M [00:00<00:00, 174MB/s]
     88%|########8 | 39.4M/44.7M [00:00<00:00, 212MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 208MB/s]
+
      0%|          | 0.00/44.7M [00:00<?, ?B/s]
     44%|####4     | 19.8M/44.7M [00:00<00:00, 206MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 239MB/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 556658545..532a4f44c 100644
--- a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
@@ -422,7 +422,7 @@ Run the corresponding model on tensorflow
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  51.541 seconds)
+   **Total running time of the script:** ( 1 minutes  2.880 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 d984bb476..5faac6916 100644
--- a/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
@@ -5,26 +5,26 @@
 
 Computation times
 =================
-**06:16.676** total execution time for **how_to_compile_models** files:
+**05:36.245** total execution time for **how_to_compile_models** files:
 
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:51.541 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)         | 01:11.758 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)         | 01:14.825 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:02.880 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)       | 00:55.758 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)       | 01:01.195 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)       | 00:31.721 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)       | 00:34.356 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)         | 00:24.401 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)         | 00:23.899 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)           | 00:22.674 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)           | 00:23.092 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)         | 00:21.597 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)         | 00:21.837 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)       | 00:18.995 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)       | 00:20.501 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)           | 00:12.890 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)           | 00:14.328 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)             | 00:02.273 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)             | 00:02.398 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt b/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
index 160157f17..dac8b789c 100644
--- a/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
@@ -440,7 +440,7 @@ Execute on TVM
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      16.1693      16.3470      16.6185      15.5539       0.3461   
+      16.5896      16.2511      19.4388      16.0828       0.9577   
                
 
 
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 71957b117..93e54ecb2 100644
--- a/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
@@ -122,7 +122,7 @@ Load pre-trained maskrcnn from torchvision and do tracing
  .. code-block:: none
 
     Downloading: "https://download.pytorch.org/models/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth" to /workspace/.cache/torch/hub/checkpoints/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth
-
      0%|          | 0.00/170M [00:00<?, ?B/s]
      9%|9         | 15.8M/170M [00:00<00:00, 166MB/s]
     24%|##3       | 40.3M/170M [00:00<00:00, 219MB/s]
     38%|###8      | 65.3M/170M [00:00<00:00, 239MB/s]
     53%|#####3    | 90.5M/170M [00:00<00:00, 249MB/s]
     67%|######7   | 114M/170M [00:00<00:00, 249MB/s] 
     81%|########1 | 138M/170M [00:00<00:00, 234MB/s]
     94%|#########4| 160M/170M [00:00<00:00, 233MB/s]
    100%|##########| 170M/170M [00:00<00:00, 233MB/s]
+
      0%|          | 0.00/170M [00:00<?, ?B/s]
     11%|#1        | 19.1M/170M [00:00<00:00, 201MB/s]
     26%|##6       | 44.6M/170M [00:00<00:00, 239MB/s]
     42%|####1     | 71.0M/170M [00:00<00:00, 257MB/s]
     57%|#####7    | 96.8M/170M [00:00<00:00, 262MB/s]
     72%|#######2  | 123M/170M [00:00<00:00, 265MB/s] 
     87%|########7 | 148M/170M [00:00<00:00, 265MB/s]
    100%|##########| 170M/170M [00:00<00:00, 255MB/s]
     /usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3878: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
       for i in range(dim)
     /usr/local/lib/python3.7/dist-packages/torchvision/models/detection/anchor_utils.py:127: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
@@ -291,7 +291,7 @@ Get boxes with score larger than 0.9
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  53.141 seconds)
+   **Total running time of the script:** ( 3 minutes  6.650 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 730fe9b20..44a375e68 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
@@ -219,7 +219,7 @@ training. Other models require a full post training calibration.
  .. code-block:: none
 
     Downloading: "https://download.pytorch.org/models/mobilenet_v2-b0353104.pth" to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2-b0353104.pth
-
      0%|          | 0.00/13.6M [00:00<?, ?B/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 164MB/s]
+
      0%|          | 0.00/13.6M [00:00<?, ?B/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 165MB/s]
 
 
 
@@ -399,7 +399,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      90.5112      90.4950      95.3513      90.1404       0.5315   
+      90.3740      90.2953      92.7453      90.1921       0.2703   
                
 
 
@@ -448,7 +448,7 @@ TODO
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  6.623 seconds)
+   **Total running time of the script:** ( 1 minutes  11.153 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 e3780c235..023ce7fe0 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
@@ -426,7 +426,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      120.0976     120.0079     125.1928     118.5039      0.6989   
+      119.8275     119.7785     123.4728     119.0669      0.5085   
                
 
 
@@ -463,7 +463,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  4.287 seconds)
+   **Total running time of the script:** ( 1 minutes  53.663 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 0c8f52251..15083ce50 100644
--- a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
@@ -254,7 +254,7 @@ We create a Relay VM to build and execute the model.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  10.894 seconds)
+   **Total running time of the script:** ( 1 minutes  16.057 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 0f0666c38..59f70f9f1 100644
--- a/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt
@@ -157,7 +157,7 @@ Convert and compile model for CPU.
             data: None
       input_sym_arg_type = in_param.infer_type()[0]
     Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
-
      0%|          | 0/132723 [00:00<?, ?KB/s]
      5%|4         | 6550/132723 [00:00<00:01, 65496.78KB/s]
     11%|#1        | 15217/132723 [00:00<00:01, 77948.57KB/s]
     18%|#8        | 23894/132723 [00:00<00:01, 81967.34KB/s]
     25%|##4       | 32573/132723 [00:00<00:01, 83868.38KB/s]
     31%|###1      | 41301/132723 [00:00<00:01, 85095.86KB/s]
     38%|###7      | 50068/132723 [00:00<00:00, 85967.07KB/s]
     44%|####4     | 58769/132723 [00:00<00:00, 86305.54KB/s]
     51%|#####     | 67476/132723 [00:00<00:00, 86545.70KB/s]
     57%|#####7    | 76189/132723 [00:00<00:00, 86726.95KB/s]
     64%|######4   | 84993/132723 [00:01<00:00, 87130.26KB/s]
     71%|#######   | 93757/132723 [00:01<00:00, 87285.01KB/s]
     77%|#######7  | 102539/132723 [00:01<00:00, 87444.67KB/s]
     84%|########3 | 111284/132723 [00:01<00:00, 87430.21KB/s]
     90%|######### | 120091/132723 [00:01<00:00, 87621.93KB/s]
     97%|#########7| 128865/132723 [00:01<00:00, 87655.84KB/s]
    100%|#######
 ###| 132723/132723 [00:01<00:00, 85820.93KB/s]
+
      0%|          | 0/132723 [00:00<?, ?KB/s]
      4%|3         | 5071/132723 [00:00<00:02, 50662.70KB/s]
      9%|9         | 12436/132723 [00:00<00:01, 64175.16KB/s]
     15%|#5        | 20022/132723 [00:00<00:01, 69507.16KB/s]
     21%|##        | 27804/132723 [00:00<00:01, 72787.15KB/s]
     27%|##6       | 35794/132723 [00:00<00:01, 75349.49KB/s]
     33%|###2      | 43736/132723 [00:00<00:01, 76730.93KB/s]
     39%|###9      | 51824/132723 [00:00<00:01, 78085.74KB/s]
     45%|####5     | 59794/132723 [00:00<00:00, 78594.38KB/s]
     51%|#####1    | 67751/132723 [00:00<00:00, 78896.84KB/s]
     57%|#####7    | 75700/132723 [00:01<00:00, 79074.91KB/s]
     63%|######3   | 83666/132723 [00:01<00:00, 79247.79KB/s]
     69%|######9   | 91675/132723 [00:01<00:00, 79502.09KB/s]
     75%|#######5  | 99626/132723 [00:01<00:00, 75596.34KB/s]
     81%|########1 | 107597/132723 [00:01<00:00, 76784.59KB/s]
     87%|########6 | 115308/132723 [00:01<00:00, 76536.68KB/s]
     93%|#########
 2| 123169/132723 [00:01<00:00, 77135.39KB/s]
     99%|#########8| 131209/132723 [00:01<00:00, 78100.42KB/s]
    100%|##########| 132723/132723 [00:01<00:00, 76352.62KB/s]
 
 
 
@@ -240,7 +240,7 @@ Display result
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  20.991 seconds)
+   **Total running time of the script:** ( 2 minutes  30.930 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 6b1dad3df..a30a611d2 100644
--- a/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
@@ -5,22 +5,22 @@
 
 Computation times
 =================
-**10:26.189** total execution time for **how_to_deploy_models** files:
+**10:52.300** total execution time for **how_to_deploy_models** files:
 
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 02:53.141 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:06.650 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)                           | 02:20.991 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)                           | 02:30.930 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)           | 02:04.287 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)           | 01:53.663 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)                               | 01:10.894 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)                               | 01:16.057 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)                         | 01:06.623 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)                         | 01:11.153 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)                 | 00:28.055 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)                 | 00:31.506 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)                       | 00:22.191 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)                       | 00:22.335 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``)                                     | 00:00.006 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt b/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
index c6eb4f884..55b49eff1 100644
--- a/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
@@ -463,7 +463,7 @@ First let us define two helper functions to get the mobilenet model and a cat im
 
  .. code-block:: none
 
-    Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zipeb183f62-1237-426b-9e46-3f1ba6fa8aa8 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+    Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip2c1d8a17-882a-421e-ac8f-235092456df7 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 6167a120a..35ec6da3b 100644
--- a/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
@@ -5,14 +5,14 @@
 
 Computation times
 =================
-**00:39.882** total execution time for **how_to_extend_tvm** files:
+**00:42.240** total execution time for **how_to_extend_tvm** files:
 
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``) | 00:36.776 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``) | 00:38.948 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)           | 00:02.184 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)           | 00:02.326 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)                     | 00:00.915 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)                     | 00:00.959 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``)       | 00:00.006 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``)       | 00:00.007 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt b/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
index e57545b2b..9b284f3a5 100644
--- a/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
@@ -215,10 +215,10 @@ profile the execution time of each passes.
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 6412us [6412us] (45.81%; 45.81%)
-    FoldScaleAxis: 7584us [6us] (54.19%; 54.19%)
-            FoldConstant: 7577us [1584us] (54.14%; 99.92%)
-                    InferType: 5993us [5993us] (42.82%; 79.09%)
+    InferType: 6945us [6945us] (45.91%; 45.91%)
+    FoldScaleAxis: 8183us [8us] (54.09%; 54.09%)
+            FoldConstant: 8175us [1611us] (54.04%; 99.90%)
+                    InferType: 6563us [6563us] (43.38%; 80.29%)
 
 
 
@@ -257,10 +257,10 @@ Refer to following sections and :py:func:`tvm.instrument.pass_instrument` for th
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 6098us [6098us] (43.46%; 43.46%)
-    FoldScaleAxis: 7934us [5us] (56.54%; 56.54%)
-            FoldConstant: 7929us [1551us] (56.51%; 99.94%)
-                    InferType: 6378us [6378us] (45.45%; 80.44%)
+    InferType: 6575us [6575us] (45.20%; 45.20%)
+    FoldScaleAxis: 7971us [5us] (54.80%; 54.80%)
+            FoldConstant: 7966us [1607us] (54.76%; 99.93%)
+                    InferType: 6359us [6359us] (43.72%; 79.83%)
 
 
 
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 7f98f1380..6523cce62 100644
--- a/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
@@ -327,7 +327,7 @@ latency of convolution.
 
  .. code-block:: none
 
-    Convolution: 48.067359 ms
+    Convolution: 33.974204 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 213cfe008..6fc64f04d 100644
--- a/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
@@ -658,7 +658,7 @@ be able to run on our build server
 
  .. code-block:: none
 
-    conv2d with tensor core: 10.200932 ms
+    conv2d with tensor core: 13.367764 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 9a070be71..9901feb10 100644
--- a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
@@ -130,8 +130,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 
  .. code-block:: none
 
-    Numpy running time: 0.019200
-    Baseline: 3.426513
+    Numpy running time: 0.019477
+    Baseline: 3.454278
 
 
 
@@ -226,7 +226,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 
  .. code-block:: none
 
-    Opt1: 0.304981
+    Opt1: 0.325338
 
 
 
@@ -329,7 +329,7 @@ In this tutorial, we chose to vectorize the inner loop row data since it is cach
 
  .. code-block:: none
 
-    Opt2: 0.337980
+    Opt2: 0.349241
 
 
 
@@ -425,7 +425,7 @@ the access pattern for A matrix is more cache friendly.
 
  .. code-block:: none
 
-    Opt3: 0.120044
+    Opt3: 0.123532
 
 
 
@@ -550,7 +550,7 @@ flattening.
 
  .. code-block:: none
 
-    Opt4: 0.111097
+    Opt4: 0.111668
 
 
 
@@ -672,7 +672,7 @@ write to C when all the block results are ready.
 
  .. code-block:: none
 
-    Opt5: 0.111830
+    Opt5: 0.111557
 
 
 
@@ -797,7 +797,7 @@ Futhermore, we can also utilize multi-core processors to do the thread-level par
 
  .. code-block:: none
 
-    Opt6: 0.145898
+    Opt6: 0.145333
 
 
 
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 eac3c13a9..ab760b894 100644
--- a/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
@@ -5,12 +5,12 @@
 
 Computation times
 =================
-**00:34.837** total execution time for **how_to_optimize_operators** files:
+**00:35.422** total execution time for **how_to_optimize_operators** files:
 
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)                       | 00:32.502 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)                       | 00:32.972 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.297 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.393 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)             | 00:01.039 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)             | 00:01.057 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
index 8c9b19573..e7805f4ab 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
@@ -5,18 +5,18 @@
 
 Computation times
 =================
-**05:14.582** total execution time for **how_to_tune_with_autoscheduler** files:
+**05:34.610** total execution time for **how_to_tune_with_autoscheduler** files:
 
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 02:33.135 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 02:51.922 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)             | 01:21.920 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)             | 01:22.520 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)           | 00:43.915 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)           | 00:44.014 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)               | 00:18.256 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)               | 00:18.076 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)           | 00:08.783 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)           | 00:09.108 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)             | 00:08.573 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)             | 00:08.971 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt
index c50ebb614..40eafd2ff 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
@@ -240,786 +240,482 @@ cooperative fetching, unrolling and operator fusion.
       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" = 28;
-      allocate(conv2d_nchw: Pointer(local float32), float32, [16]), storage_scope = local;
-      allocate(pad_temp.shared: Pointer(shared float32), float32, [108]), storage_scope = shared;
-      allocate(kernel.shared: Pointer(shared float32), float32, [4608]), storage_scope = shared;
-      attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56 {
-        conv2d_nchw_1: Buffer(conv2d_nchw, float32, [16], [], scope="local", align=16)[0] = 0f32
-        conv2d_nchw_1[4] = 0f32
-        conv2d_nchw_1[8] = 0f32
-        conv2d_nchw_1[12] = 0f32
+      allocate(conv2d_nchw: Pointer(local float32), float32, [14]), storage_scope = local;
+      allocate(pad_temp.shared: Pointer(shared float32), float32, [72]), storage_scope = shared;
+      allocate(kernel.shared: Pointer(shared float32), float32, [3072]), storage_scope = shared;
+      attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64 {
+        conv2d_nchw_1: Buffer(conv2d_nchw, float32, [14], [], scope="local", align=32)[0] = 0f32
         conv2d_nchw_1[1] = 0f32
-        conv2d_nchw_1[5] = 0f32
-        conv2d_nchw_1[9] = 0f32
-        conv2d_nchw_1[13] = 0f32
         conv2d_nchw_1[2] = 0f32
-        conv2d_nchw_1[6] = 0f32
-        conv2d_nchw_1[10] = 0f32
-        conv2d_nchw_1[14] = 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[15] = 0f32
-        for (rc.outer.outer: int32, 0, 128) {
-          let cse_var_1: int32 = (rc.outer.outer*36)
-           {
-            attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            pad_temp.shared_1: Buffer(pad_temp.shared, float32, [108], [], scope="shared")[threadIdx.x_1] = @tir.if_then_else(((((3 <= floormod(threadIdx.x_1, 27)) && (floormod(threadIdx.x_1, 27) < 24)) && (1 <= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)))) && ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) < 8)), data[((((((rc.outer.outer*196) + (floordiv(threadIdx.x_1, 27)*49)) + (floordiv(floormod(threadIdx.x_1, 27), 3)*7)) + floormod(blockIdx.x, 7)) + floormod(thre [...]
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            if @tir.likely((threadIdx.x_1 < 52), dtype=bool) {
-              pad_temp.shared_1[(threadIdx.x_1 + 56)] = @tir.if_then_else(((((3 <= floormod((threadIdx.x_1 + 2), 27)) && (floormod((threadIdx.x_1 + 2), 27) < 24)) && (1 <= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)))) && ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) < 8)), data[((((((rc.outer.outer*196) + (floordiv((threadIdx.x_1 + 56), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 2), 27), 3)*7)) + floormod(blockIdx.x, 7)) + floormod((threadIdx.x_1 + 2) [...]
-            }
-            attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1: Buffer(kernel.shared, float32, [4608], [], scope="shared")[threadIdx.x_2] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 56)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 56), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 112)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 112), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 168)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 168), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 224), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 280)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 280), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 336)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 336), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 392), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 448), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 504)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 64512)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 560)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 560), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 616)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 616), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 672), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 728)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 728), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 784)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 784), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 840)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 840), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 896), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 952)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 952), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1008)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 129024)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1064)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1064), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1120), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1176)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1176), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1232)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1232), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1288)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1288), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1344), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1400)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1400), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1456)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1456), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1512)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 193536)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1568)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1568), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1624)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1624), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1680)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1680), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1736)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1736), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1792), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1848)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1848), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1904)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1904), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 1960)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1960), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2016)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 258048)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2072)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2072), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2128)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2128), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2184)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2184), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2240), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2296)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2296), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2352)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2352), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2408)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2408), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2464)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2464), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2520)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 322560)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2576)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2576), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2632)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2632), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2688)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2688), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2744)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2744), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2800)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2800), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2856)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2856), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2912)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2912), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 2968)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2968), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3024)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 387072)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3080)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3080), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3136)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3136), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3192)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3192), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3248)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3248), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3304)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3304), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3360)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3360), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3416)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3416), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3472)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3472), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3528)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 451584)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3584)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3584), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3640)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3640), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3696)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3696), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3752)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3752), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3808)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3808), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3864)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3864), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3920)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3920), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 3976)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3976), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 4032)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 516096)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 4088)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4088), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 4144)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4144), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 4200)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4200), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 4256)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4256), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 4312)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4312), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 4368)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4368), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 4424)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4424), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 4480)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4480), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            kernel.shared_1[(threadIdx.x_2 + 4536)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 580608)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
-            if @tir.likely((threadIdx.x_2 < 16), dtype=bool) {
-              kernel.shared_1[(threadIdx.x_2 + 4592)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4592), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
+        conv2d_nchw_1[12] = 0f32
+        conv2d_nchw_1[13] = 0f32
+        for (rc.outer.outer: int32, 0, 64) {
+          for (ry.outer.outer: int32, 0, 3) {
+            let cse_var_2: int32 = (rc.outer.outer*72)
+            let cse_var_1: int32 = (ry.outer.outer*3)
+             {
+              attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64 {
+                if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+                  pad_temp.shared_1: Buffer(pad_temp.shared, float32, [72], [], scope="shared")[(threadIdx.x_1*4)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod((threadIdx.x_1*4), 9))) && (floormod((threadIdx.x_1*4), 9) < 8)), data[((((((rc.outer.outer*392) + (floordiv((threadIdx.x_1*4), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod((threadIdx.x_1*4), 9)) - 8)], 0f3 [...]
+                }
+                if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+                  pad_temp.shared_1[((threadIdx.x_1*4) + 1)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(((threadIdx.x_1*4) + 1), 9))) && (floormod(((threadIdx.x_1*4) + 1), 9) < 8)), data[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 1), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 1), 9)) - 8)], 0f32, dtype=float32)
+                }
+                if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+                  pad_temp.shared_1[((threadIdx.x_1*4) + 2)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(((threadIdx.x_1*4) + 2), 9))) && (floormod(((threadIdx.x_1*4) + 2), 9) < 8)), data[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 2), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 2), 9)) - 8)], 0f32, dtype=float32)
+                }
+                if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+                  pad_temp.shared_1[((threadIdx.x_1*4) + 3)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(((threadIdx.x_1*4) + 3), 9))) && (floormod(((threadIdx.x_1*4) + 3), 9) < 8)), data[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 3), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 3), 9)) - 8)], 0f32, dtype=float32)
+                }
+              }
+              attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1: Buffer(kernel.shared, float32, [3072], [], scope="shared")[threadIdx.x_2] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 64)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 64), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 128)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 128), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 192)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 36864)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 256)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 256), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 320)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 320), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 384)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 73728)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 448), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 512)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 512), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 576)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 110592)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 640)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 640), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 704)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 704), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 768)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 147456)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 832)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 832), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 896), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 960)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 184320)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1024)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1024), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1088)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1088), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1152)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 221184)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1216)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1216), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1280)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1280), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 258048)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1408)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1408), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1472)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1472), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1536)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 294912)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1600)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1600), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1664)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1664), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1728)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 331776)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1792), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1856)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1856), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1920)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 368640)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 1984)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1984), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2048)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2048), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2112)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 405504)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2176)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2176), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2240), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2304)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 442368)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2368)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2368), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2432)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2432), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2496)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 479232)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2560)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2560), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2624)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2624), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2688)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 516096)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2752)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2752), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2816)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2816), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2880)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 552960)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 2944)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2944), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+              kernel.shared_1[(threadIdx.x_2 + 3008)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3008), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[0]*kernel.shared_1[(threadIdx.x*48)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[1]*kernel.shared_1[(threadIdx.x*48)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[2]*kernel.shared_1[(threadIdx.x*48)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[3]*kernel.shared_1[(threadIdx.x*48)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[4]*kernel.shared_1[(threadIdx.x*48)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[5]*kernel.shared_1[(threadIdx.x*48)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[6]*kernel.shared_1[(threadIdx.x*48)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[0]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[54]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[63]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[54]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[63]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[62]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[71]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[62]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[71]*kernel.shared_1[((threadIdx.x*48) + 47)]))
             }
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[(floordiv(threadIdx.x, 7)*144)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1152)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2304)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3456)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 36)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1188)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2340)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3492)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1153)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2305)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3457)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 37)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1189)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2341)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3493)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1154)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2306)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3458)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 38)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1190)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2342)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3494)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 72)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1224)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2376)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3528)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 108)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1260)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2412)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3564)]))
-            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)*144) + 73)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1225)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2377)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3529)]))
-            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)*144) + 109)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1261)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2413)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3565)]))
-            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)*144) + 74)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1226)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2378)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3530)]))
-            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)*144) + 110)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1262)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2414)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3566)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1155)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2307)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3459)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 39)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1191)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2343)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3495)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 4)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1156)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2308)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3460)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 40)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1192)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2344)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3496)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 5)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1157)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2309)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3461)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 41)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1193)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2345)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3497)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 75)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1227)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2379)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3531)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 111)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1263)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2415)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3567)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 76)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1228)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2380)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3532)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 112)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1264)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2416)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3568)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 77)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1229)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2381)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3533)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 113)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1265)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2417)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3569)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 6)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1158)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2310)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3462)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 42)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1194)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2346)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3498)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 7)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1159)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2311)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3463)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 43)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1195)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2347)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3499)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 8)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1160)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2312)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3464)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 44)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1196)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2348)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3500)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 78)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1230)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2382)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3534)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 114)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1266)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2418)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3570)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 79)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1231)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2383)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3535)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 115)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1267)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2419)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3571)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 80)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1232)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2384)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3536)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 116)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1268)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2420)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3572)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 9)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1161)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2313)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3465)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 45)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1197)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2349)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3501)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 10)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1162)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2314)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3466)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 46)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1198)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2350)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3502)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 11)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1163)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2315)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3467)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 47)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1199)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2351)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3503)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 81)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1233)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2385)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3537)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 117)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1269)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2421)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3573)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 82)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1234)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2386)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3538)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 118)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1270)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2422)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3574)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 83)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1235)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2387)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3539)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 119)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1271)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2423)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3575)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 12)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1164)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2316)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3468)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 48)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1200)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2352)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3504)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 13)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1165)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2317)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3469)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 49)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1201)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2353)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3505)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 14)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1166)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2318)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3470)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 50)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1202)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2354)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3506)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 84)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1236)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2388)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3540)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 120)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1272)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2424)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3576)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 85)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1237)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2389)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3541)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 121)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1273)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2425)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3577)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 86)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1238)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2390)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3542)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 122)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1274)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2426)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3578)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 15)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1167)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2319)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3471)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 51)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1203)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2355)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3507)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 16)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1168)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2320)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3472)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 52)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1204)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2356)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3508)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 17)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1169)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2321)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3473)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 53)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1205)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2357)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3509)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 87)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1239)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2391)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3543)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 123)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1275)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2427)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3579)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 88)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1240)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2392)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3544)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 124)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1276)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2428)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3580)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 89)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1241)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2393)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3545)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 125)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1277)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2429)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3581)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 18)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1170)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2322)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3474)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 54)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1206)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2358)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3510)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 19)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1171)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2323)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3475)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 55)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1207)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2359)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3511)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 20)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1172)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2324)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3476)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 56)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1208)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2360)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3512)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 90)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1242)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2394)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3546)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 126)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1278)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2430)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3582)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 91)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1243)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2395)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3547)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 127)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1279)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2431)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3583)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 92)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1244)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2396)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3548)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 128)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1280)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2432)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3584)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 21)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1173)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2325)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3477)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 57)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1209)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2361)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3513)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 22)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1174)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2326)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3478)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 58)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1210)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2362)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3514)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 23)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1175)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2327)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3479)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 59)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1211)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2363)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3515)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 93)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1245)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2397)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3549)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 129)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1281)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2433)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3585)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 94)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1246)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2398)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3550)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 130)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1282)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2434)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3586)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 95)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1247)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2399)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3551)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 131)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1283)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2435)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3587)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 24)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1176)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2328)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3480)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 60)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1212)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2364)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3516)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 25)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1177)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2329)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3481)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 61)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1213)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2365)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3517)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 26)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1178)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2330)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3482)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 62)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1214)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2366)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3518)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 96)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1248)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2400)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3552)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 132)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1284)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2436)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3588)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 97)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1249)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2401)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3553)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 133)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1285)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2437)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3589)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 98)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1250)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2402)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3554)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 134)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1286)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2438)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3590)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 27)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1179)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2331)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3483)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 63)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1215)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2367)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3519)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 28)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1180)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2332)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3484)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 64)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1216)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2368)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3520)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 29)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1181)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2333)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3485)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 65)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1217)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2369)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3521)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 99)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1251)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2403)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3555)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 135)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1287)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2439)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3591)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 100)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1252)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2404)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3556)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 136)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1288)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2440)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3592)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 101)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1253)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2405)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3557)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 137)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1289)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2441)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3593)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 30)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1182)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2334)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3486)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 66)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1218)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2370)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3522)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 31)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1183)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2335)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3487)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 67)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1219)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2371)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3523)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 32)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1184)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2336)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3488)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 68)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1220)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2372)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3524)]))
-            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)*144) + 102)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1254)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2406)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3558)]))
-            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)*144) + 138)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1290)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2442)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3594)]))
-            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)*144) + 103)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1255)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2407)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3559)]))
-            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)*144) + 139)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1291)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2443)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3595)]))
-            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)*144) + 104)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1256)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2408)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3560)]))
-            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)*144) + 140)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1292)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2444)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3596)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 33)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1185)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2337)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3489)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 69)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1221)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2373)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3525)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 34)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1186)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2338)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3490)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 70)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1222)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2374)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3526)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 35)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1187)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2339)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3491)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 71)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1223)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2375)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3527)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 105)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1257)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2409)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3561)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 141)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1293)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2445)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3597)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 106)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1258)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2410)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3562)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 142)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1294)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2446)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3598)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 107)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1259)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2411)]))
-            conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3563)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 143)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1295)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2447)]))
-            conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3599)]))
           }
         }
-        for (i1.inner: int32, 0, 4) {
-          compute[(((((floordiv(blockIdx.x, 7)*6272) + (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)*128) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
-          compute[((((((floordiv(blockIdx.x, 7)*6272) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + (floormod(threadIdx.x, 7)*7)) + floormod(blockIdx.x, 7)) + 1568)] = max((conv2d_nchw_1[(i1.inner + 4)] + bias[((((floordiv(blockIdx.x, 7)*128) + (floordiv(threadIdx.x, 7)*4)) + i1.inner) + 32)]), 0f32)
-          compute[((((((floordiv(blockIdx.x, 7)*6272) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + (floormod(threadIdx.x, 7)*7)) + floormod(blockIdx.x, 7)) + 3136)] = max((conv2d_nchw_1[(i1.inner + 8)] + bias[((((floordiv(blockIdx.x, 7)*128) + (floordiv(threadIdx.x, 7)*4)) + i1.inner) + 64)]), 0f32)
-          compute[((((((floordiv(blockIdx.x, 7)*6272) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + (floormod(threadIdx.x, 7)*7)) + floormod(blockIdx.x, 7)) + 4704)] = max((conv2d_nchw_1[(i1.inner + 12)] + bias[((((floordiv(blockIdx.x, 7)*128) + (floordiv(threadIdx.x, 7)*4)) + i1.inner) + 96)]), 0f32)
+        for (i1.inner: int32, 0, 2) {
+          for (i3.inner: int32, 0, 7) {
+            compute[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + i3.inner)] = max((conv2d_nchw_1[((i1.inner*7) + i3.inner)] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
+          }
         }
       }
     }
@@ -1074,7 +770,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 0.417 ms
+    Execution time of this operator: 0.364 ms
 
 
 
@@ -1122,35 +818,35 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     conv2d_nchw_nn_o_o_i, conv2d_nchw_nn_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_i, factor=1)
     conv2d_nchw_nn_o_o_o_i, conv2d_nchw_nn_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_i, factor=1)
     conv2d_nchw_nn_o_o_o_o, conv2d_nchw_nn_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_o_i, factor=1)
-    conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=2)
+    conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=1)
     conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=2)
-    conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=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=4)
+    conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=64)
+    conv2d_nchw_ff_o_o_o_o, conv2d_nchw_ff_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_o_i, factor=1)
     conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=1)
     conv2d_nchw_yy_o_o_i, conv2d_nchw_yy_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_i, factor=1)
-    conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_i, factor=7)
+    conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_i, factor=1)
     conv2d_nchw_yy_o_o_o_o, conv2d_nchw_yy_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_o_i, factor=1)
     conv2d_nchw_xx_o_i, conv2d_nchw_xx_i = s[conv2d_nchw].split(conv2d_nchw_xx, factor=1)
-    conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=1)
+    conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=7)
     conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=1)
     conv2d_nchw_xx_o_o_o_o, conv2d_nchw_xx_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_o_i, factor=1)
-    conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=1)
+    conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=2)
     conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=4)
     conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=1)
-    conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=3)
-    conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=3)
-    conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=1)
+    conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=1)
+    conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=1)
+    conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=3)
     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=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=4)
+    compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=2)
+    compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=64)
+    compute_i1_o_o_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=1)
     compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, factor=1)
-    compute_i2_o_o_i, compute_i2_o_i = s[compute].split(compute_i2_o_i, factor=7)
+    compute_i2_o_o_i, compute_i2_o_i = s[compute].split(compute_i2_o_i, factor=1)
     compute_i2_o_o_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=1)
-    compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=1)
+    compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=7)
     compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=1)
     compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=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)
@@ -1171,14 +867,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=56)
+    kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=64)
     s[kernel_shared].bind(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
     pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[pad_temp_shared].fuse(pad_temp_shared_ax0, pad_temp_shared_ax1, pad_temp_shared_ax2, pad_temp_shared_ax3)
-    pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
+    pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=4)
     s[pad_temp_shared].vectorize(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-    pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=56)
+    pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=64)
     s[pad_temp_shared].bind(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
-    s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "auto_unroll_max_step", 1024)
+    s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "auto_unroll_max_step", 512)
     s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "unroll_explicit", True)
 
     CUDA source code:
@@ -1196,700 +892,430 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
       #define int64_t long long
       #define uint64_t unsigned long long
     #endif
-    extern "C" __global__ void __launch_bounds__(56) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
-      float conv2d_nchw[16];
-      __shared__ float pad_temp_shared[108];
-      __shared__ float kernel_shared[4608];
+    extern "C" __global__ void __launch_bounds__(64) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
+      float conv2d_nchw[14];
+      __shared__ float pad_temp_shared[72];
+      __shared__ float kernel_shared[3072];
       conv2d_nchw[0] = 0.000000e+00f;
-      conv2d_nchw[4] = 0.000000e+00f;
-      conv2d_nchw[8] = 0.000000e+00f;
-      conv2d_nchw[12] = 0.000000e+00f;
       conv2d_nchw[1] = 0.000000e+00f;
-      conv2d_nchw[5] = 0.000000e+00f;
-      conv2d_nchw[9] = 0.000000e+00f;
-      conv2d_nchw[13] = 0.000000e+00f;
       conv2d_nchw[2] = 0.000000e+00f;
-      conv2d_nchw[6] = 0.000000e+00f;
-      conv2d_nchw[10] = 0.000000e+00f;
-      conv2d_nchw[14] = 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[15] = 0.000000e+00f;
-      for (int rc_outer_outer = 0; rc_outer_outer < 128; ++rc_outer_outer) {
-        __syncthreads();
-        pad_temp_shared[((int)threadIdx.x)] = (((((3 <= (((int)threadIdx.x) % 27)) && ((((int)threadIdx.x) % 27) < 24)) && (1 <= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)))) && (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) < 8)) ? data[((((((rc_outer_outer * 196) + ((((int)threadIdx.x) / 27) * 49)) + (((((int)threadIdx.x) % 27) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) - 8)] : 0.000000e+00f);
-        if (((int)threadIdx.x) < 52) {
-          pad_temp_shared[(((int)threadIdx.x) + 56)] = (((((3 <= ((((int)threadIdx.x) + 2) % 27)) && (((((int)threadIdx.x) + 2) % 27) < 24)) && (1 <= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)))) && (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) < 8)) ? data[((((((rc_outer_outer * 196) + (((((int)threadIdx.x) + 56) / 27) * 49)) + ((((((int)threadIdx.x) + 2) % 27) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2) % 3)) - 8)] : 0.000000e+00f);
-        }
-        kernel_shared[((int)threadIdx.x)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 56)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 56) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 112)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 112) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 168)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 168) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 224)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 224) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 280)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 280) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 336)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 336) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 392)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 392) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 448)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 448) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 504)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 64512)];
-        kernel_shared[(((int)threadIdx.x) + 560)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 560) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 616)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 616) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 672)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 672) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 728)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 728) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 784)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 784) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 840)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 840) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 896)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 896) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 952)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 952) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 129024)];
-        kernel_shared[(((int)threadIdx.x) + 1064)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1064) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1120) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 1176)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1176) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 1232)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1232) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 1288)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1288) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1344) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 1400)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1400) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 1456)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1456) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 1512)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 193536)];
-        kernel_shared[(((int)threadIdx.x) + 1568)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1568) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 1624)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1624) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 1680)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1680) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 1736)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1736) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1792) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 1848)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1848) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 1904)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1904) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 1960)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1960) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 2016)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 258048)];
-        kernel_shared[(((int)threadIdx.x) + 2072)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2072) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 2128)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2128) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 2184)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2184) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2240) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 2296)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2296) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 2352)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2352) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 2408)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2408) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 2464)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2464) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 2520)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 322560)];
-        kernel_shared[(((int)threadIdx.x) + 2576)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2576) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 2632)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2632) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2688) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 2744)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2744) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 2800)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2800) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 2856)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2856) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 2912)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2912) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 2968)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2968) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 3024)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 387072)];
-        kernel_shared[(((int)threadIdx.x) + 3080)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3080) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 3136)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3136) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 3192)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3192) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 3248)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3248) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 3304)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3304) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 3360)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3360) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 3416)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3416) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 3472)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3472) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 3528)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 451584)];
-        kernel_shared[(((int)threadIdx.x) + 3584)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3584) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 3640)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3640) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 3696)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3696) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 3752)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3752) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 3808)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3808) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 3864)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3864) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 3920)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3920) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 3976)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3976) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 4032)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 516096)];
-        kernel_shared[(((int)threadIdx.x) + 4088)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4088) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 4144)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4144) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 4200)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4200) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 4256)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4256) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 4312)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4312) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 4368)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4368) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 4424)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4424) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 4480)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4480) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 4536)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 580608)];
-        if (((int)threadIdx.x) < 16) {
-          kernel_shared[(((int)threadIdx.x) + 4592)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4592) / 36) * 4608)) + (rc_outer_outer * 36)) + (((((int)threadIdx.x) + 20) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
+      conv2d_nchw[12] = 0.000000e+00f;
+      conv2d_nchw[13] = 0.000000e+00f;
+      for (int rc_outer_outer = 0; rc_outer_outer < 64; ++rc_outer_outer) {
+        for (int ry_outer_outer = 0; ry_outer_outer < 3; ++ry_outer_outer) {
+          __syncthreads();
+          if (((int)threadIdx.x) < 18) {
+            pad_temp_shared[(((int)threadIdx.x) * 4)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= ((((int)threadIdx.x) * 4) % 9))) && (((((int)threadIdx.x) * 4) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) * 4) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)threadIdx.x) * 4) % 9)) - 8)] : 0.000000e+00f);
+          }
+          if (((int)threadIdx.x) < 18) {
+            pad_temp_shared[((((int)threadIdx.x) * 4) + 1)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 1) % 9))) && ((((((int)threadIdx.x) * 4) + 1) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 1) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 1) % 9)) - 8)] : 0.000000e+00f);
+          }
+          if (((int)threadIdx.x) < 18) {
+            pad_temp_shared[((((int)threadIdx.x) * 4) + 2)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 2) % 9))) && ((((((int)threadIdx.x) * 4) + 2) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 2) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 2) % 9)) - 8)] : 0.000000e+00f);
+          }
+          if (((int)threadIdx.x) < 18) {
+            pad_temp_shared[((((int)threadIdx.x) * 4) + 3)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 3) % 9))) && ((((((int)threadIdx.x) * 4) + 3) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 3) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 3) % 9)) - 8)] : 0.000000e+00f);
+          }
+          kernel_shared[((int)threadIdx.x)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 64)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 64) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 128)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 128) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 192)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 36864)];
+          kernel_shared[(((int)threadIdx.x) + 256)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 256) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 320)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 320) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 384)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 73728)];
+          kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 448) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 512)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 512) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 576)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 110592)];
+          kernel_shared[(((int)threadIdx.x) + 640)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 640) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 704)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 704) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 768)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 147456)];
+          kernel_shared[(((int)threadIdx.x) + 832)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 832) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 896) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 960)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 184320)];
+          kernel_shared[(((int)threadIdx.x) + 1024)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1024) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1088)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1088) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1152)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 221184)];
+          kernel_shared[(((int)threadIdx.x) + 1216)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1216) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1280)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1280) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 258048)];
+          kernel_shared[(((int)threadIdx.x) + 1408)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1408) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1472)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1472) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1536)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 294912)];
+          kernel_shared[(((int)threadIdx.x) + 1600)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1600) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1664)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1664) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1728)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 331776)];
+          kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1792) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1856)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1856) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1920)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 368640)];
+          kernel_shared[(((int)threadIdx.x) + 1984)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1984) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2048)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2048) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2112)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 405504)];
+          kernel_shared[(((int)threadIdx.x) + 2176)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2176) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2240) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2304)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 442368)];
+          kernel_shared[(((int)threadIdx.x) + 2368)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2368) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2432)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2432) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2496)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 479232)];
+          kernel_shared[(((int)threadIdx.x) + 2560)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2560) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2624)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2624) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 516096)];
+          kernel_shared[(((int)threadIdx.x) + 2752)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2752) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2816)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2816) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2880)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 552960)];
+          kernel_shared[(((int)threadIdx.x) + 2944)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2944) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 3008)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3008) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          __syncthreads();
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[0] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[1] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[2] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[3] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[4] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[5] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[6] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[0] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
         }
-        __syncthreads();
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[((((int)threadIdx.x) / 7) * 144)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1152)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2304)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3456)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 36)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1188)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2340)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3492)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1153)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2305)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3457)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 37)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1189)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2341)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3493)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1154)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2306)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3458)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 38)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1190)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2342)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3494)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 72)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1224)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2376)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3528)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 108)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1260)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2412)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3564)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 73)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1225)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2377)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3529)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 109)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1261)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2413)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3565)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 74)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1226)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2378)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3530)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 110)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1262)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2414)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3566)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1155)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2307)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3459)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 39)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1191)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2343)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3495)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 4)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1156)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2308)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3460)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 40)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1192)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2344)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3496)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 5)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1157)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2309)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3461)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 41)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1193)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2345)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3497)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 75)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1227)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2379)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3531)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 111)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1263)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2415)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3567)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 76)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1228)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2380)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3532)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 112)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1264)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2416)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3568)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 77)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1229)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2381)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3533)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 113)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1265)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2417)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3569)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 6)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1158)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2310)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3462)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 42)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1194)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2346)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3498)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 7)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1159)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2311)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3463)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 43)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1195)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2347)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3499)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 8)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1160)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2312)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3464)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 44)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1196)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2348)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3500)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 78)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1230)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2382)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3534)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 114)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1266)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2418)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3570)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 79)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1231)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2383)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3535)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 115)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1267)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2419)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3571)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 80)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1232)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2384)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3536)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 116)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1268)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2420)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3572)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 9)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1161)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2313)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3465)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 45)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1197)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2349)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3501)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 10)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1162)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2314)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3466)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 46)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1198)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2350)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3502)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 11)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1163)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2315)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3467)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 47)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1199)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2351)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3503)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 81)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1233)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2385)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3537)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 117)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1269)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2421)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3573)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 82)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1234)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2386)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3538)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 118)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1270)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2422)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3574)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 83)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1235)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2387)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3539)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 119)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1271)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2423)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3575)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 12)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1164)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2316)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3468)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 48)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1200)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2352)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3504)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 13)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1165)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2317)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3469)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 49)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1201)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2353)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3505)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 14)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1166)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2318)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3470)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 50)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1202)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2354)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3506)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 84)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1236)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2388)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3540)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 120)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1272)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2424)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3576)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 85)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1237)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2389)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3541)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 121)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1273)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2425)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3577)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 86)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1238)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2390)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3542)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 122)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1274)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2426)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3578)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 15)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1167)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2319)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3471)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 51)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1203)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2355)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3507)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 16)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1168)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2320)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3472)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 52)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1204)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2356)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3508)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 17)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1169)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2321)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3473)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 53)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1205)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2357)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3509)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 87)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1239)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2391)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3543)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 123)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1275)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2427)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3579)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 88)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1240)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2392)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3544)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 124)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1276)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2428)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3580)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 89)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1241)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2393)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3545)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 125)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1277)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2429)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3581)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 18)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1170)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2322)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3474)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 54)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1206)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2358)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3510)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 19)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1171)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2323)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3475)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 55)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1207)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2359)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3511)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 20)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1172)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2324)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3476)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 56)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1208)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2360)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3512)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 90)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1242)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2394)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3546)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 126)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1278)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2430)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3582)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 91)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1243)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2395)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3547)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 127)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1279)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2431)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3583)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 92)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1244)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2396)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3548)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 128)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1280)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2432)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3584)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 21)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1173)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2325)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3477)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 57)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1209)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2361)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3513)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 22)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1174)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2326)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3478)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 58)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1210)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2362)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3514)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 23)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1175)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2327)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3479)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 59)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1211)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2363)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3515)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 93)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1245)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2397)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3549)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 129)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1281)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2433)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3585)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 94)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1246)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2398)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3550)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 130)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1282)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2434)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3586)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 95)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1247)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2399)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3551)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 131)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1283)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2435)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3587)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 24)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1176)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2328)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3480)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 60)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1212)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2364)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3516)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 25)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1177)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2329)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3481)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 61)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1213)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2365)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3517)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 26)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1178)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2330)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3482)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 62)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1214)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2366)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3518)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 96)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1248)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2400)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3552)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 132)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1284)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2436)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3588)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 97)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1249)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2401)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3553)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 133)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1285)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2437)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3589)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 98)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1250)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2402)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3554)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 134)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1286)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2438)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3590)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 27)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1179)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2331)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3483)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 63)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1215)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2367)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3519)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 28)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1180)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2332)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3484)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 64)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1216)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2368)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3520)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 29)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1181)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2333)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3485)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 65)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1217)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2369)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3521)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 99)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1251)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2403)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3555)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 135)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1287)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2439)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3591)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 100)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1252)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2404)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3556)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 136)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1288)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2440)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3592)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 101)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1253)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2405)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3557)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 137)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1289)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2441)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3593)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 30)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1182)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2334)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3486)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 66)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1218)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2370)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3522)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 31)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1183)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2335)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3487)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 67)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1219)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2371)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3523)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 32)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1184)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2336)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3488)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 68)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1220)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2372)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3524)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 102)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1254)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2406)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3558)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 138)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1290)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2442)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3594)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 103)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1255)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2407)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3559)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 139)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1291)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2443)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3595)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 104)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1256)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2408)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3560)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 140)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1292)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2444)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3596)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 33)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1185)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2337)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3489)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 69)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1221)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2373)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3525)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 34)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1186)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2338)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3490)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 70)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1222)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2374)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3526)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 35)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1187)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2339)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3491)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 71)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1223)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2375)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3527)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 105)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1257)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2409)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3561)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 141)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1293)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2445)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3597)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 106)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1258)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2410)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3562)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 142)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1294)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2446)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3598)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 107)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1259)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2411)]));
-        conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3563)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 143)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1295)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2447)]));
-        conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3599)]));
       }
-      for (int i1_inner = 0; i1_inner < 4; ++i1_inner) {
-        compute[((((((((int)blockIdx.x) / 7) * 6272) + ((((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) * 128) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
-        compute[(((((((((int)blockIdx.x) / 7) * 6272) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + ((((int)threadIdx.x) % 7) * 7)) + (((int)blockIdx.x) % 7)) + 1568)] = max((conv2d_nchw[(i1_inner + 4)] + bias[(((((((int)blockIdx.x) / 7) * 128) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner) + 32)]), 0.000000e+00f);
-        compute[(((((((((int)blockIdx.x) / 7) * 6272) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + ((((int)threadIdx.x) % 7) * 7)) + (((int)blockIdx.x) % 7)) + 3136)] = max((conv2d_nchw[(i1_inner + 8)] + bias[(((((((int)blockIdx.x) / 7) * 128) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner) + 64)]), 0.000000e+00f);
-        compute[(((((((((int)blockIdx.x) / 7) * 6272) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + ((((int)threadIdx.x) % 7) * 7)) + (((int)blockIdx.x) % 7)) + 4704)] = max((conv2d_nchw[(i1_inner + 12)] + bias[(((((((int)blockIdx.x) / 7) * 128) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner) + 96)]), 0.000000e+00f);
+      for (int i1_inner = 0; i1_inner < 2; ++i1_inner) {
+        for (int i3_inner = 0; i3_inner < 7; ++i3_inner) {
+          compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + i3_inner)] = max((conv2d_nchw[((i1_inner * 7) + i3_inner)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
+        }
       }
     }
 
@@ -1951,7 +1377,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  33.135 seconds)
+   **Total running time of the script:** ( 2 minutes  51.922 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 bcd478d5d..f952b0e56 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
@@ -646,7 +646,7 @@ so we can read the log file and load the best schedules.
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       9.7861       9.8038       9.8110       9.7436       0.0302   
+       9.9395       9.9415      10.0171       9.8599       0.0642   
                
 
 
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 f484579cb..bb3e501b8 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
@@ -665,7 +665,7 @@ so we can read the log file and load the best schedules.
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      753.9374     753.8806     754.5786     753.3529      0.5020   
+      755.0259     755.2899     755.7489     754.0389      0.7226   
                
 
 
@@ -693,7 +693,7 @@ Other Tips
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  21.920 seconds)
+   **Total running time of the script:** ( 1 minutes  22.520 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 e785376ee..14bd4b4ef 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt
@@ -396,219 +396,103 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
                  placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [65536], []),
                  compute: Buffer(compute_2: Pointer(float32), float32, [65536], [])}
       buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute}
-      preflattened_buffer_map = {placeholder_8: placeholder_15: Buffer(placeholder_13, int32, [33], []), placeholder_5: placeholder_16: Buffer(placeholder_10, float32, [128, 256], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_6: placeholder_17: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_7: placeholder_18: Buffer(placeholder_12, int32, [4916], []), placeholder_9: placeholder_19: Buffer(placeholder_14, float32, [128, 512], [])} {
-      for (i0.outer: int32, 0, 32) "parallel" {
-        allocate(compute_4: Pointer(global float32), float32, [128]), storage_scope = global;
-        for (i1.outer: int32, 0, 16) {
-          for (nb_j.inner: int32, 0, 2) {
-            let cse_var_2: int32 = (nb_j.inner*16)
-            let cse_var_1: int32 = ((i1.outer*2) + nb_j.inner)
+      preflattened_buffer_map = {placeholder_5: placeholder_15: Buffer(placeholder_10, float32, [128, 256], []), placeholder_6: placeholder_16: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_8: placeholder_17: Buffer(placeholder_13, int32, [33], []), placeholder_9: placeholder_18: Buffer(placeholder_14, float32, [128, 512], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_7: placeholder_19: Buffer(placeholder_12, int32, [4916], [])} {
+      for (i0.outer: int32, 0, 8) "parallel" {
+        allocate(compute_4: Pointer(global float32), float32, [256]), storage_scope = global;
+        for (i1.outer: int32, 0, 32) {
+          for (i.inner.init: int32, 0, 16) {
+            let cse_var_1: int32 = (i.inner.init*16)
              {
-              compute_5: Buffer(compute_4, float32, [128], [])[cse_var_2] = 0f32
-              compute_5[(cse_var_2 + 1)] = 0f32
-              compute_5[(cse_var_2 + 2)] = 0f32
-              compute_5[(cse_var_2 + 3)] = 0f32
-              compute_5[(cse_var_2 + 4)] = 0f32
-              compute_5[(cse_var_2 + 5)] = 0f32
-              compute_5[(cse_var_2 + 6)] = 0f32
-              compute_5[(cse_var_2 + 7)] = 0f32
-              compute_5[(cse_var_2 + 8)] = 0f32
-              compute_5[(cse_var_2 + 9)] = 0f32
-              compute_5[(cse_var_2 + 10)] = 0f32
-              compute_5[(cse_var_2 + 11)] = 0f32
-              compute_5[(cse_var_2 + 12)] = 0f32
-              compute_5[(cse_var_2 + 13)] = 0f32
-              compute_5[(cse_var_2 + 14)] = 0f32
-              compute_5[(cse_var_2 + 15)] = 0f32
-              compute_5[(cse_var_2 + 32)] = 0f32
-              compute_5[(cse_var_2 + 33)] = 0f32
-              compute_5[(cse_var_2 + 34)] = 0f32
-              compute_5[(cse_var_2 + 35)] = 0f32
-              compute_5[(cse_var_2 + 36)] = 0f32
-              compute_5[(cse_var_2 + 37)] = 0f32
-              compute_5[(cse_var_2 + 38)] = 0f32
-              compute_5[(cse_var_2 + 39)] = 0f32
-              compute_5[(cse_var_2 + 40)] = 0f32
-              compute_5[(cse_var_2 + 41)] = 0f32
-              compute_5[(cse_var_2 + 42)] = 0f32
-              compute_5[(cse_var_2 + 43)] = 0f32
-              compute_5[(cse_var_2 + 44)] = 0f32
-              compute_5[(cse_var_2 + 45)] = 0f32
-              compute_5[(cse_var_2 + 46)] = 0f32
-              compute_5[(cse_var_2 + 47)] = 0f32
-              compute_5[(cse_var_2 + 64)] = 0f32
-              compute_5[(cse_var_2 + 65)] = 0f32
-              compute_5[(cse_var_2 + 66)] = 0f32
-              compute_5[(cse_var_2 + 67)] = 0f32
-              compute_5[(cse_var_2 + 68)] = 0f32
-              compute_5[(cse_var_2 + 69)] = 0f32
-              compute_5[(cse_var_2 + 70)] = 0f32
-              compute_5[(cse_var_2 + 71)] = 0f32
-              compute_5[(cse_var_2 + 72)] = 0f32
-              compute_5[(cse_var_2 + 73)] = 0f32
-              compute_5[(cse_var_2 + 74)] = 0f32
-              compute_5[(cse_var_2 + 75)] = 0f32
-              compute_5[(cse_var_2 + 76)] = 0f32
-              compute_5[(cse_var_2 + 77)] = 0f32
-              compute_5[(cse_var_2 + 78)] = 0f32
-              compute_5[(cse_var_2 + 79)] = 0f32
-              compute_5[(cse_var_2 + 96)] = 0f32
-              compute_5[(cse_var_2 + 97)] = 0f32
-              compute_5[(cse_var_2 + 98)] = 0f32
-              compute_5[(cse_var_2 + 99)] = 0f32
-              compute_5[(cse_var_2 + 100)] = 0f32
-              compute_5[(cse_var_2 + 101)] = 0f32
-              compute_5[(cse_var_2 + 102)] = 0f32
-              compute_5[(cse_var_2 + 103)] = 0f32
-              compute_5[(cse_var_2 + 104)] = 0f32
-              compute_5[(cse_var_2 + 105)] = 0f32
-              compute_5[(cse_var_2 + 106)] = 0f32
-              compute_5[(cse_var_2 + 107)] = 0f32
-              compute_5[(cse_var_2 + 108)] = 0f32
-              compute_5[(cse_var_2 + 109)] = 0f32
-              compute_5[(cse_var_2 + 110)] = 0f32
-              compute_5[(cse_var_2 + 111)] = 0f32
-              for (elem_idx: int32, 0, (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
-                let cse_var_67: int32 = (i0.outer*1024)
-                let cse_var_66: int32 = (elem_idx*16)
-                let cse_var_65: int32 = (cse_var_2 + 99)
-                let cse_var_64: int32 = (cse_var_2 + 98)
-                let cse_var_63: int32 = (cse_var_2 + 97)
-                let cse_var_62: int32 = (cse_var_2 + 96)
-                let cse_var_61: int32 = (cse_var_2 + 9)
-                let cse_var_60: int32 = (cse_var_2 + 8)
-                let cse_var_59: int32 = (cse_var_2 + 79)
-                let cse_var_58: int32 = (cse_var_2 + 78)
-                let cse_var_57: int32 = (cse_var_2 + 77)
-                let cse_var_56: int32 = (cse_var_2 + 76)
-                let cse_var_55: int32 = (cse_var_2 + 75)
-                let cse_var_54: int32 = (cse_var_2 + 74)
-                let cse_var_53: int32 = (cse_var_2 + 73)
-                let cse_var_52: int32 = (cse_var_2 + 72)
-                let cse_var_51: int32 = (cse_var_2 + 71)
-                let cse_var_50: int32 = (cse_var_2 + 70)
-                let cse_var_49: int32 = (cse_var_2 + 7)
-                let cse_var_48: int32 = (cse_var_2 + 69)
-                let cse_var_47: int32 = (cse_var_2 + 68)
-                let cse_var_46: int32 = (cse_var_2 + 67)
-                let cse_var_45: int32 = (cse_var_2 + 66)
-                let cse_var_44: int32 = (cse_var_2 + 65)
-                let cse_var_43: int32 = (cse_var_2 + 64)
-                let cse_var_42: int32 = (cse_var_2 + 6)
-                let cse_var_41: int32 = (cse_var_2 + 5)
-                let cse_var_40: int32 = (cse_var_2 + 47)
-                let cse_var_39: int32 = (cse_var_2 + 46)
-                let cse_var_38: int32 = (cse_var_2 + 45)
-                let cse_var_37: int32 = (cse_var_2 + 44)
-                let cse_var_36: int32 = (cse_var_2 + 43)
-                let cse_var_35: int32 = (cse_var_2 + 42)
-                let cse_var_34: int32 = (cse_var_2 + 41)
-                let cse_var_33: int32 = (cse_var_2 + 40)
-                let cse_var_32: int32 = (cse_var_2 + 4)
-                let cse_var_31: int32 = (cse_var_2 + 39)
-                let cse_var_30: int32 = (cse_var_2 + 38)
-                let cse_var_29: int32 = (cse_var_2 + 37)
-                let cse_var_28: int32 = (cse_var_2 + 36)
-                let cse_var_27: int32 = (cse_var_2 + 35)
-                let cse_var_26: int32 = (cse_var_2 + 34)
-                let cse_var_25: int32 = (cse_var_2 + 33)
-                let cse_var_24: int32 = (cse_var_2 + 32)
-                let cse_var_23: int32 = (cse_var_2 + 3)
-                let cse_var_22: int32 = (cse_var_2 + 2)
-                let cse_var_21: int32 = (cse_var_2 + 15)
-                let cse_var_20: int32 = (cse_var_2 + 14)
-                let cse_var_19: int32 = (cse_var_2 + 13)
-                let cse_var_18: int32 = (cse_var_2 + 12)
-                let cse_var_17: int32 = (cse_var_2 + 111)
-                let cse_var_16: int32 = (cse_var_2 + 110)
-                let cse_var_15: int32 = (cse_var_2 + 11)
-                let cse_var_14: int32 = (cse_var_2 + 109)
-                let cse_var_13: int32 = (cse_var_2 + 108)
-                let cse_var_12: int32 = (cse_var_2 + 107)
-                let cse_var_11: int32 = (cse_var_2 + 106)
-                let cse_var_10: int32 = (cse_var_2 + 105)
-                let cse_var_9: int32 = (cse_var_2 + 104)
-                let cse_var_8: int32 = (cse_var_2 + 103)
-                let cse_var_7: int32 = (cse_var_2 + 102)
-                let cse_var_6: int32 = (cse_var_2 + 101)
-                let cse_var_5: int32 = (cse_var_2 + 100)
-                let cse_var_4: int32 = (cse_var_2 + 10)
-                let cse_var_3: int32 = (cse_var_2 + 1)
-                 {
-                  compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[((placeholder_3[cse_var_1]*16) + cse_var_66)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_3] = (compute_5[cse_var_3] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 1)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_22] = (compute_5[cse_var_22] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 2)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_23] = (compute_5[cse_var_23] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 3)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_32] = (compute_5[cse_var_32] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 4)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_41] = (compute_5[cse_var_41] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 5)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_42] = (compute_5[cse_var_42] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 6)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_49] = (compute_5[cse_var_49] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 7)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_60] = (compute_5[cse_var_60] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 8)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_61] = (compute_5[cse_var_61] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 9)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 10)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_15] = (compute_5[cse_var_15] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 11)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_18] = (compute_5[cse_var_18] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 12)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_19] = (compute_5[cse_var_19] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 13)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_20] = (compute_5[cse_var_20] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 14)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_21] = (compute_5[cse_var_21] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 15)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-                  compute_5[cse_var_24] = (compute_5[cse_var_24] + (placeholder_1[((placeholder_3[cse_var_1]*16) + cse_var_66)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_25] = (compute_5[cse_var_25] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 1)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_26] = (compute_5[cse_var_26] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 2)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_27] = (compute_5[cse_var_27] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 3)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_28] = (compute_5[cse_var_28] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 4)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_29] = (compute_5[cse_var_29] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 5)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_30] = (compute_5[cse_var_30] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 6)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_31] = (compute_5[cse_var_31] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 7)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_33] = (compute_5[cse_var_33] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 8)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_34] = (compute_5[cse_var_34] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 9)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_35] = (compute_5[cse_var_35] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 10)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_36] = (compute_5[cse_var_36] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 11)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_37] = (compute_5[cse_var_37] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 12)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_38] = (compute_5[cse_var_38] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 13)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_39] = (compute_5[cse_var_39] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 14)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_40] = (compute_5[cse_var_40] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 15)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-                  compute_5[cse_var_43] = (compute_5[cse_var_43] + (placeholder_1[((placeholder_3[cse_var_1]*16) + cse_var_66)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_44] = (compute_5[cse_var_44] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 1)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_45] = (compute_5[cse_var_45] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 2)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_46] = (compute_5[cse_var_46] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 3)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_47] = (compute_5[cse_var_47] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 4)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_48] = (compute_5[cse_var_48] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 5)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_50] = (compute_5[cse_var_50] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 6)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_51] = (compute_5[cse_var_51] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 7)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_52] = (compute_5[cse_var_52] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 8)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_53] = (compute_5[cse_var_53] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 9)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_54] = (compute_5[cse_var_54] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 10)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_55] = (compute_5[cse_var_55] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 11)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_56] = (compute_5[cse_var_56] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 12)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_57] = (compute_5[cse_var_57] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 13)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_58] = (compute_5[cse_var_58] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 14)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_59] = (compute_5[cse_var_59] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 15)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-                  compute_5[cse_var_62] = (compute_5[cse_var_62] + (placeholder_1[((placeholder_3[cse_var_1]*16) + cse_var_66)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_63] = (compute_5[cse_var_63] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 1)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_64] = (compute_5[cse_var_64] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 2)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_65] = (compute_5[cse_var_65] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 3)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_5] = (compute_5[cse_var_5] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 4)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_6] = (compute_5[cse_var_6] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 5)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_7] = (compute_5[cse_var_7] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 6)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_8] = (compute_5[cse_var_8] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 7)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_9] = (compute_5[cse_var_9] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 8)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_10] = (compute_5[cse_var_10] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 9)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_11] = (compute_5[cse_var_11] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 10)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_12] = (compute_5[cse_var_12] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 11)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_13] = (compute_5[cse_var_13] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 12)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_14] = (compute_5[cse_var_14] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 13)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_16] = (compute_5[cse_var_16] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 14)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                  compute_5[cse_var_17] = (compute_5[cse_var_17] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 15)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-                }
-              }
+              compute_5: Buffer(compute_4, float32, [256], [])[cse_var_1] = 0f32
+              compute_5[(cse_var_1 + 1)] = 0f32
+              compute_5[(cse_var_1 + 2)] = 0f32
+              compute_5[(cse_var_1 + 3)] = 0f32
+              compute_5[(cse_var_1 + 4)] = 0f32
+              compute_5[(cse_var_1 + 5)] = 0f32
+              compute_5[(cse_var_1 + 6)] = 0f32
+              compute_5[(cse_var_1 + 7)] = 0f32
+              compute_5[(cse_var_1 + 8)] = 0f32
+              compute_5[(cse_var_1 + 9)] = 0f32
+              compute_5[(cse_var_1 + 10)] = 0f32
+              compute_5[(cse_var_1 + 11)] = 0f32
+              compute_5[(cse_var_1 + 12)] = 0f32
+              compute_5[(cse_var_1 + 13)] = 0f32
+              compute_5[(cse_var_1 + 14)] = 0f32
+              compute_5[(cse_var_1 + 15)] = 0f32
             }
           }
-          for (i0.inner: int32, 0, 4) {
-            for (i1.inner: int32, 0, 32) {
-              let cse_var_68: int32 = ((((i0.outer*2048) + (i0.inner*512)) + (i1.outer*32)) + i1.inner)
-              compute[cse_var_68] = max((compute_5[((i0.inner*32) + i1.inner)] + placeholder_4[cse_var_68]), 0f32)
+          for (elem_idx: int32, 0, (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])) {
+            for (i.inner: int32, 0, 16) {
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_2: int32 = (i.inner*16)
+                compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[((placeholder_3[i1.outer]*16) + (elem_idx*16))]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_3: int32 = ((i.inner*16) + 1)
+                compute_5[cse_var_3] = (compute_5[cse_var_3] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 1)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_4: int32 = ((i.inner*16) + 2)
+                compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 2)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_5: int32 = ((i.inner*16) + 3)
+                compute_5[cse_var_5] = (compute_5[cse_var_5] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 3)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_6: int32 = ((i.inner*16) + 4)
+                compute_5[cse_var_6] = (compute_5[cse_var_6] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 4)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_7: int32 = ((i.inner*16) + 5)
+                compute_5[cse_var_7] = (compute_5[cse_var_7] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 5)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_8: int32 = ((i.inner*16) + 6)
+                compute_5[cse_var_8] = (compute_5[cse_var_8] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 6)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_9: int32 = ((i.inner*16) + 7)
+                compute_5[cse_var_9] = (compute_5[cse_var_9] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 7)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_10: int32 = ((i.inner*16) + 8)
+                compute_5[cse_var_10] = (compute_5[cse_var_10] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 8)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_11: int32 = ((i.inner*16) + 9)
+                compute_5[cse_var_11] = (compute_5[cse_var_11] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 9)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_12: int32 = ((i.inner*16) + 10)
+                compute_5[cse_var_12] = (compute_5[cse_var_12] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 10)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_13: int32 = ((i.inner*16) + 11)
+                compute_5[cse_var_13] = (compute_5[cse_var_13] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 11)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_14: int32 = ((i.inner*16) + 12)
+                compute_5[cse_var_14] = (compute_5[cse_var_14] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 12)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_15: int32 = ((i.inner*16) + 13)
+                compute_5[cse_var_15] = (compute_5[cse_var_15] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 13)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_16: int32 = ((i.inner*16) + 14)
+                compute_5[cse_var_16] = (compute_5[cse_var_16] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 14)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
+              if @tir.likely((elem_idx < (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+                let cse_var_17: int32 = ((i.inner*16) + 15)
+                compute_5[cse_var_17] = (compute_5[cse_var_17] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 15)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+              }
             }
           }
+          for (i0.inner: int32, 0, 16) {
+            let cse_var_18: int32 = (((i0.outer*8192) + (i0.inner*512)) + (i1.outer*16))
+            compute[ramp(cse_var_18, 1, 16)] = max((compute_5[ramp((i0.inner*16), 1, 16)] + placeholder_4[ramp(cse_var_18, 1, 16)]), broadcast(0f32, 16))
+          }
         }
       }
     }
@@ -663,7 +547,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 2.629 ms
+    Execution time of this operator: 1.652 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 b884b583e..32daeaecf 100644
--- a/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
@@ -5,12 +5,12 @@
 
 Computation times
 =================
-**00:43.488** total execution time for **how_to_tune_with_autotvm** files:
+**00:44.696** total execution time for **how_to_tune_with_autotvm** files:
 
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)           | 00:43.459 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)           | 00:44.663 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)               | 00:00.016 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)               | 00:00.019 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``)             | 00:00.005 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt b/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
index 2807fda96..922eacd61 100644
--- a/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
@@ -879,8 +879,8 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 4, 32]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2885496
-    No: 6   GFLOPS: 94.00/94.00     result: MeasureResult(costs=(0.0024627407916666664,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7879972457885742, timestamp=1656412640.1039732)      [('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/94.00      result: Traceback (most recent call last):
+    No: 6   GFLOPS: 43.29/43.29     result: MeasureResult(costs=(0.005347391894736843,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6110730171203613, timestamp=1656418440.268053)        [('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/43.29      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1003,7 +1003,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 16, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 256, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6225319
-    No: 8   GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+    No: 8   GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1126,7 +1126,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 1, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,943546
-    No: 9   GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+    No: 9   GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1249,7 +1249,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 16, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 32]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2868708
-    No: 10  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+    No: 10  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 142, in build
         res = future.result()
       File "/usr/lib/python3.7/concurrent/futures/_base.py", line 435, in result
@@ -1267,7 +1267,7 @@ for this template
     TimeoutError
 
             [('tile_f', [-1, 32, 2, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4691833
-    No: 11  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+    No: 11  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1390,7 +1390,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 2, 64]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1042124
-    No: 12  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+    No: 12  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1513,7 +1513,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 32, 1, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10013405
-    No: 13  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+    No: 13  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1636,7 +1636,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 8, 8, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 32]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6732082
-    No: 14  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+    No: 14  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1759,7 +1759,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 4, 32]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7536735
-    No: 15  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+    No: 15  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1882,7 +1882,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 1, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 128, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,482121
-    No: 16  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+    No: 16  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -2005,7 +2005,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 1, 16]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 32, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2824525
-    No: 17  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+    No: 17  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -2128,7 +2128,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 64, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4559286
-    No: 18  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+    No: 18  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -2251,7 +2251,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 32, 16]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 512]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9677544
-    No: 19  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+    No: 19  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 738, in __call__
         yield remote, remote.load_module(os.path.split(build_result.filename)[1])
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 702, in run_through_rpc
@@ -2339,7 +2339,7 @@ for this template
       15: _PyEval_EvalFrameDefault
       14: 0x0000000000537c30
       13: _PyObject_FastCallKeywords
-      12: 0x00007ff9d9b2bfa2
+      12: 0x00007efda69d6fa2
       11: _ctypes_callproc
       10: ffi_call
       9: ffi_call_unix64
@@ -2404,7 +2404,7 @@ for this template
       21: _PyFunction_FastCallKeywords
       20: _PyEval_EvalFrameDefault
       19: _PyFunction_FastCall      [('tile_f', [-1, 8, 2, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6390073
-    No: 20  GFLOPS: 143.96/143.96   result: MeasureResult(costs=(0.00160807128,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4383773803710938, timestamp=1656412666.7170122)      [('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.85/144.85   result: MeasureResult(costs=(0.00159818188,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4687023162841797, timestamp=1656418466.2386413)      [('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9881539
 
 
 
@@ -2461,7 +2461,7 @@ and measure running time.
     Best config:
     [('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9881539
     Finish loading 20 records
-    Time cost of this operator: 0.001968
+    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 db0cb8bc6..250c1536d 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
@@ -328,10 +328,10 @@ Timing the untuned program
     ########## Build without Autotuning ##########
     Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  
     ---------                                     ---                                           --------  -------  -----              ------  -------  
-    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  311.5     98.733   (1, 2, 10, 10, 3)  2       1        
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.082     0.977    (1, 6, 10, 10)     1       1        
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.916     0.29     (1, 1, 10, 10, 3)  1       1        
-    Total_time                                    -                                             315.498   -        -                  -       -        
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  313.9     98.731   (1, 2, 10, 10, 3)  2       1        
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.112     0.979    (1, 6, 10, 10)     1       1        
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.921     0.29     (1, 1, 10, 10, 3)  1       1        
+    Total_time                                    -                                             317.933   -        -                  -       -        
 
 
 
@@ -397,10 +397,10 @@ Timing the tuned program
     ########## Build with Autotuning ##########
     Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  
     ---------                                     ---                                           --------  -------  -----              ------  -------  
-    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  76.3      96.617   (1, 6, 10, 10, 1)  2       1        
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.763     2.233    (1, 6, 10, 10)     1       1        
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.908     1.15     (1, 1, 10, 10, 3)  1       1        
-    Total_time                                    -                                             78.971    -        -                  -       -        
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  214.3     98.721   (1, 1, 10, 10, 6)  2       1        
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.944     0.896    (1, 6, 10, 10)     1       1        
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.833     0.384    (1, 3, 10, 10, 1)  1       1        
+    Total_time                                    -                                             217.077   -        -                  -       -        
 
 
 
diff --git a/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt b/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
index d3b8fdbdf..e05705cee 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
@@ -225,7 +225,7 @@ take about **2 minutes** to download the Stanford Cars, while COCO 2017 validati
  .. code-block:: none
 
 
-    '/tmp/tmpsn7108q8/images/random'
+    '/tmp/tmpp816o92v/images/random'
 
 
 
@@ -325,8 +325,8 @@ objects to other stuff? We can display some examples from our datasets using ``m
 
  .. code-block:: none
 
-    /tmp/tmpsn7108q8/images/target contains 8144 images
-    /tmp/tmpsn7108q8/images/random contains 5000 images
+    /tmp/tmpp816o92v/images/target contains 8144 images
+    /tmp/tmpp816o92v/images/random contains 5000 images
 
 
 
@@ -501,13 +501,13 @@ the time on our validation set).
  .. code-block:: none
 
     Epoch 1/3
-    328/328 - 55s - loss: 0.2339 - accuracy: 0.9198 - val_loss: 0.1435 - val_accuracy: 0.9566
+    328/328 - 55s - loss: 0.2098 - accuracy: 0.9245 - val_loss: 0.1482 - val_accuracy: 0.9569
     Epoch 2/3
-    328/328 - 52s - loss: 0.0998 - accuracy: 0.9611 - val_loss: 0.1113 - val_accuracy: 0.9660
+    328/328 - 53s - loss: 0.0990 - accuracy: 0.9611 - val_loss: 0.1419 - val_accuracy: 0.9524
     Epoch 3/3
-    328/328 - 52s - loss: 0.0649 - accuracy: 0.9749 - val_loss: 0.1493 - val_accuracy: 0.9494
+    328/328 - 53s - loss: 0.0661 - accuracy: 0.9747 - val_loss: 0.0974 - val_accuracy: 0.9671
 
-    <keras.callbacks.History object at 0x7fc8d34efc10>
+    <keras.callbacks.History object at 0x7f9c8df93350>
 
 
 
@@ -864,7 +864,7 @@ Arduino tutorial for how to do that `on GitHub <https://github.com/guberti/tvm-a
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 13 minutes  0.614 seconds)
+   **Total running time of the script:** ( 8 minutes  2.618 seconds)
 
 
 .. _sphx_glr_download_how_to_work_with_microtvm_micro_train.py:
diff --git a/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
index d7b8dc597..baf737d1b 100644
--- a/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
@@ -5,14 +5,14 @@
 
 Computation times
 =================
-**13:47.423** total execution time for **how_to_work_with_microtvm** files:
+**08:49.953** total execution time for **how_to_work_with_microtvm** files:
 
 +---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``)               | 13:00.614 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``)               | 08:02.618 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)         | 00:43.222 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)         | 00:43.762 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)             | 00:03.586 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)             | 00:03.573 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_work_with_microtvm_micro_ethosu.py` (``micro_ethosu.py``)             | 00:00.000 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
index 6773f0045..20bb2bb21 100644
--- a/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
@@ -5,12 +5,12 @@
 
 Computation times
 =================
-**00:11.496** total execution time for **how_to_work_with_relay** files:
+**00:09.937** total execution time for **how_to_work_with_relay** files:
 
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``) | 00:09.974 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``) | 00:08.406 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)                   | 00:01.516 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)                   | 00:01.525 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``)       | 00:00.006 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt b/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
index a56873e83..0113880d4 100644
--- a/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
@@ -259,7 +259,7 @@ The following example customizes CUDA lowering rule for :code:`exp`.
  .. code-block:: none
 
 
-    <function my_cuda_math_rule at 0x7fc84dee48c0>
+    <function my_cuda_math_rule at 0x7f9bf16e2f80>
 
 
 
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 29946a8db..44a0d9b92 100644
--- a/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
@@ -5,22 +5,22 @@
 
 Computation times
 =================
-**00:04.073** total execution time for **how_to_work_with_schedules** files:
+**00:04.281** total execution time for **how_to_work_with_schedules** files:
 
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)                 | 00:01.876 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)                 | 00:02.030 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)                     | 00:00.986 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)                     | 00:00.978 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)                     | 00:00.526 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)                     | 00:00.552 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)                               | 00:00.513 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)                               | 00:00.537 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)                     | 00:00.099 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)                     | 00:00.105 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.035 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.039 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)                               | 00:00.027 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)               | 00:00.013 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)               | 00:00.014 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
index f56bbf2b6..b5f5d4584 100644
--- a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
@@ -346,7 +346,7 @@ The importing needs to happen before the tensorized GEMV being executed.
                  C: Buffer(C_2: Pointer(float32), float32, [524288], [])}
       buffer_map = {A_1: A, B_1: B, C_1: C}
       preflattened_buffer_map = {A_1: A_3: Buffer(A_2, float32, [1024, 64], []), B_1: B_3: Buffer(B_2, float32, [512, 64], []), C_1: C_3: Buffer(C_2, float32, [1024, 512], [])} {
-      attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmp2gwrptke/input0.cc'\nsource_filename = \"/tmp/tmp2gwrptke/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/tmprv_krtt7/input0.cc'\nsource_filename = \"/tmp/tmprv_krtt7/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 f9a4943d7..78aa1a5dd 100644
--- a/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
 
 Computation times
 =================
-**00:20.683** total execution time for **topic_vta_tutorials_autotvm** files:
+**00:21.495** total execution time for **topic_vta_tutorials_autotvm** files:
 
 +---------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``) | 00:20.676 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``) | 00:21.488 | 0.0 MB |
 +---------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``)     | 00:00.006 | 0.0 MB |
 +---------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
index 374c26985..de111a4a0 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
@@ -291,7 +291,7 @@ The compilation steps are:
       DeprecationWarning,
     /workspace/vta/tutorials/frontend/deploy_classification.py:213: DeprecationWarning: legacy graph executor behavior of producing json / lib / params will be removed in the next release. Please see documents of tvm.contrib.graph_executor.GraphModule for the  new recommended usage.
       relay_prog, target=tvm.target.Target(target, host=env.target_host), params=params
-    resnet18_v1 inference graph built in 22.12s!
+    resnet18_v1 inference graph built in 22.68s!
 
 
 
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 ac062add6..907f50a92 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
@@ -335,7 +335,7 @@ The compilation steps are:
       "target_host parameter is going to be deprecated. "
     /workspace/python/tvm/relay/build_module.py:411: DeprecationWarning: Please use input parameter mod (tvm.IRModule) instead of deprecated parameter mod (tvm.relay.function.Function)
       DeprecationWarning,
-    yolov3-tiny inference graph built in 15.65s!
+    yolov3-tiny inference graph built in 15.71s!
 
 
 
diff --git a/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
index b7c69664c..24896af3a 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
 
 Computation times
 =================
-**01:29.652** total execution time for **topic_vta_tutorials_frontend** files:
+**01:30.845** total execution time for **topic_vta_tutorials_frontend** files:
 
 +------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)           | 00:47.660 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)           | 00:47.903 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:41.993 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:42.942 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
index 270d7f998..45b39d05d 100644
--- a/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
 
 Computation times
 =================
-**00:03.145** total execution time for **topic_vta_tutorials_optimize** files:
+**00:03.517** total execution time for **topic_vta_tutorials_optimize** files:
 
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)         | 00:02.769 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)         | 00:03.097 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.376 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.420 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
index 1c9fd9300..a9a2495ae 100644
--- a/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
 
 Computation times
 =================
-**00:00.691** total execution time for **topic_vta_tutorials** files:
+**00:00.761** total execution time for **topic_vta_tutorials** files:
 
 +---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.369 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.408 | 0.0 MB |
 +---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.322 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.353 | 0.0 MB |
 +---------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
index 8ebfd1b7e..742f1fa01 100644
--- a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
@@ -204,13 +204,6 @@ trials, we can load the best schedule from the log file and apply it.
 
 
 
-.. rst-class:: sphx-glr-script-out
-
- .. code-block:: none
-
-    *E
-
-
 
 
 
@@ -334,7 +327,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 93.040 ms
+    Execution time of this operator: 94.823 ms
 
 
 
@@ -450,11 +443,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  0.363 seconds)
-
-
 .. _sphx_glr_download_tutorial_auto_scheduler_matmul_x86.py:
 
 .. only:: html
diff --git a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
index 48f6bda37..4d9b1d520 100644
--- a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
@@ -449,16 +449,16 @@ reduce variance, we take 5 measurements and average them.
     waiting for device...
     device available
     Get devices for measurement successfully!
-    No: 1   GFLOPS: 10.34/10.34     result: MeasureResult(costs=(0.0259614308,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5461544990539551, timestamp=1656411451.3650882)       [('tile_y', [-1, 1]), ('tile_x', [-1, 256])],None,80
-    No: 2   GFLOPS: 2.40/10.34      result: MeasureResult(costs=(0.1118239236,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.938436508178711, timestamp=1656411453.825882) [('tile_y', [-1, 4]), ('tile_x', [-1, 8])],None,32
-    No: 3   GFLOPS: 11.82/11.82     result: MeasureResult(costs=(0.022716697,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5581724643707275, timestamp=1656411454.864513) [('tile_y', [-1, 64]), ('tile_x', [-1, 32])],None,56
-    No: 4   GFLOPS: 1.72/11.82      result: MeasureResult(costs=(0.15622642800000003,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.6090259552001953, timestamp=1656411457.5256464)        [('tile_y', [-1, 1]), ('tile_x', [-1, 4])],None,20
-    No: 5   GFLOPS: 3.66/11.82      result: MeasureResult(costs=(0.0734333174,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3086323738098145, timestamp=1656411458.964295)        [('tile_y', [-1, 256]), ('tile_x', [-1, 16])],None,48
-    No: 6   GFLOPS: 1.63/11.82      result: MeasureResult(costs=(0.1645801344,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.8022372722625732, timestamp=1656411461.8095186)       [('tile_y', [-1, 512]), ('tile_x', [-1, 4])],None,29
-    No: 7   GFLOPS: 0.87/11.82      result: MeasureResult(costs=(0.3101385628,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.077953815460205, timestamp=1656411467.4426227)        [('tile_y', [-1, 512]), ('tile_x', [-1, 2])],None,19
-    No: 8   GFLOPS: 10.54/11.82     result: MeasureResult(costs=(0.0254720816,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5448164939880371, timestamp=1656411468.0111113)       [('tile_y', [-1, 4]), ('tile_x', [-1, 64])],None,62
-    No: 9   GFLOPS: 1.89/11.82      result: MeasureResult(costs=(0.1421056764,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.368971824645996, timestamp=1656411470.499875) [('tile_y', [-1, 2]), ('tile_x', [-1, 2])],None,11
-    No: 10  GFLOPS: 2.63/11.82      result: MeasureResult(costs=(0.10206436639999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.733557939529419, timestamp=1656411472.2935205) [('tile_y', [-1, 4]), ('tile_x', [-1, 4])],None,22
+    No: 1   GFLOPS: 10.59/10.59     result: MeasureResult(costs=(0.0253485696,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5405683517456055, timestamp=1656417269.5684142)       [('tile_y', [-1, 1]), ('tile_x', [-1, 256])],None,80
+    No: 2   GFLOPS: 2.96/10.59      result: MeasureResult(costs=(0.0908157066,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6068427562713623, timestamp=1656417271.1866338)       [('tile_y', [-1, 4]), ('tile_x', [-1, 8])],None,32
+    No: 3   GFLOPS: 11.73/11.73     result: MeasureResult(costs=(0.0228788934,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5591089725494385, timestamp=1656417272.2521172)       [('tile_y', [-1, 64]), ('tile_x', [-1, 32])],None,56
+    No: 4   GFLOPS: 1.86/11.73      result: MeasureResult(costs=(0.1443544444,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.4179763793945312, timestamp=1656417274.7281263)       [('tile_y', [-1, 1]), ('tile_x', [-1, 4])],None,20
+    No: 5   GFLOPS: 3.57/11.73      result: MeasureResult(costs=(0.07509383119999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3372790813446045, timestamp=1656417276.2013705)        [('tile_y', [-1, 256]), ('tile_x', [-1, 16])],None,48
+    No: 6   GFLOPS: 1.76/11.73      result: MeasureResult(costs=(0.1525881198,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.5660359859466553, timestamp=1656417279.3616292)       [('tile_y', [-1, 512]), ('tile_x', [-1, 4])],None,29
+    No: 7   GFLOPS: 0.87/11.73      result: MeasureResult(costs=(0.3092309204,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.071078300476074, timestamp=1656417285.0115247)        [('tile_y', [-1, 512]), ('tile_x', [-1, 2])],None,19
+    No: 8   GFLOPS: 10.65/11.73     result: MeasureResult(costs=(0.025215001199999997,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5553405284881592, timestamp=1656417285.5855157)       [('tile_y', [-1, 4]), ('tile_x', [-1, 64])],None,62
+    No: 9   GFLOPS: 1.90/11.73      result: MeasureResult(costs=(0.1412100888,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.3644070625305176, timestamp=1656417288.0686047)       [('tile_y', [-1, 2]), ('tile_x', [-1, 2])],None,11
+    No: 10  GFLOPS: 2.76/11.73      result: MeasureResult(costs=(0.0972269572,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.668900966644287, timestamp=1656417289.7904603)        [('tile_y', [-1, 4]), ('tile_x', [-1, 4])],None,22
 
 
 
diff --git a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
index 8df8f7ed7..fdf6e2662 100644
--- a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
@@ -314,7 +314,7 @@ standard deviation.
 
  .. code-block:: none
 
-    {'mean': 493.5825739200005, 'median': 493.20583905000035, 'std': 1.0821086837583223}
+    {'mean': 496.8978348800101, 'median': 496.4822975000061, 'std': 1.0262624245258933}
 
 
 
@@ -550,31 +550,31 @@ the tuning data to.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:   17.41/  17.41 GFLOPS | Progress: (4/20) | 6.69 s
    [Task  1/25]  Current/Best:    6.15/  17.41 GFLOPS | Progress: (8/20) | 9.19 s
    [Task  1/25]  Current/Best:   11.50/  22.51 GFLOPS | Progress: (12/20) | 11.67 s
    [Task  1/25]  Current/Best:   16.81/  22.87 GFLOPS | Progress: (16/20) | 13.34 s
    [Task  1/25]  Current/Best:   11.60/  23.93 GFLOPS | Progress: (20/20) | 15.08 s Done.
-
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:   12.25/  13.02 GFLOPS | Progress: (4/20) | 3.88 s
    [Task  2/25]  Current/Best:   14.15/  18.68 GFLOPS | Progress: (8/20) | 5.18 s
    [Task  2/25]  Current/Best:   20.92/  20.92 GFLOPS | Progress: (12/20) | 6.49 s
    [Task  2/25]  Current/Best:   11.95/  20.92 GFLOPS | Progress: (16/20) | 7.73 s
    [Task  2/25]  Current/Best:   20.18/  20.92 GFLOPS | Progress: (20/20) | 9.33 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.83 s
    [Task  3/25]  Current/Best:   15.60/  16.85 GFLOPS | Progress: (8/20) | 7.76 s
    [Task  3/25]  Current/Best:   14.90/  16.85 GFLOPS | Progress: (12/20) | 9.45 s
    [Task  3/25]  Current/Best:    7.23/  23.73 GFLOPS | Progress: (16/20) | 11.35 s
    [Task  3/25]  Current/Best:   12.68/  23.73 GFLOPS | Progress: (20/20) | 15.89 s Done.
-
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:    9.57/  20.56 GFLOPS | Progress: (4/20) | 2.35 s
    [Task  4/25]  Current/Best:    6.85/  20.56 GFLOPS | Progress: (8/20) | 7.01 s
    [Task  4/25]  Current/Best:   22.50/  22.50 GFLOPS | Progress: (12/20) | 11.94 s
    [Task  4/25]  Current/Best:   17.29/  22.50 GFLOPS | Progress: (16/20) | 14.30 s
    [Task  4/25]  Current/Best:   13.21/  22.50 GFLOPS | Progress: (20/20) | 16.36 s Done.
-
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:    9.59/  10.34 GFLOPS | Progress: (4/20) | 2.61 s
    [Task  5/25]  Current/Best:   11.74/  11.74 GFLOPS | Progress: (8/20) | 4.67 s
    [Task  5/25]  Current/Best:   11.16/  18.06 GFLOPS | Progress: (12/20) | 7.73 s
    [Task  5/25]  Current/Best:   11.71/  22.55 GFLOPS | Progress: (16/20) | 9.14 s
    [Task  5/25]  Current/Best:   11.88/  22.55 GFLOPS | Progress: (20/20) | 11.05 s Done.
-
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:   12.32/  20.83 GFLOPS | Progress: (4/20) | 4.06 s
    [Task  6/25]  Current/Best:   18.92/  20.83 GFLOPS | Progress: (8/20) | 5.82 s
    [Task  6/25]  Current/Best:   13.25/  20.83 GFLOPS | Progress: (12/20) | 7.76 s
    [Task  6/25]  Current/Best:   19.97/  20.83 GFLOPS | Progress: (16/20) | 10.03 s
    [Task  6/25]  Current/Best:    3.72/  20.83 GFLOPS | Progress: (20/20) | 12.52 s Done.
-
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   11.18/  12.84 GFLOPS | Progress: (4/20) | 3.59 s
    [Task  7/25]  Current/Best:   20.35/  21.08 GFLOPS | Progress: (8/20) | 5.10 s
    [Task  7/25]  Current/Best:   16.14/  21.08 GFLOPS | Progress: (12/20) | 7.01 s
    [Task  7/25]  Current/Best:   12.23/  21.08 GFLOPS | Progress: (16/20) | 9.06 s
    [Task  7/25]  Current/Best:    6.38/  21.82 GFLOPS | Progress: (20/20) | 11.51 s Done.
-
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:    9.84/  14.11 GFLOPS | Progress: (4/20) | 2.89 s
    [Task  8/25]  Current/Best:    9.66/  14.11 GFLOPS | Progress: (8/20) | 7.91 s
    [Task  8/25]  Current/Best:   12.82/  14.11 GFLOPS | Progress: (12/20) | 14.37 s
    [Task  8/25]  Current/Best:   18.71/  18.71 GFLOPS | Progress: (16/20) | 16.46 s
    [Task  8/25]  Current/Best:   20.17/  20.17 GFLOPS | Progress: (20/20) | 23.45 s Done.
-
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:   14.29/  14.85 GFLOPS | Progress: (4/20) | 11.96 s
    [Task  9/25]  Current/Best:   23.51/  23.51 GFLOPS | Progress: (8/20) | 13.74 s
    [Task  9/25]  Current/Best:    8.25/  23.51 GFLOPS | Progress: (12/20) | 16.23 s
    [Task  9/25]  Current/Best:   17.99/  23.51 GFLOPS | Progress: (16/20) | 19.09 s
    [Task  9/25]  Current/Best:    9.07/  23.51 GFLOPS | Progress: (20/20) | 27.57 s
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:   18.15/  18.15 GFLOPS | Progress: (4/20) | 2.57 s
    [Task 10/25]  Current/Best:   15.37/  18.15 GFLOPS | Progress: (8/20) | 4.19 s
    [Task 10/25]  Current/Best:   12.59/  18.92 GFLOPS | Progress: (12/20) | 5.74 s
    [Task 10/25]  Current/Best:   19.17/  20.34 GFLOPS | Progress: (16/20) | 6.85 s
    [Task 10/25]  Current/Best:    8.87/  20.34 GFLOPS | Progress: (20/20
 ) | 8.37 s Done.
-
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   12.28/  18.06 GFLOPS | Progress: (4/20) | 3.33 s
    [Task 11/25]  Current/Best:   16.93/  18.06 GFLOPS | Progress: (8/20) | 6.15 s
    [Task 11/25]  Current/Best:   18.12/  18.12 GFLOPS | Progress: (12/20) | 8.18 s
    [Task 11/25]  Current/Best:   12.05/  21.20 GFLOPS | Progress: (16/20) | 11.11 s
    [Task 11/25]  Current/Best:   19.57/  21.62 GFLOPS | Progress: (20/20) | 13.19 s Done.
-
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:    7.83/  17.98 GFLOPS | Progress: (4/20) | 5.67 s
    [Task 12/25]  Current/Best:    5.17/  17.98 GFLOPS | Progress: (8/20) | 9.56 s
    [Task 12/25]  Current/Best:   18.79/  18.88 GFLOPS | Progress: (12/20) | 11.56 s
    [Task 12/25]  Current/Best:   15.22/  18.88 GFLOPS | Progress: (16/20) | 14.49 s
    [Task 12/25]  Current/Best:   15.11/  18.88 GFLOPS | Progress: (20/20) | 16.43 s Done.
-
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:    8.74/  17.32 GFLOPS | Progress: (4/20) | 3.70 s
    [Task 13/25]  Current/Best:   16.01/  21.02 GFLOPS | Progress: (8/20) | 6.26 s
    [Task 13/25]  Current/Best:   19.51/  21.52 GFLOPS | Progress: (12/20) | 9.32 s
    [Task 13/25]  Current/Best:   12.24/  21.52 GFLOPS | Progress: (16/20) | 12.72 s
    [Task 13/25]  Current/Best:   18.69/  21.52 GFLOPS | Progress: (20/20) | 15.04 s Done.
-
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:   13.73/  13.73 GFLOPS | Progress: (4/20) | 3.38 s
    [Task 14/25]  Current/Best:    6.11/  13.73 GFLOPS | Progress: (8/20) | 5.57 s
    [Task 14/25]  Current/Best:   20.46/  20.46 GFLOPS | Progress: (12/20) | 8.23 s
    [Task 14/25]  Current/Best:   16.88/  20.46 GFLOPS | Progress: (16/20) | 9.88 s Done.
-
    [Task 14/25]  Current/Best:   17.35/  20.46 GFLOPS | Progress: (20/20) | 11.65 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   16.24/  17.71 GFLOPS | Progress: (4/20) | 2.66 s
    [Task 15/25]  Current/Best:   12.80/  17.92 GFLOPS | Progress: (8/20) | 4.02 s
    [Task 15/25]  Current/Best:   10.40/  22.37 GFLOPS | Progress: (12/20) | 6.22 s
    [Task 15/25]  Current/Best:   20.43/  22.37 GFLOPS | Progress: (16/20) | 9.81 s
    [Task 15/25]  Current/Best:    9.70/  22.37 GFLOPS | Progress: (20/20) | 10.82 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:   20.44/  20.44 GFLOPS | Progress: (4/20) | 2.99 s
    [Task 16/25]  Current/Best:    3.02/  20.44 GFLOPS | Progress: (8/20) | 4.61 s
    [Task 16/25]  Current/Best:   15.69/  20.44 GFLOPS | Progress: (12/20) | 5.87 s
    [Task 16/25]  Current/Best:   17.73/  20.44 GFLOPS | Progress: (16/20) |
  7.25 s
    [Task 16/25]  Current/Best:   10.16/  21.75 GFLOPS | Progress: (20/20) | 9.39 s Done.
-
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   13.16/  18.73 GFLOPS | Progress: (4/20) | 4.79 s
    [Task 17/25]  Current/Best:   14.33/  23.38 GFLOPS | Progress: (8/20) | 7.65 s
    [Task 17/25]  Current/Best:   16.96/  23.38 GFLOPS | Progress: (12/20) | 9.69 s
    [Task 17/25]  Current/Best:   16.98/  23.38 GFLOPS | Progress: (16/20) | 11.90 s
    [Task 17/25]  Current/Best:   10.04/  23.38 GFLOPS | Progress: (20/20) | 14.06 s Done.
-
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:   11.44/  17.85 GFLOPS | Progress: (4/20) | 3.77 s
    [Task 18/25]  Current/Best:   10.52/  19.71 GFLOPS | Progress: (8/20) | 7.46 s
    [Task 18/25]  Current/Best:   18.75/  19.71 GFLOPS | Progress: (12/20) | 9.40 s
    [Task 18/25]  Current/Best:   10.09/  19.71 GFLOPS | Progress: (16/20) | 13.17 s
    [Task 18/25]  Current/Best:   20.63/  20.63 GFLOPS | Progress: (20/20) | 14.67 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.43 GFLOPS | Progress: (4/20) | 6.05 s
    [Task 19/25]  Current/Best:    2.60/  20.43 GFLOPS | Progress: (8/20) | 9.40 s
    [Task 19/25]  Current/Best:   20.10/  21.61 GFLOPS | Progress: (12/20) | 12.29 s
    [Task 19/25]  Current/Best:   14.48/  22.11 GFLOPS | Progress: (16/20) | 15.26 s
    [Task 19/25]  Current/Best:    2.70/  23.67 GFLOPS | Progress: (20/20) | 18.06 s Done.
-
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:    8.67/  15.33 GFLOPS | Progress: (4/20) | 3.30 s Done.
+
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:   17.42/  17.42 GFLOPS | Progress: (4/20) | 6.40 s
    [Task  1/25]  Current/Best:    6.11/  17.42 GFLOPS | Progress: (8/20) | 9.35 s
    [Task  1/25]  Current/Best:   11.51/  22.77 GFLOPS | Progress: (12/20) | 11.85 s
    [Task  1/25]  Current/Best:   16.71/  22.77 GFLOPS | Progress: (16/20) | 13.56 s
    [Task  1/25]  Current/Best:   11.58/  23.82 GFLOPS | Progress: (20/20) | 15.33 s Done.
+
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:   12.18/  13.11 GFLOPS | Progress: (4/20) | 3.89 s
    [Task  2/25]  Current/Best:   14.28/  18.03 GFLOPS | Progress: (8/20) | 5.28 s
    [Task  2/25]  Current/Best:   21.08/  21.08 GFLOPS | Progress: (12/20) | 6.62 s
    [Task  2/25]  Current/Best:   12.02/  21.08 GFLOPS | Progress: (16/20) | 7.92 s
    [Task  2/25]  Current/Best:   19.62/  21.08 GFLOPS | Progress: (20/20) | 9.56 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.54 GFLOPS | Progress: (4/20) | 5.92 s
    [Task  3/25]  Current/Best:   15.54/  16.85 GFLOPS | Progress: (8/20) | 7.88 s
    [Task  3/25]  Current/Best:   14.84/  16.85 GFLOPS | Progress: (12/20) | 9.65 s
    [Task  3/25]  Current/Best:    7.20/  23.67 GFLOPS | Progress: (16/20) | 11.60 s
    [Task  3/25]  Current/Best:   11.19/  23.67 GFLOPS | Progress: (20/20) | 16.17 s Done.
+
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:    9.50/  20.35 GFLOPS | Progress: (4/20) | 2.45 s
    [Task  4/25]  Current/Best:    6.64/  20.35 GFLOPS | Progress: (8/20) | 6.93 s
    [Task  4/25]  Current/Best:   21.93/  21.93 GFLOPS | Progress: (12/20) | 11.56 s
    [Task  4/25]  Current/Best:   16.58/  21.93 GFLOPS | Progress: (16/20) | 13.85 s
    [Task  4/25]  Current/Best:   12.81/  21.93 GFLOPS | Progress: (20/20) | 15.79 s Done.
+
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:    9.32/   9.94 GFLOPS | Progress: (4/20) | 2.64 s
    [Task  5/25]  Current/Best:   11.48/  12.90 GFLOPS | Progress: (8/20) | 4.76 s
    [Task  5/25]  Current/Best:   10.81/  18.19 GFLOPS | Progress: (12/20) | 7.91 s
    [Task  5/25]  Current/Best:   11.53/  22.66 GFLOPS | Progress: (16/20) | 9.36 s
    [Task  5/25]  Current/Best:   11.95/  22.66 GFLOPS | Progress: (20/20) | 11.28 s Done.
+
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:   12.29/  20.75 GFLOPS | Progress: (4/20) | 4.05 s
    [Task  6/25]  Current/Best:   18.88/  20.75 GFLOPS | Progress: (8/20) | 5.83 s
    [Task  6/25]  Current/Best:   13.25/  20.75 GFLOPS | Progress: (12/20) | 7.79 s
    [Task  6/25]  Current/Best:   19.83/  20.75 GFLOPS | Progress: (16/20) | 10.04 s
    [Task  6/25]  Current/Best:    3.70/  20.75 GFLOPS | Progress: (20/20) | 12.63 s Done.
+
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   11.18/  12.86 GFLOPS | Progress: (4/20) | 3.70 s
    [Task  7/25]  Current/Best:   20.15/  20.71 GFLOPS | Progress: (8/20) | 5.26 s
    [Task  7/25]  Current/Best:   15.83/  20.71 GFLOPS | Progress: (12/20) | 7.24 s
    [Task  7/25]  Current/Best:   12.19/  20.71 GFLOPS | Progress: (16/20) | 9.32 s
    [Task  7/25]  Current/Best:    6.25/  21.69 GFLOPS | Progress: (20/20) | 11.81 s Done.
+
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:    9.95/  13.86 GFLOPS | Progress: (4/20) | 2.99 s
    [Task  8/25]  Current/Best:    9.25/  13.86 GFLOPS | Progress: (8/20) | 7.86 s
    [Task  8/25]  Current/Best:   12.32/  13.86 GFLOPS | Progress: (12/20) | 14.16 s
    [Task  8/25]  Current/Best:   18.77/  18.77 GFLOPS | Progress: (16/20) | 16.27 s
    [Task  8/25]  Current/Best:   20.28/  20.28 GFLOPS | Progress: (20/20) | 22.91 s Done.
+
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:   14.20/  15.66 GFLOPS | Progress: (4/20) | 12.00 s
    [Task  9/25]  Current/Best:   23.21/  23.21 GFLOPS | Progress: (8/20) | 13.91 s
    [Task  9/25]  Current/Best:    8.23/  23.21 GFLOPS | Progress: (12/20) | 16.32 s
    [Task  9/25]  Current/Best:   17.72/  23.21 GFLOPS | Progress: (16/20) | 19.08 s
    [Task  9/25]  Current/Best:    8.95/  23.21 GFLOPS | Progress: (20/20) | 26.92 s
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:   18.50/  18.50 GFLOPS | Progress: (4/20) | 2.62 s
    [Task 10/25]  Current/Best:   15.48/  18.50 GFLOPS | Progress: (8/20) | 4.21 s
    [Task 10/25]  Current/Best:   12.19/  18.88 GFLOPS | Progress: (12/20) | 5.78 s
    [Task 10/25]  Current/Best:   19.08/  20.17 GFLOPS | Progress: (16/20) | 6.91 s
    [Task 10/25]  Current/Best:    8.86/  20.17 GFLOPS | Progress: (20/20
 ) | 8.46 s Done.
+
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   10.95/  17.96 GFLOPS | Progress: (4/20) | 3.37 s
    [Task 11/25]  Current/Best:   16.72/  17.96 GFLOPS | Progress: (8/20) | 6.13 s
    [Task 11/25]  Current/Best:   18.05/  18.05 GFLOPS | Progress: (12/20) | 8.16 s
    [Task 11/25]  Current/Best:   11.79/  21.03 GFLOPS | Progress: (16/20) | 10.99 s
    [Task 11/25]  Current/Best:   19.38/  21.50 GFLOPS | Progress: (20/20) | 13.02 s Done.
+
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:    7.78/  18.10 GFLOPS | Progress: (4/20) | 5.52 s
    [Task 12/25]  Current/Best:    5.10/  18.10 GFLOPS | Progress: (8/20) | 9.28 s
    [Task 12/25]  Current/Best:   18.81/  18.83 GFLOPS | Progress: (12/20) | 11.28 s
    [Task 12/25]  Current/Best:   14.98/  18.83 GFLOPS | Progress: (16/20) | 14.14 s
    [Task 12/25]  Current/Best:   15.09/  18.83 GFLOPS | Progress: (20/20) | 16.13 s Done.
+
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:    8.79/  17.18 GFLOPS | Progress: (4/20) | 3.74 s
    [Task 13/25]  Current/Best:   15.72/  20.78 GFLOPS | Progress: (8/20) | 6.26 s
    [Task 13/25]  Current/Best:   19.46/  21.31 GFLOPS | Progress: (12/20) | 9.23 s
    [Task 13/25]  Current/Best:   12.18/  21.31 GFLOPS | Progress: (16/20) | 12.72 s
    [Task 13/25]  Current/Best:   18.47/  21.31 GFLOPS | Progress: (20/20) | 14.96 s Done.
+
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:   13.26/  13.26 GFLOPS | Progress: (4/20) | 3.39 s
    [Task 14/25]  Current/Best:    6.08/  13.27 GFLOPS | Progress: (8/20) | 5.55 s
    [Task 14/25]  Current/Best:   20.62/  20.62 GFLOPS | Progress: (12/20) | 8.13 s
    [Task 14/25]  Current/Best:   16.18/  20.62 GFLOPS | Progress: (16/20) | 9.81 s Done.
+
    [Task 14/25]  Current/Best:   17.26/  20.62 GFLOPS | Progress: (20/20) | 11.60 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   16.12/  17.63 GFLOPS | Progress: (4/20) | 2.78 s
    [Task 15/25]  Current/Best:   14.04/  17.97 GFLOPS | Progress: (8/20) | 4.12 s
    [Task 15/25]  Current/Best:   10.39/  22.22 GFLOPS | Progress: (12/20) | 6.25 s
    [Task 15/25]  Current/Best:   20.21/  22.22 GFLOPS | Progress: (16/20) | 9.76 s
    [Task 15/25]  Current/Best:    9.69/  22.22 GFLOPS | Progress: (20/20) | 10.79 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:   20.30/  20.30 GFLOPS | Progress: (4/20) | 3.08 s
    [Task 16/25]  Current/Best:    3.03/  20.30 GFLOPS | Progress: (8/20) | 4.72 s
    [Task 16/25]  Current/Best:   18.94/  20.30 GFLOPS | Progress: (12/20) | 5.95 s
    [Task 16/25]  Current/Best:   17.73/  20.30 GFLOPS | Progress: (16/20) |
  7.33 s
    [Task 16/25]  Current/Best:    9.99/  22.14 GFLOPS | Progress: (20/20) | 9.42 s Done.
+
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   13.62/  18.83 GFLOPS | Progress: (4/20) | 4.82 s
    [Task 17/25]  Current/Best:   14.23/  23.07 GFLOPS | Progress: (8/20) | 7.72 s
    [Task 17/25]  Current/Best:   17.25/  23.07 GFLOPS | Progress: (12/20) | 9.80 s
    [Task 17/25]  Current/Best:   16.42/  23.07 GFLOPS | Progress: (16/20) | 11.95 s
    [Task 17/25]  Current/Best:   10.04/  23.07 GFLOPS | Progress: (20/20) | 14.10 s Done.
+
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:   11.61/  18.11 GFLOPS | Progress: (4/20) | 3.74 s
    [Task 18/25]  Current/Best:   10.55/  19.67 GFLOPS | Progress: (8/20) | 7.25 s
    [Task 18/25]  Current/Best:   19.39/  19.67 GFLOPS | Progress: (12/20) | 9.20 s
    [Task 18/25]  Current/Best:    9.93/  19.67 GFLOPS | Progress: (16/20) | 12.82 s
    [Task 18/25]  Current/Best:   20.72/  20.72 GFLOPS | Progress: (20/20) | 14.37 s Done.
+
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:    6.76/  20.16 GFLOPS | Progress: (4/20) | 6.21 s
    [Task 19/25]  Current/Best:    2.60/  20.16 GFLOPS | Progress: (8/20) | 9.54 s
    [Task 19/25]  Current/Best:   19.08/  20.97 GFLOPS | Progress: (12/20) | 12.36 s
    [Task 19/25]  Current/Best:   15.08/  21.44 GFLOPS | Progress: (16/20) | 15.20 s
    [Task 19/25]  Current/Best:    2.70/  23.12 GFLOPS | Progress: (20/20) | 18.02 s Done.
+
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:    9.60/  14.89 GFLOPS | Progress: (4/20) | 3.39 s Done.
      Done.
-
    [Task 20/25]  Current/Best:   10.33/  15.33 GFLOPS | Progress: (8/20) | 6.85 s
    [Task 20/25]  Current/Best:    2.31/  16.77 GFLOPS | Progress: (12/20) | 10.78 s
    [Task 20/25]  Current/Best:   11.45/  16.77 GFLOPS | Progress: (16/20) | 14.71 s
    [Task 20/25]  Current/Best:   13.66/  21.76 GFLOPS | Progress: (20/20) | 16.81 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 21/25]  Current/Best:    6.39/  17.62 GFLOPS | Progress: (4/20) | 3.27 s
    [Task 21/25]  Current/Best:   14.65/  17.62 GFLOPS | Progress: (8/20) | 4.87 s
    [Task 21/25]  Current/Best:    1.61/  17.62 GFLOPS | Progress: (12/20) | 7.00 s
    [Task 21/25]  Current/Best:   16.42/  17.62 GFLOPS | Progress: (16/20) | 10.52 s
    [Task 21/25]  Current/Best:    4.47/  17.62 GFLOPS | Progress: (20/20) | 17.95 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:    2.70/  17.03 GFLOPS | Progress: (4/20
 ) | 2.66 s
    [Task 22/25]  Current/Best:    8.62/  22.03 GFLOPS | Progress: (8/20) | 4.72 s
    [Task 22/25]  Current/Best:   19.79/  22.03 GFLOPS | Progress: (12/20) | 7.06 s
    [Task 22/25]  Current/Best:   15.45/  22.03 GFLOPS | Progress: (16/20) | 9.21 s
    [Task 22/25]  Current/Best:   13.66/  22.03 GFLOPS | Progress: (20/20) | 10.94 s Done.
-
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:   17.34/  20.83 GFLOPS | Progress: (4/20) | 3.23 s
    [Task 23/25]  Current/Best:   15.47/  20.83 GFLOPS | Progress: (8/20) | 6.67 s
    [Task 23/25]  Current/Best:   20.96/  21.37 GFLOPS | Progress: (12/20) | 8.50 s
    [Task 23/25]  Current/Best:    6.37/  21.37 GFLOPS | Progress: (16/20) | 15.64 s
    [Task 23/25]  Current/Best:    7.76/  21.37 GFLOPS | Progress: (20/20) | 19.87 s Done.
-
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    8.24/   8.24 GFLOPS | Progress: (4/20) | 11.76 s
    [Task 24/25]  Current/Best:    3.76/   8.24 GFLOPS | Progress: (8/20) | 22.99 s
    [Task 24/25]  Current/Best:    4.27/   8.24 GFLOPS | Progress: (12/20) | 33.71 s Done.
+
    [Task 20/25]  Current/Best:   10.07/  14.89 GFLOPS | Progress: (8/20) | 6.75 s
    [Task 20/25]  Current/Best:    2.32/  16.65 GFLOPS | Progress: (12/20) | 10.67 s
    [Task 20/25]  Current/Best:   12.45/  16.65 GFLOPS | Progress: (16/20) | 14.34 s
    [Task 20/25]  Current/Best:   13.34/  21.46 GFLOPS | Progress: (20/20) | 16.49 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 21/25]  Current/Best:    6.38/  17.54 GFLOPS | Progress: (4/20) | 3.32 s
    [Task 21/25]  Current/Best:   14.54/  17.54 GFLOPS | Progress: (8/20) | 4.94 s
    [Task 21/25]  Current/Best:    1.61/  17.54 GFLOPS | Progress: (12/20) | 7.13 s
    [Task 21/25]  Current/Best:   16.84/  17.54 GFLOPS | Progress: (16/20) | 10.65 s
    [Task 21/25]  Current/Best:    4.45/  17.54 GFLOPS | Progress: (20/20) | 17.87 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:    2.70/  16.90 GFLOPS | Progress: (4/20
 ) | 2.75 s
    [Task 22/25]  Current/Best:    8.87/  21.62 GFLOPS | Progress: (8/20) | 4.70 s
    [Task 22/25]  Current/Best:   19.67/  21.62 GFLOPS | Progress: (12/20) | 7.01 s
    [Task 22/25]  Current/Best:   15.22/  21.62 GFLOPS | Progress: (16/20) | 9.09 s
    [Task 22/25]  Current/Best:   15.01/  21.62 GFLOPS | Progress: (20/20) | 10.82 s Done.
+
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:   17.26/  20.20 GFLOPS | Progress: (4/20) | 3.33 s
    [Task 23/25]  Current/Best:   15.67/  20.20 GFLOPS | Progress: (8/20) | 6.74 s
    [Task 23/25]  Current/Best:   20.73/  21.26 GFLOPS | Progress: (12/20) | 8.60 s
    [Task 23/25]  Current/Best:    6.15/  21.26 GFLOPS | Progress: (16/20) | 15.84 s
    [Task 23/25]  Current/Best:    7.60/  21.26 GFLOPS | Progress: (20/20) | 20.13 s Done.
+
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    8.44/   8.44 GFLOPS | Progress: (4/20) | 11.84 s
    [Task 24/25]  Current/Best:    2.04/   8.44 GFLOPS | Progress: (8/20) | 22.91 s
    [Task 24/25]  Current/Best:    4.33/   8.44 GFLOPS | Progress: (12/20) | 34.48 s Done.
      Done.
-
    [Task 24/25]  Current/Best:    6.39/   8.52 GFLOPS | Progress: (16/20) | 39.38 s
    [Task 24/25]  Current/Best:    3.34/   8.86 GFLOPS | Progress: (20/20) | 45.42 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.90 GFLOPS | Progress: (4/20) | 11.59 s
    [Task 25/25]  Current/Best:    5.93/   7.82 GFLOPS | Progress: (8/20) | 22.85 s
    [Task 25/25]  Current/Best:    5.24/   7.82 GFLOPS | Progress: (12/20) | 34.11 s
    [Task 25/25]  Current/Best:    5.85/   9.16 GFLOPS | Progress: (16/20) | 35.82 s
    [Task 25/25]  Current/Best:    2.83/   9.16 GFLOPS | Progress: (20/20) | 46.48 s
+
    [Task 24/25]  Current/Best:    7.03/   8.50 GFLOPS | Progress: (16/20) | 40.07 s
    [Task 24/25]  Current/Best:    3.25/   8.69 GFLOPS | Progress: (20/20) | 46.14 s Done.
+
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 25/25]  Current/Best:    1.54/   2.83 GFLOPS | Progress: (4/20) | 11.68 s
    [Task 25/25]  Current/Best:    5.32/   7.49 GFLOPS | Progress: (8/20) | 22.99 s
    [Task 25/25]  Current/Best:    5.75/   7.49 GFLOPS | Progress: (12/20) | 34.33 s
    [Task 25/25]  Current/Best:    5.65/   8.70 GFLOPS | Progress: (16/20) | 36.27 s
    [Task 25/25]  Current/Best:    2.91/   8.70 GFLOPS | Progress: (20/20) | 46.99 s
 
 
 
@@ -735,8 +735,8 @@ improvement in comparing the optimized model to the unoptimized model.
 
  .. code-block:: none
 
-    optimized: {'mean': 406.4492548599992, 'median': 405.092015799994, 'std': 3.5182000822686983}
-    unoptimized: {'mean': 493.5825739200005, 'median': 493.20583905000035, 'std': 1.0821086837583223}
+    optimized: {'mean': 410.25954697998714, 'median': 410.2513245499267, 'std': 0.8153890572993924}
+    unoptimized: {'mean': 496.8978348800101, 'median': 496.4822975000061, 'std': 1.0262624245258933}
 
 
 
@@ -759,7 +759,7 @@ profiling/benchmarking.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 10 minutes  18.925 seconds)
+   **Total running time of the script:** ( 10 minutes  26.404 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 6518d76b6..5075cee12 100644
--- a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
@@ -269,7 +269,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    1.3e-07 secs/op
+    1.268e-07 secs/op
 
 
 
diff --git a/docs/_sources/tutorial/intro_topi.rst.txt b/docs/_sources/tutorial/intro_topi.rst.txt
index c59a5bc2d..72a09ec2f 100644
--- a/docs/_sources/tutorial/intro_topi.rst.txt
+++ b/docs/_sources/tutorial/intro_topi.rst.txt
@@ -262,7 +262,7 @@ As you can see, scheduled stages of computation have been accumulated and we can
 
  .. code-block:: none
 
-    [stage(a, placeholder(a, 0x11715a20)), stage(b, placeholder(b, 0x230fabf0)), 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, 0x21b71070)), stage(b, placeholder(b, 0x208ae040)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(mi [...]
 
 
 
diff --git a/docs/_sources/tutorial/sg_execution_times.rst.txt b/docs/_sources/tutorial/sg_execution_times.rst.txt
index 308265d3c..fd2610f29 100644
--- a/docs/_sources/tutorial/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorial/sg_execution_times.rst.txt
@@ -5,30 +5,30 @@
 
 Computation times
 =================
-**13:14.735** total execution time for **tutorial** files:
+**13:18.913** total execution time for **tutorial** files:
 
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)                 | 10:18.925 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)                 | 10:26.404 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)     | 01:00.849 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)     | 01:01.882 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:00.363 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 00:56.889 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)                 | 00:27.998 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)                 | 00:28.500 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)               | 00:24.342 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)               | 00:23.780 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)       | 00:01.406 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)                               | 00:00.751 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)                               | 00:00.708 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)       | 00:00.536 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.142 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.170 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``)                           | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``)                             | 00:00.000 | 0.0 MB |
-+------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)   | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
+| :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``)                             | 00:00.000 | 0.0 MB |
++------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_tutorial_install.py` (``install.py``)                                     | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
index 600b8bfc9..091f7bf24 100644
--- a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
+++ b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
@@ -288,8 +288,8 @@ helper function to run a profile of the TVM generated code.
 
  .. code-block:: none
 
-    Numpy running time: 0.000007
-    naive: 0.000006
+    Numpy running time: 0.000008
+    naive: 0.000007
 
 
 
@@ -499,10 +499,10 @@ We can now compare the different schedules
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                   numpy    7.351819999712461e-06                    1.0
-                   naive              5.9399e-06      0.8079495961860215
-                parallel              6.0694e-06      0.8255642820740146
-                  vector             2.46284e-05      3.3499732040451544
+                   numpy    8.206459997381898e-06                    1.0
+                   naive    6.696399999999999e-06     0.8159913046717279
+                parallel              6.1335e-06      0.7473990005382061
+                  vector             2.45844e-05      2.9957375053120527
 
 
 
@@ -923,7 +923,7 @@ matrix multiplication.
 
  .. code-block:: none
 
-    Numpy running time: 0.018996
+    Numpy running time: 0.018929
 
 
 
@@ -983,7 +983,7 @@ optimizations.
 
     /workspace/python/tvm/driver/build_module.py:268: 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.413370
+    none: 3.464867
 
 
 
@@ -1088,7 +1088,7 @@ schedule.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    blocking: 0.294329
+    blocking: 0.305828
 
 
 
@@ -1186,7 +1186,7 @@ already cache friendly from our previous optimizations.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    vectorization: 0.332995
+    vectorization: 0.341650
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1262,7 +1262,7 @@ more cache friendly.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    loop permutation: 0.118060
+    loop permutation: 0.123702
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1363,7 +1363,7 @@ optimized schedule.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    array packing: 0.110656
+    array packing: 0.111144
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1458,7 +1458,7 @@ to `C` when all the block results are ready.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    block caching: 0.110684
+    block caching: 0.111590
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1546,7 +1546,7 @@ of thread-level parallelization.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    parallelization: 0.144873
+    parallelization: 0.145552
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1627,13 +1627,13 @@ working, we can compare the results.
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                    none      3.4133700403000007                     1.0
-                blocking            0.2943292777     0.08622835327696596
-           vectorization             0.332994709      0.0975559945357501
-        loop permutation     0.11806032419999998    0.034587613650474205
-           array packing     0.11065596529999999     0.03241839120679528
-           block caching     0.11068420329999999     0.03242666396939254
-         parallelization            0.1448730437      0.0424428180916673
+                    none      3.4648666645999997                     1.0
+                blocking            0.3058282296     0.08826551183761244
+           vectorization            0.3416499686     0.09860407388560843
+        loop permutation            0.1237019135    0.035701781763738005
+           array packing            0.1111435717      0.0320773012236045
+           block caching     0.11159017389999999     0.03220619570735559
+         parallelization            0.1455519647     0.04200795551155883
 
 
 
@@ -1675,7 +1675,7 @@ the computation for specific platforms.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  0.849 seconds)
+   **Total running time of the script:** ( 1 minutes  1.882 seconds)
 
 
 .. _sphx_glr_download_tutorial_tensor_expr_get_started.py:
diff --git a/docs/commit_hash b/docs/commit_hash
index 3fee651e4..922ad4662 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-c87ebefcfd756c33c08393b19a081a6fd4b657e7
+08723d0ce67a194d47b0f7c60b238cee0962769c
diff --git a/docs/how_to/compile_models/from_darknet.html b/docs/how_to/compile_models/from_darknet.html
index 76ffa38c5..7dfa427e5 100644
--- a/docs/how_to/compile_models/from_darknet.html
+++ b/docs/how_to/compile_models/from_darknet.html
@@ -569,6 +569,7 @@ class:[&#39;truck 0.9266&#39;] left:471 right:83 top:689 bottom:169
 class:[&#39;bicycle 0.9984&#39;] left:111 right:113 top:577 bottom:447
 </pre></div>
 </div>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  1.195 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-darknet-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/7716f96385bd5abb6e822041e285be54/from_darknet.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_darknet.py</span></code></a></p>
diff --git a/docs/how_to/compile_models/from_mxnet.html b/docs/how_to/compile_models/from_mxnet.html
index 71187cf00..580b8bf20 100644
--- a/docs/how_to/compile_models/from_mxnet.html
+++ b/docs/how_to/compile_models/from_mxnet.html
@@ -422,7 +422,7 @@ to download the full example code</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;x&quot;</span><span class="p">,</span> <a href="https://docs.python.org/3/library/stdtypes.html#tuple" title="builtins.tuple" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">x</span><span class="o">.</span><span class="n">shape</span></a><span class="p">)</span>
 </pre></div>
 </div>
-<img src="../../_images/sphx_glr_from_mxnet_001.png" srcset="../../_images/sphx_glr_from_mxnet_001.png" alt="from mxnet" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zipd9e15a0f-1c2b-47cd-adef-907cb9eede54 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+<img src="../../_images/sphx_glr_from_mxnet_001.png" srcset="../../_images/sphx_glr_from_mxnet_001.png" alt="from mxnet" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip86abc1fc-c1cb-4abc-a9c2-95af90f5256c 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 2fbdd6a7f..4cc8e477a 100644
--- a/docs/how_to/compile_models/from_oneflow.html
+++ b/docs/how_to/compile_models/from_oneflow.html
@@ -427,53 +427,42 @@ 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:02, 90.1kB/s]
-  0%|          | 48.0k/41.5M [00:00&lt;05:05, 142kB/s]
-  0%|          | 96.0k/41.5M [00:00&lt;03:36, 200kB/s]
-  0%|          | 168k/41.5M [00:00&lt;02:34, 280kB/s]
-  1%|          | 336k/41.5M [00:00&lt;01:23, 518kB/s]
-  1%|1         | 512k/41.5M [00:01&lt;01:03, 676kB/s]
-  2%|2         | 1.00M/41.5M [00:01&lt;00:30, 1.39MB/s]
-  5%|4         | 2.01M/41.5M [00:01&lt;00:14, 2.79MB/s]
-  8%|8         | 3.49M/41.5M [00:01&lt;00:08, 4.57MB/s]
- 12%|#1        | 4.96M/41.5M [00:01&lt;00:06, 5.76MB/s]
- 16%|#5        | 6.44M/41.5M [00:02&lt;00:05, 6.58MB/s]
- 19%|#9        | 7.91M/41.5M [00:02&lt;00:04, 8.00MB/s]
- 22%|##1       | 9.10M/41.5M [00:02&lt;00:04, 8.24MB/s]
- 24%|##3       | 9.93M/41.5M [00:02&lt;00:04, 8.13MB/s]
- 26%|##6       | 10.9M/41.5M [00:02&lt;00:03, 8.15MB/s]
- 29%|##9       | 12.1M/41.5M [00:02&lt;00:03, 8.48MB/s]
- 31%|###1      | 12.9M/41.5M [00:02&lt;00:03, 8.29MB/s]
- 33%|###3      | 13.8M/41.5M [00:02&lt;00:03, 8.27MB/s]
- 36%|###6      | 15.0M/41.5M [00:03&lt;00:03, 8.57MB/s]
- 38%|###8      | 15.8M/41.5M [00:03&lt;00:03, 8.34MB/s]
- 40%|####      | 16.8M/41.5M [00:03&lt;00:03, 8.57MB/s]
- 43%|####3     | 17.9M/41.5M [00:03&lt;00:02, 9.46MB/s]
- 45%|####5     | 18.8M/41.5M [00:03&lt;00:02, 8.12MB/s]
- 47%|####7     | 19.7M/41.5M [00:03&lt;00:02, 8.36MB/s]
- 50%|#####     | 20.8M/41.5M [00:03&lt;00:02, 9.24MB/s]
- 52%|#####2    | 21.8M/41.5M [00:03&lt;00:02, 8.00MB/s]
- 55%|#####4    | 22.6M/41.5M [00:03&lt;00:02, 8.19MB/s]
- 57%|#####7    | 23.8M/41.5M [00:04&lt;00:02, 8.39MB/s]
- 59%|#####9    | 24.7M/41.5M [00:04&lt;00:02, 8.13MB/s]
- 62%|######1   | 25.6M/41.5M [00:04&lt;00:01, 8.50MB/s]
- 64%|######4   | 26.7M/41.5M [00:04&lt;00:01, 9.23MB/s]
- 67%|######6   | 27.6M/41.5M [00:04&lt;00:01, 7.95MB/s]
- 69%|######8   | 28.5M/41.5M [00:04&lt;00:01, 8.39MB/s]
- 71%|#######1  | 29.6M/41.5M [00:04&lt;00:01, 9.13MB/s]
- 74%|#######3  | 30.5M/41.5M [00:04&lt;00:01, 7.92MB/s]
- 76%|#######5  | 31.5M/41.5M [00:05&lt;00:01, 8.38MB/s]
- 79%|#######8  | 32.6M/41.5M [00:05&lt;00:01, 9.13MB/s]
- 81%|########  | 33.5M/41.5M [00:05&lt;00:01, 7.92MB/s]
- 83%|########3 | 34.4M/41.5M [00:05&lt;00:00, 8.24MB/s]
- 86%|########5 | 35.6M/41.5M [00:05&lt;00:00, 8.34MB/s]
- 88%|########7 | 36.4M/41.5M [00:05&lt;00:00, 8.07MB/s]
- 90%|######### | 37.4M/41.5M [00:05&lt;00:00, 8.45MB/s]
- 93%|#########2| 38.5M/41.5M [00:05&lt;00:00, 8.47MB/s]
- 95%|#########4| 39.4M/41.5M [00:06&lt;00:00, 8.13MB/s]
- 97%|#########7| 40.3M/41.5M [00:06&lt;00:00, 8.62MB/s]
-100%|#########9| 41.4M/41.5M [00:06&lt;00:00, 9.35MB/s]
-100%|##########| 41.5M/41.5M [00:06&lt;00:00, 6.91MB/s]
+  0%|          | 16.0k/41.5M [00:00&lt;07:51, 92.3kB/s]
+  0%|          | 48.0k/41.5M [00:00&lt;04:57, 146kB/s]
+  0%|          | 96.0k/41.5M [00:00&lt;03:31, 205kB/s]
+  0%|          | 160k/41.5M [00:00&lt;02:40, 269kB/s]
+  1%|          | 312k/41.5M [00:00&lt;01:28, 487kB/s]
+  1%|1         | 608k/41.5M [00:01&lt;00:47, 900kB/s]
+  3%|2         | 1.18M/41.5M [00:01&lt;00:24, 1.73MB/s]
+  6%|5         | 2.34M/41.5M [00:01&lt;00:12, 3.36MB/s]
+  9%|9         | 3.81M/41.5M [00:01&lt;00:07, 5.01MB/s]
+ 13%|#2        | 5.29M/41.5M [00:01&lt;00:06, 6.14MB/s]
+ 16%|#6        | 6.76M/41.5M [00:01&lt;00:05, 6.91MB/s]
+ 20%|#9        | 8.23M/41.5M [00:02&lt;00:04, 7.45MB/s]
+ 23%|##3       | 9.70M/41.5M [00:02&lt;00:04, 7.81MB/s]
+ 27%|##6       | 11.2M/41.5M [00:02&lt;00:03, 8.05MB/s]
+ 30%|###       | 12.6M/41.5M [00:02&lt;00:03, 8.22MB/s]
+ 34%|###3      | 14.1M/41.5M [00:02&lt;00:03, 8.35MB/s]
+ 38%|###7      | 15.6M/41.5M [00:03&lt;00:03, 8.44MB/s]
+ 41%|####1     | 17.0M/41.5M [00:03&lt;00:03, 8.51MB/s]
+ 45%|####4     | 18.5M/41.5M [00:03&lt;00:02, 8.55MB/s]
+ 48%|####8     | 20.0M/41.5M [00:03&lt;00:02, 8.55MB/s]
+ 52%|#####1    | 21.4M/41.5M [00:03&lt;00:02, 8.57MB/s]
+ 55%|#####5    | 22.9M/41.5M [00:03&lt;00:02, 8.60MB/s]
+ 59%|#####8    | 24.4M/41.5M [00:04&lt;00:02, 8.61MB/s]
+ 62%|######2   | 25.8M/41.5M [00:04&lt;00:01, 8.61MB/s]
+ 66%|######5   | 27.3M/41.5M [00:04&lt;00:01, 8.63MB/s]
+ 69%|######9   | 28.8M/41.5M [00:04&lt;00:01, 8.63MB/s]
+ 73%|#######2  | 30.2M/41.5M [00:04&lt;00:01, 8.62MB/s]
+ 76%|#######6  | 31.7M/41.5M [00:04&lt;00:01, 8.62MB/s]
+ 80%|########  | 33.2M/41.5M [00:05&lt;00:01, 8.64MB/s]
+ 84%|########3 | 34.7M/41.5M [00:05&lt;00:00, 8.64MB/s]
+ 87%|########7 | 36.1M/41.5M [00:05&lt;00:00, 8.64MB/s]
+ 91%|######### | 37.6M/41.5M [00:05&lt;00:00, 9.48MB/s]
+ 94%|#########4| 39.0M/41.5M [00:05&lt;00:00, 10.1MB/s]
+ 97%|#########6| 40.0M/41.5M [00:05&lt;00:00, 9.90MB/s]
+ 99%|#########8| 41.0M/41.5M [00:06&lt;00:00, 8.46MB/s]
+100%|##########| 41.5M/41.5M [00:06&lt;00:00, 7.17MB/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 4f92c4efc..881256549 100644
--- a/docs/how_to/compile_models/from_paddle.html
+++ b/docs/how_to/compile_models/from_paddle.html
@@ -488,7 +488,7 @@ A quick solution is</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>TVM prediction top-1 id: 282, class name:  282: &#39;tiger cat&#39;,
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  14.825 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  11.758 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-paddle-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/16269b77359771348d507395692524cf/from_paddle.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">from_paddle.py</span></code></a></p>
diff --git a/docs/how_to/compile_models/from_pytorch.html b/docs/how_to/compile_models/from_pytorch.html
index 0a07f0233..fbc6a165c 100644
--- a/docs/how_to/compile_models/from_pytorch.html
+++ b/docs/how_to/compile_models/from_pytorch.html
@@ -409,9 +409,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]
- 37%|###7      | 16.6M/44.7M [00:00&lt;00:00, 174MB/s]
- 88%|########8 | 39.4M/44.7M [00:00&lt;00:00, 212MB/s]
-100%|##########| 44.7M/44.7M [00:00&lt;00:00, 208MB/s]
+ 44%|####4     | 19.8M/44.7M [00:00&lt;00:00, 206MB/s]
+100%|##########| 44.7M/44.7M [00:00&lt;00:00, 239MB/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 62e3d206e..c48919863 100644
--- a/docs/how_to/compile_models/from_tensorflow.html
+++ b/docs/how_to/compile_models/from_tensorflow.html
@@ -631,7 +631,7 @@ banana (score = 0.00022)
 desk (score = 0.00019)
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  51.541 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  2.880 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-tensorflow-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/7f1d3d1b878694c201c614c807cdebc8/from_tensorflow.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">from_tensorflow.py</span></code></a></p>
diff --git a/docs/how_to/compile_models/sg_execution_times.html b/docs/how_to/compile_models/sg_execution_times.html
index 022c42698..ffa167ceb 100644
--- a/docs/how_to/compile_models/sg_execution_times.html
+++ b/docs/how_to/compile_models/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-compile-models-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>06:16.676</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
+<p><strong>05:36.245</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 81%" />
@@ -330,44 +330,44 @@
 <col style="width: 8%" />
 </colgroup>
 <tbody>
-<tr class="row-odd"><td><p><a class="reference internal" href="from_tensorflow.html#sphx-glr-how-to-compile-models-from-tensorflow-py"><span class="std std-ref">Compile Tensorflow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tensorflow.py</span></code>)</p></td>
-<td><p>01:51.541</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="from_paddle.html#sphx-glr-how-to-compile-models-from-paddle-py"><span class="std std-ref">Compile PaddlePaddle Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_paddle.py</span></code>)</p></td>
+<td><p>01:11.758</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="from_paddle.html#sphx-glr-how-to-compile-models-from-paddle-py"><span class="std std-ref">Compile PaddlePaddle Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_paddle.py</span></code>)</p></td>
-<td><p>01:14.825</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="from_tensorflow.html#sphx-glr-how-to-compile-models-from-tensorflow-py"><span class="std std-ref">Compile Tensorflow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tensorflow.py</span></code>)</p></td>
+<td><p>01:02.880</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="from_darknet.html#sphx-glr-how-to-compile-models-from-darknet-py"><span class="std std-ref">Compile YOLO-V2 and YOLO-V3 in DarkNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_darknet.py</span></code>)</p></td>
-<td><p>00:55.758</p></td>
+<td><p>01:01.195</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="from_oneflow.html#sphx-glr-how-to-compile-models-from-oneflow-py"><span class="std std-ref">Compile OneFlow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_oneflow.py</span></code>)</p></td>
-<td><p>00:31.721</p></td>
+<td><p>00:34.356</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="from_tflite.html#sphx-glr-how-to-compile-models-from-tflite-py"><span class="std std-ref">Compile TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tflite.py</span></code>)</p></td>
-<td><p>00:24.401</p></td>
+<td><p>00:23.899</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="from_mxnet.html#sphx-glr-how-to-compile-models-from-mxnet-py"><span class="std std-ref">Compile MXNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_mxnet.py</span></code>)</p></td>
-<td><p>00:22.674</p></td>
+<td><p>00:23.092</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="from_coreml.html#sphx-glr-how-to-compile-models-from-coreml-py"><span class="std std-ref">Compile CoreML Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_coreml.py</span></code>)</p></td>
-<td><p>00:21.597</p></td>
+<td><p>00:21.837</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="from_pytorch.html#sphx-glr-how-to-compile-models-from-pytorch-py"><span class="std std-ref">Compile PyTorch Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_pytorch.py</span></code>)</p></td>
-<td><p>00:18.995</p></td>
+<td><p>00:20.501</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="from_keras.html#sphx-glr-how-to-compile-models-from-keras-py"><span class="std std-ref">Compile Keras Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_keras.py</span></code>)</p></td>
-<td><p>00:12.890</p></td>
+<td><p>00:14.328</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="from_onnx.html#sphx-glr-how-to-compile-models-from-onnx-py"><span class="std std-ref">Compile ONNX Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_onnx.py</span></code>)</p></td>
-<td><p>00:02.273</p></td>
+<td><p>00:02.398</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/deploy_models/deploy_model_on_android.html b/docs/how_to/deploy_models/deploy_model_on_android.html
index a846840f4..fec89d62b 100644
--- a/docs/how_to/deploy_models/deploy_model_on_android.html
+++ b/docs/how_to/deploy_models/deploy_model_on_android.html
@@ -648,7 +648,7 @@ to the remote android device.</p>
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  16.1693      16.3470      16.6185      15.5539       0.3461
+  16.5896      16.2511      19.4388      16.0828       0.9577
 </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 740c8575b..c5ae8e348 100644
--- a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
+++ b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
@@ -431,14 +431,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]
-  9%|9         | 15.8M/170M [00:00&lt;00:00, 166MB/s]
- 24%|##3       | 40.3M/170M [00:00&lt;00:00, 219MB/s]
- 38%|###8      | 65.3M/170M [00:00&lt;00:00, 239MB/s]
- 53%|#####3    | 90.5M/170M [00:00&lt;00:00, 249MB/s]
- 67%|######7   | 114M/170M [00:00&lt;00:00, 249MB/s]
- 81%|########1 | 138M/170M [00:00&lt;00:00, 234MB/s]
- 94%|#########4| 160M/170M [00:00&lt;00:00, 233MB/s]
-100%|##########| 170M/170M [00:00&lt;00:00, 233MB/s]
+ 11%|#1        | 19.1M/170M [00:00&lt;00:00, 201MB/s]
+ 26%|##6       | 44.6M/170M [00:00&lt;00:00, 239MB/s]
+ 42%|####1     | 71.0M/170M [00:00&lt;00:00, 257MB/s]
+ 57%|#####7    | 96.8M/170M [00:00&lt;00:00, 262MB/s]
+ 72%|#######2  | 123M/170M [00:00&lt;00:00, 265MB/s]
+ 87%|########7 | 148M/170M [00:00&lt;00:00, 265MB/s]
+100%|##########| 170M/170M [00:00&lt;00:00, 255MB/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;).
@@ -533,7 +532,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  53.141 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes  6.650 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-object-detection-pytorch-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/7795da4b258c8feff986668b95ef57ad/deploy_object_detection_pytorch.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_object_detection_pytorch.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_prequantized.html b/docs/how_to/deploy_models/deploy_prequantized.html
index 045a28641..0a045b2ef 100644
--- a/docs/how_to/deploy_models/deploy_prequantized.html
+++ b/docs/how_to/deploy_models/deploy_prequantized.html
@@ -472,7 +472,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, 164MB/s]
+100%|##########| 13.6M/13.6M [00:00&lt;00:00, 165MB/s]
 </pre></div>
 </div>
 </div>
@@ -561,7 +561,7 @@ output values are identical out of 1000 outputs from mobilenet v2.</p>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  90.5112      90.4950      95.3513      90.1404       0.5315
+  90.3740      90.2953      92.7453      90.1921       0.2703
 </pre></div>
 </div>
 <div class="admonition note">
@@ -600,7 +600,7 @@ This includes support for the VNNI 8 bit dot product instruction (CascadeLake or
 <div class="section" id="deploy-a-quantized-tflite-model">
 <h2>Deploy a quantized TFLite Model<a class="headerlink" href="#deploy-a-quantized-tflite-model" title="Permalink to this headline">¶</a></h2>
 <p>TODO</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  6.623 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  11.153 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-prequantized-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/fb8217c13f4351224c6cf3aacf1a87fc/deploy_prequantized.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_prequantized.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_prequantized_tflite.html b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
index 2a7c6984f..87fa5b63f 100644
--- a/docs/how_to/deploy_models/deploy_prequantized_tflite.html
+++ b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
@@ -565,7 +565,7 @@ TFLite Top-5 labels: [387 102 386 341 349]
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  120.0976     120.0079     125.1928     118.5039      0.6989
+  119.8275     119.7785     123.4728     119.0669      0.5085
 </pre></div>
 </div>
 <div class="admonition note">
@@ -593,7 +593,7 @@ network for ARM CPU</span></a>.</p></li>
 </ul>
 </div></blockquote>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  4.287 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  53.663 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-prequantized-tflite-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/56691c7a27d45da61d112276334640d3/deploy_prequantized_tflite.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_prequantized_tflite.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_quantized.html b/docs/how_to/deploy_models/deploy_quantized.html
index c33794ee7..f8339245f 100644
--- a/docs/how_to/deploy_models/deploy_quantized.html
+++ b/docs/how_to/deploy_models/deploy_quantized.html
@@ -504,7 +504,7 @@ for calibration. But the accuracy might be impacted.</p>
   DeprecationWarning,
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  10.894 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  16.057 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-quantized-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/7810ecf51bfc05f7d5e8a400ac3e815d/deploy_quantized.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_quantized.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
index a42ceaf03..6420f1557 100644
--- a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
+++ b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
@@ -436,22 +436,24 @@ 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]
-  5%|4         | 6550/132723 [00:00&lt;00:01, 65496.78KB/s]
- 11%|#1        | 15217/132723 [00:00&lt;00:01, 77948.57KB/s]
- 18%|#8        | 23894/132723 [00:00&lt;00:01, 81967.34KB/s]
- 25%|##4       | 32573/132723 [00:00&lt;00:01, 83868.38KB/s]
- 31%|###1      | 41301/132723 [00:00&lt;00:01, 85095.86KB/s]
- 38%|###7      | 50068/132723 [00:00&lt;00:00, 85967.07KB/s]
- 44%|####4     | 58769/132723 [00:00&lt;00:00, 86305.54KB/s]
- 51%|#####     | 67476/132723 [00:00&lt;00:00, 86545.70KB/s]
- 57%|#####7    | 76189/132723 [00:00&lt;00:00, 86726.95KB/s]
- 64%|######4   | 84993/132723 [00:01&lt;00:00, 87130.26KB/s]
- 71%|#######   | 93757/132723 [00:01&lt;00:00, 87285.01KB/s]
- 77%|#######7  | 102539/132723 [00:01&lt;00:00, 87444.67KB/s]
- 84%|########3 | 111284/132723 [00:01&lt;00:00, 87430.21KB/s]
- 90%|######### | 120091/132723 [00:01&lt;00:00, 87621.93KB/s]
- 97%|#########7| 128865/132723 [00:01&lt;00:00, 87655.84KB/s]
-100%|##########| 132723/132723 [00:01&lt;00:00, 85820.93KB/s]
+  4%|3         | 5071/132723 [00:00&lt;00:02, 50662.70KB/s]
+  9%|9         | 12436/132723 [00:00&lt;00:01, 64175.16KB/s]
+ 15%|#5        | 20022/132723 [00:00&lt;00:01, 69507.16KB/s]
+ 21%|##        | 27804/132723 [00:00&lt;00:01, 72787.15KB/s]
+ 27%|##6       | 35794/132723 [00:00&lt;00:01, 75349.49KB/s]
+ 33%|###2      | 43736/132723 [00:00&lt;00:01, 76730.93KB/s]
+ 39%|###9      | 51824/132723 [00:00&lt;00:01, 78085.74KB/s]
+ 45%|####5     | 59794/132723 [00:00&lt;00:00, 78594.38KB/s]
+ 51%|#####1    | 67751/132723 [00:00&lt;00:00, 78896.84KB/s]
+ 57%|#####7    | 75700/132723 [00:01&lt;00:00, 79074.91KB/s]
+ 63%|######3   | 83666/132723 [00:01&lt;00:00, 79247.79KB/s]
+ 69%|######9   | 91675/132723 [00:01&lt;00:00, 79502.09KB/s]
+ 75%|#######5  | 99626/132723 [00:01&lt;00:00, 75596.34KB/s]
+ 81%|########1 | 107597/132723 [00:01&lt;00:00, 76784.59KB/s]
+ 87%|########6 | 115308/132723 [00:01&lt;00:00, 76536.68KB/s]
+ 93%|#########2| 123169/132723 [00:01&lt;00:00, 77135.39KB/s]
+ 99%|#########8| 131209/132723 [00:01&lt;00:00, 78100.42KB/s]
+100%|##########| 132723/132723 [00:01&lt;00:00, 76352.62KB/s]
 </pre></div>
 </div>
 <p>Create TVM runtime and do inference
@@ -494,7 +496,7 @@ Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from h
 <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
 </pre></div>
 </div>
-<img src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" srcset="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" alt="deploy ssd gluoncv" class = "sphx-glr-single-img"/><p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  20.991 seconds)</p>
+<img src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" srcset="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" alt="deploy ssd gluoncv" class = "sphx-glr-single-img"/><p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  30.930 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-ssd-gluoncv-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/cccb17d28e5e8b2e94ea8cd5ec59f6ed/deploy_ssd_gluoncv.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_ssd_gluoncv.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/sg_execution_times.html b/docs/how_to/deploy_models/sg_execution_times.html
index d07dde852..2f2e44f3b 100644
--- a/docs/how_to/deploy_models/sg_execution_times.html
+++ b/docs/how_to/deploy_models/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-deploy-models-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>10:26.189</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
+<p><strong>10:52.300</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 86%" />
@@ -331,31 +331,31 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="deploy_object_detection_pytorch.html#sphx-glr-how-to-deploy-models-deploy-object-detection-pytorch-py"><span class="std std-ref">Compile PyTorch Object Detection Models</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_object_detection_pytorch.py</span></code>)</p></td>
-<td><p>02:53.141</p></td>
+<td><p>03:06.650</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="deploy_ssd_gluoncv.html#sphx-glr-how-to-deploy-models-deploy-ssd-gluoncv-py"><span class="std std-ref">Deploy Single Shot Multibox Detector(SSD) model</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_ssd_gluoncv.py</span></code>)</p></td>
-<td><p>02:20.991</p></td>
+<td><p>02:30.930</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="deploy_prequantized_tflite.html#sphx-glr-how-to-deploy-models-deploy-prequantized-tflite-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM - Part 3 (TFLite)</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized_tflite.py</span></code>)</p></td>
-<td><p>02:04.287</p></td>
+<td><p>01:53.663</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="deploy_quantized.html#sphx-glr-how-to-deploy-models-deploy-quantized-py"><span class="std std-ref">Deploy a Quantized Model on Cuda</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_quantized.py</span></code>)</p></td>
-<td><p>01:10.894</p></td>
+<td><p>01:16.057</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="deploy_prequantized.html#sphx-glr-how-to-deploy-models-deploy-prequantized-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized.py</span></code>)</p></td>
-<td><p>01:06.623</p></td>
+<td><p>01:11.153</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="deploy_model_on_android.html#sphx-glr-how-to-deploy-models-deploy-model-on-android-py"><span class="std std-ref">Deploy the Pretrained Model on Android</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_android.py</span></code>)</p></td>
-<td><p>00:28.055</p></td>
+<td><p>00:31.506</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="deploy_model_on_rasp.html#sphx-glr-how-to-deploy-models-deploy-model-on-rasp-py"><span class="std std-ref">Deploy the Pretrained Model on Raspberry Pi</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_rasp.py</span></code>)</p></td>
-<td><p>00:22.191</p></td>
+<td><p>00:22.335</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="deploy_sparse.html#sphx-glr-how-to-deploy-models-deploy-sparse-py"><span class="std std-ref">Deploy a Hugging Face Pruned Model on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_sparse.py</span></code>)</p></td>
diff --git a/docs/how_to/extend_tvm/bring_your_own_datatypes.html b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
index 0f35c1a58..64dda79f9 100644
--- a/docs/how_to/extend_tvm/bring_your_own_datatypes.html
+++ b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
@@ -604,7 +604,7 @@ In this alpha state of the Bring Your Own Datatypes framework, we have not imple
 <span class="n">module</span><span class="p">,</span> <a href="https://docs.python.org/3/library/stdtypes.html#dict" title="builtins.dict" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">params</span></a> <span class="o">=</span> <span class="n">get_mobilenet</span><span class="p">()</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zipeb183f62-1237-426b-9e46-3f1ba6fa8aa8 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.zip2c1d8a17-882a-421e-ac8f-235092456df7 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 3ccbfe068..a81eefe4d 100644
--- a/docs/how_to/extend_tvm/sg_execution_times.html
+++ b/docs/how_to/extend_tvm/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-extend-tvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:39.882</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
+<p><strong>00:42.240</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 84%" />
@@ -331,19 +331,19 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="bring_your_own_datatypes.html#sphx-glr-how-to-extend-tvm-bring-your-own-datatypes-py"><span class="std std-ref">Bring Your Own Datatypes to TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">bring_your_own_datatypes.py</span></code>)</p></td>
-<td><p>00:36.776</p></td>
+<td><p>00:38.948</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="use_pass_instrument.html#sphx-glr-how-to-extend-tvm-use-pass-instrument-py"><span class="std std-ref">How to Use TVM Pass Instrument</span></a> (<code class="docutils literal notranslate"><span class="pre">use_pass_instrument.py</span></code>)</p></td>
-<td><p>00:02.184</p></td>
+<td><p>00:02.326</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="use_pass_infra.html#sphx-glr-how-to-extend-tvm-use-pass-infra-py"><span class="std std-ref">How to Use TVM Pass Infra</span></a> (<code class="docutils literal notranslate"><span class="pre">use_pass_infra.py</span></code>)</p></td>
-<td><p>00:00.915</p></td>
+<td><p>00:00.959</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="low_level_custom_pass.html#sphx-glr-how-to-extend-tvm-low-level-custom-pass-py"><span class="std std-ref">Writing a Customized Pass</span></a> (<code class="docutils literal notranslate"><span class="pre">low_level_custom_pass.py</span></code>)</p></td>
-<td><p>00:00.006</p></td>
+<td><p>00:00.007</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/extend_tvm/use_pass_instrument.html b/docs/how_to/extend_tvm/use_pass_instrument.html
index 2f73af877..78c70572b 100644
--- a/docs/how_to/extend_tvm/use_pass_instrument.html
+++ b/docs/how_to/extend_tvm/use_pass_instrument.html
@@ -507,10 +507,10 @@ profile the execution time of each passes.</p>
 </pre></div>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 6412us [6412us] (45.81%; 45.81%)
-FoldScaleAxis: 7584us [6us] (54.19%; 54.19%)
-        FoldConstant: 7577us [1584us] (54.14%; 99.92%)
-                InferType: 5993us [5993us] (42.82%; 79.09%)
+InferType: 6945us [6945us] (45.91%; 45.91%)
+FoldScaleAxis: 8183us [8us] (54.09%; 54.09%)
+        FoldConstant: 8175us [1611us] (54.04%; 99.90%)
+                InferType: 6563us [6563us] (43.38%; 80.29%)
 </pre></div>
 </div>
 </div>
@@ -532,10 +532,10 @@ Refer to following sections and <a class="reference internal" href="../../refere
 </pre></div>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 6098us [6098us] (43.46%; 43.46%)
-FoldScaleAxis: 7934us [5us] (56.54%; 56.54%)
-        FoldConstant: 7929us [1551us] (56.51%; 99.94%)
-                InferType: 6378us [6378us] (45.45%; 80.44%)
+InferType: 6575us [6575us] (45.20%; 45.20%)
+FoldScaleAxis: 7971us [5us] (54.80%; 54.80%)
+        FoldConstant: 7966us [1607us] (54.76%; 99.93%)
+                InferType: 6359us [6359us] (43.72%; 79.83%)
 </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 4972f6893..66949081a 100644
--- a/docs/how_to/optimize_operators/opt_conv_cuda.html
+++ b/docs/how_to/optimize_operators/opt_conv_cuda.html
@@ -556,7 +556,7 @@ latency of convolution.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Convolution: </span><span class="si">%f</span><span class="s2"> ms&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span> <span class="o">*</span> <span cl [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 48.067359 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 33.974204 ms
 </pre></div>
 </div>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-optimize-operators-opt-conv-cuda-py">
diff --git a/docs/how_to/optimize_operators/opt_conv_tensorcore.html b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
index 6f8b6a07f..91ba6e3a7 100644
--- a/docs/how_to/optimize_operators/opt_conv_tensorcore.html
+++ b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
@@ -898,7 +898,7 @@ be able to run on our build server</p>
     <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;conv2d with tensor core: </span><span class="si">%f</span><span class="s2"> ms&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span> <span class="o">* [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 10.200932 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 13.367764 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 af309b918..79b033b2f 100644
--- a/docs/how_to/optimize_operators/opt_gemm.html
+++ b/docs/how_to/optimize_operators/opt_gemm.html
@@ -453,8 +453,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Baseline: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.019200
-Baseline: 3.426513
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.019477
+Baseline: 3.454278
 </pre></div>
 </div>
 <p>In TVM, we can always inspect lower level IR to debug or optimize our schedule.
@@ -514,7 +514,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt1: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.304981
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.325338
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -581,7 +581,7 @@ vastly.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt2: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.337980
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.349241
 </pre></div>
 </div>
 <p>Here is the generated IR after vectorization.</p>
@@ -642,7 +642,7 @@ the access pattern for A matrix is more cache friendly.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt3: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.120044
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.123532
 </pre></div>
 </div>
 <p>Here is the generated IR after loop permutation.</p>
@@ -725,7 +725,7 @@ flattening.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt4: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.111097
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.111668
 </pre></div>
 </div>
 <p>Here is the generated IR after array packing.</p>
@@ -811,7 +811,7 @@ write to C when all the block results are ready.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt5: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.111830
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.111557
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -901,7 +901,7 @@ write to C when all the block results are ready.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt6: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">opt6_time</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.145898
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.145333
 </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 140ae1220..bc3955724 100644
--- a/docs/how_to/optimize_operators/sg_execution_times.html
+++ b/docs/how_to/optimize_operators/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-optimize-operators-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:34.837</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
+<p><strong>00:35.422</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -331,15 +331,15 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="opt_gemm.html#sphx-glr-how-to-optimize-operators-opt-gemm-py"><span class="std std-ref">How to optimize GEMM on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_gemm.py</span></code>)</p></td>
-<td><p>00:32.502</p></td>
+<td><p>00:32.972</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="opt_conv_tensorcore.html#sphx-glr-how-to-optimize-operators-opt-conv-tensorcore-py"><span class="std std-ref">How to optimize convolution using TensorCores</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_conv_tensorcore.py</span></code>)</p></td>
-<td><p>00:01.297</p></td>
+<td><p>00:01.393</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="opt_conv_cuda.html#sphx-glr-how-to-optimize-operators-opt-conv-cuda-py"><span class="std std-ref">How to optimize convolution on GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_conv_cuda.py</span></code>)</p></td>
-<td><p>00:01.039</p></td>
+<td><p>00:01.057</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
index 6b0623d8d..5b6ff5439 100644
--- a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
+++ b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-tune-with-autoscheduler-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>05:14.582</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
+<p><strong>05:34.610</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 85%" />
@@ -331,27 +331,27 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="tune_conv2d_layer_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-conv2d-layer-cuda-py"><span class="std std-ref">Auto-scheduling a Convolution Layer for GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_layer_cuda.py</span></code>)</p></td>
-<td><p>02:33.135</p></td>
+<td><p>02:51.922</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tune_network_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-x86-py"><span class="std std-ref">Auto-scheduling a Neural Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_x86.py</span></code>)</p></td>
-<td><p>01:21.920</p></td>
+<td><p>01:22.520</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="tune_network_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-cuda-py"><span class="std std-ref">Auto-scheduling a Neural Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_cuda.py</span></code>)</p></td>
-<td><p>00:43.915</p></td>
+<td><p>00:44.014</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tune_sparse_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-sparse-x86-py"><span class="std std-ref">Auto-scheduling Sparse Matrix Multiplication on CPU with Custom Sketch Rule</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_sparse_x86.py</span></code>)</p></td>
-<td><p>00:18.256</p></td>
+<td><p>00:18.076</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="tune_network_mali.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-mali-py"><span class="std std-ref">Auto-scheduling a Neural Network for mali GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_mali.py</span></code>)</p></td>
-<td><p>00:08.783</p></td>
+<td><p>00:09.108</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tune_network_arm.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-arm-py"><span class="std std-ref">Auto-scheduling a Neural Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_arm.py</span></code>)</p></td>
-<td><p>00:08.573</p></td>
+<td><p>00:08.971</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.html b/docs/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.html
index 354a442f9..1c04b5523 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
@@ -487,786 +487,482 @@ cooperative fetching, unrolling and operator fusion.</p>
   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; = 28;
-  allocate(conv2d_nchw: Pointer(local float32), float32, [16]), storage_scope = local;
-  allocate(pad_temp.shared: Pointer(shared float32), float32, [108]), storage_scope = shared;
-  allocate(kernel.shared: Pointer(shared float32), float32, [4608]), storage_scope = shared;
-  attr [IterVar(threadIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56 {
-    conv2d_nchw_1: Buffer(conv2d_nchw, float32, [16], [], scope=&quot;local&quot;, align=16)[0] = 0f32
-    conv2d_nchw_1[4] = 0f32
-    conv2d_nchw_1[8] = 0f32
-    conv2d_nchw_1[12] = 0f32
+  allocate(conv2d_nchw: Pointer(local float32), float32, [14]), storage_scope = local;
+  allocate(pad_temp.shared: Pointer(shared float32), float32, [72]), storage_scope = shared;
+  allocate(kernel.shared: Pointer(shared float32), float32, [3072]), storage_scope = shared;
+  attr [IterVar(threadIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64 {
+    conv2d_nchw_1: Buffer(conv2d_nchw, float32, [14], [], scope=&quot;local&quot;, align=32)[0] = 0f32
     conv2d_nchw_1[1] = 0f32
-    conv2d_nchw_1[5] = 0f32
-    conv2d_nchw_1[9] = 0f32
-    conv2d_nchw_1[13] = 0f32
     conv2d_nchw_1[2] = 0f32
-    conv2d_nchw_1[6] = 0f32
-    conv2d_nchw_1[10] = 0f32
-    conv2d_nchw_1[14] = 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[15] = 0f32
-    for (rc.outer.outer: int32, 0, 128) {
-      let cse_var_1: int32 = (rc.outer.outer*36)
-       {
-        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, [108], [], scope=&quot;shared&quot;)[threadIdx.x_1] = @tir.if_then_else(((((3 &lt;= floormod(threadIdx.x_1, 27)) &amp;&amp; (floormod(threadIdx.x_1, 27) &lt; 24)) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod(threadIdx.x_1, 3)) &lt; 8)), data[((((((rc.outer.outer*196) + (floordiv(threadIdx.x_1, 27)*49)) + (floordiv(floormod(threadIdx.x_1, 27), 3)*7))  [...]
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        if @tir.likely((threadIdx.x_1 &lt; 52), dtype=bool) {
-          pad_temp.shared_1[(threadIdx.x_1 + 56)] = @tir.if_then_else(((((3 &lt;= floormod((threadIdx.x_1 + 2), 27)) &amp;&amp; (floormod((threadIdx.x_1 + 2), 27) &lt; 24)) &amp;&amp; (1 &lt;= (floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)))) &amp;&amp; ((floormod(blockIdx.x, 7) + floormod((threadIdx.x_1 + 2), 3)) &lt; 8)), data[((((((rc.outer.outer*196) + (floordiv((threadIdx.x_1 + 56), 27)*49)) + (floordiv(floormod((threadIdx.x_1 + 2), 27), 3)*7)) + floormod(blockIdx.x, 7) [...]
-        }
-        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, [4608], [], scope=&quot;shared&quot;)[threadIdx.x_2] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 56), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 112), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 168), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 224), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 280), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 336), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 392), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 448), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-        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)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 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 + 560)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 560), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 616), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 672), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 728), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 784), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 840), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 896), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 952), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-        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)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 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 + 1064)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1064), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 1120), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 1176), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 1232), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 1288), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 1344), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 1400), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-        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)*589824) + (floordiv((threadIdx.x_2 + 1456), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 1512)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 193536)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 1568)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1568), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 1624)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1624), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 1680)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1680), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 1736)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1736), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1792), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 1848)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1848), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 1904)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1904), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 1960)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1960), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2016)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 258048)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2072)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2072), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2128)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2128), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2184)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2184), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2240), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2296)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2296), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2352)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2352), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2408)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2408), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2464)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2464), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2520)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 322560)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2576)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2576), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2632)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2632), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2688)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2688), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2744)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2744), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2800)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2800), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2856)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2856), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2912)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2912), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 2968)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2968), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3024)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 387072)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3080)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3080), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3136)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3136), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3192)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3192), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3248)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3248), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3304)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3304), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3360)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3360), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3416)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3416), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3472)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3472), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3528)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 451584)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3584)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3584), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3640)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3640), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3696)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3696), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3752)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3752), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3808)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3808), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3864)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3864), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3920)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3920), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 3976)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3976), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 4032)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 516096)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 4088)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4088), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 4144)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4144), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 4), 36))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 4200)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4200), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 24), 36), 9)*9)) + floormod((threadIdx.x_2 + 6), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 4256)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4256), 36)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 8), 36))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 4312)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4312), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 28), 36), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 4368)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4368), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 36), 9)*9)) + floormod((threadIdx.x_2 + 3), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 4424)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4424), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 36), 9)*9)) + floormod((threadIdx.x_2 + 5), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 4480)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4480), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 36), 9)*9)) + floormod((threadIdx.x_2 + 7), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 56;
-        kernel.shared_1[(threadIdx.x_2 + 4536)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 36)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 36)) + 580608)]
-        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; 16), dtype=bool) {
-          kernel.shared_1[(threadIdx.x_2 + 4592)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 4592), 36)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 20), 36), 9)*9)) + floormod((threadIdx.x_2 + 2), 9))]
+    conv2d_nchw_1[12] = 0f32
+    conv2d_nchw_1[13] = 0f32
+    for (rc.outer.outer: int32, 0, 64) {
+      for (ry.outer.outer: int32, 0, 3) {
+        let cse_var_2: int32 = (rc.outer.outer*72)
+        let cse_var_1: int32 = (ry.outer.outer*3)
+         {
+          attr [IterVar(threadIdx.x_1: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64 {
+            if @tir.likely((threadIdx.x_1 &lt; 18), dtype=bool) {
+              pad_temp.shared_1: Buffer(pad_temp.shared, float32, [72], [], scope=&quot;shared&quot;)[(threadIdx.x_1*4)] = @tir.if_then_else(((((1 &lt;= (ry.outer.outer + floormod(blockIdx.x, 7))) &amp;&amp; ((ry.outer.outer + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1*4), 9))) &amp;&amp; (floormod((threadIdx.x_1*4), 9) &lt; 8)), data[((((((rc.outer.outer*392) + (floordiv((threadIdx.x_1*4), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) +  [...]
+            }
+            if @tir.likely((threadIdx.x_1 &lt; 18), dtype=bool) {
+              pad_temp.shared_1[((threadIdx.x_1*4) + 1)] = @tir.if_then_else(((((1 &lt;= (ry.outer.outer + floormod(blockIdx.x, 7))) &amp;&amp; ((ry.outer.outer + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod(((threadIdx.x_1*4) + 1), 9))) &amp;&amp; (floormod(((threadIdx.x_1*4) + 1), 9) &lt; 8)), data[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 1), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 1), 9)) - 8)], 0 [...]
+            }
+            if @tir.likely((threadIdx.x_1 &lt; 18), dtype=bool) {
+              pad_temp.shared_1[((threadIdx.x_1*4) + 2)] = @tir.if_then_else(((((1 &lt;= (ry.outer.outer + floormod(blockIdx.x, 7))) &amp;&amp; ((ry.outer.outer + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod(((threadIdx.x_1*4) + 2), 9))) &amp;&amp; (floormod(((threadIdx.x_1*4) + 2), 9) &lt; 8)), data[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 2), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 2), 9)) - 8)], 0 [...]
+            }
+            if @tir.likely((threadIdx.x_1 &lt; 18), dtype=bool) {
+              pad_temp.shared_1[((threadIdx.x_1*4) + 3)] = @tir.if_then_else(((((1 &lt;= (ry.outer.outer + floormod(blockIdx.x, 7))) &amp;&amp; ((ry.outer.outer + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod(((threadIdx.x_1*4) + 3), 9))) &amp;&amp; (floormod(((threadIdx.x_1*4) + 3), 9) &lt; 8)), data[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 3), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 3), 9)) - 8)], 0 [...]
+            }
+          }
+          attr [IterVar(threadIdx.x_2: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1: Buffer(kernel.shared, float32, [3072], [], scope=&quot;shared&quot;)[threadIdx.x_2] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 64)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 64), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 128)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 128), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 192)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 36864)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 256)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 256), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 320)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 320), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 384)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 73728)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 448), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 512)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 512), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 576)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 110592)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 640)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 640), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 704)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 704), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 768)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 147456)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 832)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 832), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 896), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 960)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 184320)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1024)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1024), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1088)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1088), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1152)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 221184)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1216)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1216), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1280)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1280), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 258048)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1408)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1408), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1472)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1472), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1536)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 294912)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1600)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1600), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1664)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1664), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1728)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 331776)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1792), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1856)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1856), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1920)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 368640)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 1984)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1984), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2048)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2048), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2112)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 405504)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2176)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2176), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2240), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2304)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 442368)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2368)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2368), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2432)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2432), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2496)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 479232)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2560)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2560), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2624)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2624), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2688)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 516096)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2752)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2752), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2816)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2816), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2880)] = kernel[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 552960)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 2944)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2944), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
+          kernel.shared_1[(threadIdx.x_2 + 3008)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3008), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[0]*kernel.shared_1[(threadIdx.x*48)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[1]*kernel.shared_1[(threadIdx.x*48)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[2]*kernel.shared_1[(threadIdx.x*48)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[3]*kernel.shared_1[(threadIdx.x*48)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[4]*kernel.shared_1[(threadIdx.x*48)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[5]*kernel.shared_1[(threadIdx.x*48)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[6]*kernel.shared_1[(threadIdx.x*48)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[0]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[54]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[63]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[54]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[63]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+          conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+          conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+          conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+          conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[62]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+          conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[71]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+          conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+          conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+          conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+          conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+          conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+          conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[62]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+          conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[71]*kernel.shared_1[((threadIdx.x*48) + 47)]))
         }
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[(floordiv(threadIdx.x, 7)*144)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1152)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2304)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3456)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 36)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1188)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2340)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3492)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1153)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2305)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3457)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 37)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1189)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2341)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3493)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1154)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2306)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3458)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 38)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1190)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2342)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3494)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 72)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1224)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2376)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3528)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 108)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1260)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2412)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(floormod(threadIdx.x, 7)*3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3564)]))
-        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)*144) + 73)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1225)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2377)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3529)]))
-        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)*144) + 109)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1261)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2413)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 1)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3565)]))
-        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)*144) + 74)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1226)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2378)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3530)]))
-        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)*144) + 110)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1262)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2414)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 2)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3566)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1155)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2307)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3459)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 39)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1191)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2343)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3495)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 4)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1156)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2308)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3460)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 40)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1192)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2344)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3496)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 5)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1157)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2309)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3461)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 41)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1193)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2345)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3497)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 75)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1227)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2379)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3531)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 111)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1263)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2415)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 3)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3567)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 76)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1228)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2380)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3532)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 112)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1264)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2416)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 4)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3568)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 77)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1229)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2381)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3533)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 113)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1265)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2417)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 5)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3569)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 6)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1158)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2310)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3462)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 42)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1194)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2346)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3498)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 7)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1159)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2311)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3463)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 43)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1195)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2347)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3499)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 8)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1160)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2312)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3464)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 44)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1196)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2348)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3500)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 78)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1230)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2382)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3534)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 114)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1266)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2418)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 6)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3570)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 79)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1231)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2383)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3535)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 115)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1267)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2419)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 7)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3571)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 80)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1232)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2384)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3536)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 116)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1268)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2420)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 8)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3572)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 9)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1161)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2313)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3465)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 45)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1197)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2349)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3501)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 10)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1162)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2314)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3466)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 46)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1198)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2350)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3502)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 11)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1163)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2315)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3467)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 47)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1199)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2351)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3503)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 81)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1233)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2385)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3537)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 117)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1269)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2421)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3573)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 82)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1234)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2386)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3538)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 118)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1270)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2422)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 28)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3574)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 83)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1235)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2387)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3539)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 119)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1271)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2423)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 29)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3575)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 12)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1164)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2316)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3468)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 48)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1200)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2352)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3504)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 13)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1165)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2317)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3469)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 49)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1201)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2353)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3505)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 14)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1166)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2318)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3470)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 50)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1202)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2354)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3506)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 84)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1236)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2388)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3540)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 120)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1272)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2424)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 30)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3576)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 85)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1237)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2389)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3541)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 121)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1273)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2425)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 31)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3577)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 86)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1238)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2390)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3542)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 122)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1274)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2426)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 32)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3578)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 15)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1167)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2319)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3471)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 51)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1203)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2355)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3507)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 16)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1168)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2320)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3472)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 52)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1204)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2356)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3508)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 17)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1169)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2321)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3473)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 53)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1205)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2357)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3509)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 87)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1239)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2391)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3543)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 123)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1275)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2427)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 33)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3579)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 88)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1240)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2392)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3544)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 124)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1276)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2428)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 34)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3580)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 89)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1241)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2393)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3545)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 125)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1277)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2429)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 35)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3581)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 18)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1170)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2322)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3474)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 54)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1206)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2358)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3510)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 19)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1171)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2323)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3475)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 55)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1207)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2359)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3511)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 20)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1172)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2324)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3476)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 56)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1208)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2360)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3512)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 90)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1242)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2394)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3546)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 126)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1278)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2430)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3582)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 91)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1243)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2395)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3547)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 127)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1279)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2431)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 55)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3583)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 92)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1244)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2396)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3548)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 128)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1280)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2432)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 56)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3584)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 21)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1173)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2325)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3477)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 57)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1209)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2361)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3513)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 22)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1174)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2326)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3478)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 58)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1210)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2362)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3514)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 23)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1175)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2327)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3479)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 59)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1211)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2363)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3515)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 93)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1245)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2397)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3549)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 129)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1281)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2433)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 57)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3585)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 94)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1246)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2398)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3550)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 130)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1282)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2434)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 58)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3586)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 95)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1247)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2399)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3551)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 131)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1283)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2435)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 59)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3587)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 24)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1176)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2328)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3480)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 60)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1212)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2364)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3516)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 25)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1177)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2329)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3481)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 61)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1213)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2365)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3517)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 26)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1178)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2330)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3482)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 62)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1214)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2366)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3518)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 96)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1248)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2400)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3552)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 132)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1284)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2436)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 60)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3588)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 97)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1249)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2401)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3553)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 133)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1285)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2437)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 61)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3589)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 98)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1250)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2402)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3554)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 134)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1286)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2438)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 62)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3590)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 27)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1179)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2331)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3483)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 63)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1215)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2367)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3519)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 28)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1180)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2332)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3484)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 64)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1216)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2368)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3520)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 29)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1181)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2333)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3485)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 65)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1217)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2369)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3521)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 99)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1251)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2403)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3555)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 135)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1287)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2439)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 81)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3591)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 100)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1252)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2404)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3556)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 136)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1288)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2440)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 82)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3592)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 101)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1253)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2405)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3557)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 137)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1289)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2441)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 83)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3593)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 30)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1182)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2334)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3486)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 66)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1218)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2370)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3522)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 31)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1183)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2335)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3487)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 67)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1219)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2371)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3523)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 32)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1184)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2336)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3488)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 68)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1220)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2372)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3524)]))
-        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)*144) + 102)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1254)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2406)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3558)]))
-        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)*144) + 138)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1290)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2442)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 84)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3594)]))
-        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)*144) + 103)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1255)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2407)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3559)]))
-        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)*144) + 139)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1291)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2443)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 85)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3595)]))
-        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)*144) + 104)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1256)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2408)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3560)]))
-        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)*144) + 140)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1292)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2444)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 86)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3596)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 33)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1185)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2337)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3489)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 69)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1221)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2373)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3525)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 34)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1186)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2338)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3490)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 70)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1222)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2374)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3526)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 35)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1187)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2339)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3491)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 71)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1223)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2375)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3527)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 105)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1257)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2409)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3561)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 141)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1293)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2445)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 87)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3597)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 106)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1258)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2410)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3562)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 142)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1294)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2446)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 88)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3598)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 107)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1259)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2411)]))
-        conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3563)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 143)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 1295)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 2447)]))
-        conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[((floormod(threadIdx.x, 7)*3) + 89)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + 3599)]))
       }
     }
-    for (i1.inner: int32, 0, 4) {
-      compute[(((((floordiv(blockIdx.x, 7)*6272) + (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)*128) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
-      compute[((((((floordiv(blockIdx.x, 7)*6272) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + (floormod(threadIdx.x, 7)*7)) + floormod(blockIdx.x, 7)) + 1568)] = max((conv2d_nchw_1[(i1.inner + 4)] + bias[((((floordiv(blockIdx.x, 7)*128) + (floordiv(threadIdx.x, 7)*4)) + i1.inner) + 32)]), 0f32)
-      compute[((((((floordiv(blockIdx.x, 7)*6272) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + (floormod(threadIdx.x, 7)*7)) + floormod(blockIdx.x, 7)) + 3136)] = max((conv2d_nchw_1[(i1.inner + 8)] + bias[((((floordiv(blockIdx.x, 7)*128) + (floordiv(threadIdx.x, 7)*4)) + i1.inner) + 64)]), 0f32)
-      compute[((((((floordiv(blockIdx.x, 7)*6272) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + (floormod(threadIdx.x, 7)*7)) + floormod(blockIdx.x, 7)) + 4704)] = max((conv2d_nchw_1[(i1.inner + 12)] + bias[((((floordiv(blockIdx.x, 7)*128) + (floordiv(threadIdx.x, 7)*4)) + i1.inner) + 96)]), 0f32)
+    for (i1.inner: int32, 0, 2) {
+      for (i3.inner: int32, 0, 7) {
+        compute[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + i3.inner)] = max((conv2d_nchw_1[((i1.inner*7) + i3.inner)] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
+      }
     }
   }
 }
@@ -1303,7 +999,7 @@ cooperative fetching, unrolling and operator fusion.</p>
 <span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.417 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.364 ms
 </pre></div>
 </div>
 </div>
@@ -1332,35 +1028,35 @@ conv2d_nchw_nn_o_i, conv2d_nchw_nn_i = s[conv2d_nchw].split(conv2d_nchw_nn, fact
 conv2d_nchw_nn_o_o_i, conv2d_nchw_nn_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_i, factor=1)
 conv2d_nchw_nn_o_o_o_i, conv2d_nchw_nn_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_i, factor=1)
 conv2d_nchw_nn_o_o_o_o, conv2d_nchw_nn_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_o_i, factor=1)
-conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=2)
+conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=1)
 conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=2)
-conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=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=4)
+conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=64)
+conv2d_nchw_ff_o_o_o_o, conv2d_nchw_ff_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_o_i, factor=1)
 conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=1)
 conv2d_nchw_yy_o_o_i, conv2d_nchw_yy_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_i, factor=1)
-conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_i, factor=7)
+conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_i, factor=1)
 conv2d_nchw_yy_o_o_o_o, conv2d_nchw_yy_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_o_i, factor=1)
 conv2d_nchw_xx_o_i, conv2d_nchw_xx_i = s[conv2d_nchw].split(conv2d_nchw_xx, factor=1)
-conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=1)
+conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=7)
 conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=1)
 conv2d_nchw_xx_o_o_o_o, conv2d_nchw_xx_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_o_i, factor=1)
-conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=1)
+conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=2)
 conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=4)
 conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=1)
-conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=3)
-conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=3)
-conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=1)
+conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=1)
+conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=1)
+conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=3)
 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=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=4)
+compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=2)
+compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=64)
+compute_i1_o_o_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=1)
 compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, factor=1)
-compute_i2_o_o_i, compute_i2_o_i = s[compute].split(compute_i2_o_i, factor=7)
+compute_i2_o_o_i, compute_i2_o_i = s[compute].split(compute_i2_o_i, factor=1)
 compute_i2_o_o_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=1)
-compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=1)
+compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=7)
 compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=1)
 compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=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)
@@ -1381,14 +1077,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=56)
+kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=64)
 s[kernel_shared].bind(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis(&quot;threadIdx.x&quot;))
 pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[pad_temp_shared].fuse(pad_temp_shared_ax0, pad_temp_shared_ax1, pad_temp_shared_ax2, pad_temp_shared_ax3)
-pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
+pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=4)
 s[pad_temp_shared].vectorize(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=56)
+pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=64)
 s[pad_temp_shared].bind(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis(&quot;threadIdx.x&quot;))
-s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, &quot;auto_unroll_max_step&quot;, 1024)
+s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, &quot;auto_unroll_max_step&quot;, 512)
 s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, &quot;unroll_explicit&quot;, True)
 
 CUDA source code:
@@ -1406,700 +1102,430 @@ CUDA source code:
   #define int64_t long long
   #define uint64_t unsigned long long
 #endif
-extern &quot;C&quot; __global__ void __launch_bounds__(56) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
-  float conv2d_nchw[16];
-  __shared__ float pad_temp_shared[108];
-  __shared__ float kernel_shared[4608];
+extern &quot;C&quot; __global__ void __launch_bounds__(64) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
+  float conv2d_nchw[14];
+  __shared__ float pad_temp_shared[72];
+  __shared__ float kernel_shared[3072];
   conv2d_nchw[0] = 0.000000e+00f;
-  conv2d_nchw[4] = 0.000000e+00f;
-  conv2d_nchw[8] = 0.000000e+00f;
-  conv2d_nchw[12] = 0.000000e+00f;
   conv2d_nchw[1] = 0.000000e+00f;
-  conv2d_nchw[5] = 0.000000e+00f;
-  conv2d_nchw[9] = 0.000000e+00f;
-  conv2d_nchw[13] = 0.000000e+00f;
   conv2d_nchw[2] = 0.000000e+00f;
-  conv2d_nchw[6] = 0.000000e+00f;
-  conv2d_nchw[10] = 0.000000e+00f;
-  conv2d_nchw[14] = 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[15] = 0.000000e+00f;
-  for (int rc_outer_outer = 0; rc_outer_outer &lt; 128; ++rc_outer_outer) {
-    __syncthreads();
-    pad_temp_shared[((int)threadIdx.x)] = (((((3 &lt;= (((int)threadIdx.x) % 27)) &amp;&amp; ((((int)threadIdx.x) % 27) &lt; 24)) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + (((int)threadIdx.x) % 3)) &lt; 8)) ? data[((((((rc_outer_outer * 196) + ((((int)threadIdx.x) / 27) * 49)) + (((((int)threadIdx.x) % 27) / 3) * 7)) + (((int)blockIdx.x) % 7)) + (((int)threadIdx.x) % 3)) - 8)] : 0.000000e+00f);
-    if (((int)threadIdx.x) &lt; 52) {
-      pad_temp_shared[(((int)threadIdx.x) + 56)] = (((((3 &lt;= ((((int)threadIdx.x) + 2) % 27)) &amp;&amp; (((((int)threadIdx.x) + 2) % 27) &lt; 24)) &amp;&amp; (1 &lt;= ((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)))) &amp;&amp; (((((int)blockIdx.x) % 7) + ((((int)threadIdx.x) + 2) % 3)) &lt; 8)) ? data[((((((rc_outer_outer * 196) + (((((int)threadIdx.x) + 56) / 27) * 49)) + ((((((int)threadIdx.x) + 2) % 27) / 3) * 7)) + (((int)blockIdx.x) % 7)) + ((((int)threadIdx.x) + 2)  [...]
-    }
-    kernel_shared[((int)threadIdx.x)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 56)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 56) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 112)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 112) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 168)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 168) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 224)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 224) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 280)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 280) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 336)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 336) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 392)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 392) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 448)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 448) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 504)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 64512)];
-    kernel_shared[(((int)threadIdx.x) + 560)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 560) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 616)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 616) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 672)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 672) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 728)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 728) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 784)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 784) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 840)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 840) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 896)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 896) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 952)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 952) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 129024)];
-    kernel_shared[(((int)threadIdx.x) + 1064)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1064) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1120) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 1176)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1176) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 1232)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1232) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 1288)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1288) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1344) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 1400)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1400) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 1456)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1456) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 1512)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 193536)];
-    kernel_shared[(((int)threadIdx.x) + 1568)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1568) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 1624)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1624) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 1680)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1680) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 1736)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1736) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1792) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 1848)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1848) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 1904)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1904) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 1960)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1960) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 2016)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 258048)];
-    kernel_shared[(((int)threadIdx.x) + 2072)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2072) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 2128)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2128) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 2184)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2184) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2240) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 2296)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2296) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 2352)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2352) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 2408)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2408) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 2464)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2464) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 2520)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 322560)];
-    kernel_shared[(((int)threadIdx.x) + 2576)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2576) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 2632)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2632) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2688) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 2744)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2744) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 2800)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2800) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 2856)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2856) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 2912)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2912) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 2968)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2968) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 3024)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 387072)];
-    kernel_shared[(((int)threadIdx.x) + 3080)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3080) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 3136)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3136) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 3192)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3192) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 3248)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3248) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 3304)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3304) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 3360)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3360) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 3416)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3416) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 3472)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3472) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 3528)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 451584)];
-    kernel_shared[(((int)threadIdx.x) + 3584)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3584) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 3640)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3640) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 3696)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3696) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 3752)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3752) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 3808)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3808) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 3864)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3864) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 3920)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3920) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 3976)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3976) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 4032)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 516096)];
-    kernel_shared[(((int)threadIdx.x) + 4088)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4088) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 4144)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4144) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 4) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 4200)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4200) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 24) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 6) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 4256)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4256) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((int)threadIdx.x) + 8) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 4312)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4312) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 4368)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4368) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 12) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 3) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 4424)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4424) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 5) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 4480)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4480) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 9) * 9)) + ((((int)threadIdx.x) + 7) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 4536)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 580608)];
-    if (((int)threadIdx.x) &lt; 16) {
-      kernel_shared[(((int)threadIdx.x) + 4592)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 4592) / 36) * 4608)) + (rc_outer_outer * 36)) + (((((int)threadIdx.x) + 20) / 9) * 9)) + ((((int)threadIdx.x) + 2) % 9))];
+  conv2d_nchw[12] = 0.000000e+00f;
+  conv2d_nchw[13] = 0.000000e+00f;
+  for (int rc_outer_outer = 0; rc_outer_outer &lt; 64; ++rc_outer_outer) {
+    for (int ry_outer_outer = 0; ry_outer_outer &lt; 3; ++ry_outer_outer) {
+      __syncthreads();
+      if (((int)threadIdx.x) &lt; 18) {
+        pad_temp_shared[(((int)threadIdx.x) * 4)] = (((((1 &lt;= (ry_outer_outer + (((int)blockIdx.x) % 7))) &amp;&amp; ((ry_outer_outer + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) * 4) % 9))) &amp;&amp; (((((int)threadIdx.x) * 4) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) * 4) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)threadIdx.x) * 4) % 9)) - 8)] : 0.000000e+00f);
+      }
+      if (((int)threadIdx.x) &lt; 18) {
+        pad_temp_shared[((((int)threadIdx.x) * 4) + 1)] = (((((1 &lt;= (ry_outer_outer + (((int)blockIdx.x) % 7))) &amp;&amp; ((ry_outer_outer + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= (((((int)threadIdx.x) * 4) + 1) % 9))) &amp;&amp; ((((((int)threadIdx.x) * 4) + 1) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 1) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 1) % 9)) - 8)] : 0.000000e+00f);
+      }
+      if (((int)threadIdx.x) &lt; 18) {
+        pad_temp_shared[((((int)threadIdx.x) * 4) + 2)] = (((((1 &lt;= (ry_outer_outer + (((int)blockIdx.x) % 7))) &amp;&amp; ((ry_outer_outer + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= (((((int)threadIdx.x) * 4) + 2) % 9))) &amp;&amp; ((((((int)threadIdx.x) * 4) + 2) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 2) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 2) % 9)) - 8)] : 0.000000e+00f);
+      }
+      if (((int)threadIdx.x) &lt; 18) {
+        pad_temp_shared[((((int)threadIdx.x) * 4) + 3)] = (((((1 &lt;= (ry_outer_outer + (((int)blockIdx.x) % 7))) &amp;&amp; ((ry_outer_outer + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= (((((int)threadIdx.x) * 4) + 3) % 9))) &amp;&amp; ((((((int)threadIdx.x) * 4) + 3) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 3) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 3) % 9)) - 8)] : 0.000000e+00f);
+      }
+      kernel_shared[((int)threadIdx.x)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 64)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 64) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 128)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 128) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 192)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 36864)];
+      kernel_shared[(((int)threadIdx.x) + 256)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 256) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 320)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 320) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 384)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 73728)];
+      kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 448) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 512)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 512) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 576)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 110592)];
+      kernel_shared[(((int)threadIdx.x) + 640)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 640) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 704)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 704) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 768)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 147456)];
+      kernel_shared[(((int)threadIdx.x) + 832)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 832) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 896) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 960)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 184320)];
+      kernel_shared[(((int)threadIdx.x) + 1024)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1024) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1088)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1088) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1152)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 221184)];
+      kernel_shared[(((int)threadIdx.x) + 1216)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1216) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1280)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1280) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 258048)];
+      kernel_shared[(((int)threadIdx.x) + 1408)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1408) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1472)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1472) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1536)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 294912)];
+      kernel_shared[(((int)threadIdx.x) + 1600)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1600) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1664)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1664) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1728)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 331776)];
+      kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1792) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1856)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1856) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1920)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 368640)];
+      kernel_shared[(((int)threadIdx.x) + 1984)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1984) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2048)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2048) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2112)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 405504)];
+      kernel_shared[(((int)threadIdx.x) + 2176)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2176) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2240) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2304)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 442368)];
+      kernel_shared[(((int)threadIdx.x) + 2368)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2368) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2432)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2432) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2496)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 479232)];
+      kernel_shared[(((int)threadIdx.x) + 2560)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2560) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2624)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2624) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 516096)];
+      kernel_shared[(((int)threadIdx.x) + 2752)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2752) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2816)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2816) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2880)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 552960)];
+      kernel_shared[(((int)threadIdx.x) + 2944)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2944) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 3008)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3008) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      __syncthreads();
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[0] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[1] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[2] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[3] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[4] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[5] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[6] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[0] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
     }
-    __syncthreads();
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[((((int)threadIdx.x) / 7) * 144)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1152)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2304)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3456)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 36)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1188)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2340)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3492)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1153)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2305)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3457)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 37)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1189)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2341)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3493)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1154)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2306)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3458)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 38)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1190)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2342)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3494)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 72)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1224)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2376)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3528)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 108)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1260)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2412)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[((((int)threadIdx.x) % 7) * 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3564)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 73)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1225)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2377)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3529)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 109)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1261)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2413)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3565)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 74)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1226)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2378)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3530)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 110)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1262)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2414)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3566)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1155)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2307)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3459)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 39)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1191)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2343)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3495)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 4)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1156)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2308)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3460)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 40)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1192)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2344)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3496)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 5)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1157)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2309)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3461)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 41)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1193)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2345)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3497)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 75)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1227)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2379)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3531)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 111)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1263)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2415)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 3)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3567)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 76)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1228)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2380)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3532)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 112)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1264)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2416)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 4)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3568)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 77)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1229)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2381)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3533)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 113)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1265)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2417)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 5)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3569)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 6)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1158)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2310)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3462)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 42)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1194)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2346)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3498)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 7)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1159)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2311)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3463)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 43)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1195)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2347)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3499)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 8)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1160)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2312)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3464)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 44)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1196)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2348)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3500)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 78)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1230)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2382)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3534)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 114)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1266)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2418)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 6)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3570)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 79)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1231)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2383)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3535)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 115)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1267)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2419)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3571)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 80)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1232)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2384)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3536)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 116)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1268)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2420)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 8)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3572)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 9)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1161)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2313)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3465)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 45)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1197)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2349)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3501)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 10)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1162)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2314)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3466)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 46)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1198)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2350)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3502)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 11)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1163)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2315)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3467)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 47)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1199)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2351)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3503)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 81)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1233)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2385)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3537)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 117)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1269)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2421)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3573)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 82)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1234)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2386)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3538)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 118)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1270)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2422)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3574)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 83)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1235)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2387)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3539)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 119)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1271)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2423)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3575)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 12)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1164)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2316)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3468)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 48)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1200)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2352)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3504)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 13)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1165)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2317)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3469)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 49)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1201)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2353)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3505)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 14)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1166)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2318)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3470)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 50)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1202)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2354)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3506)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 84)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1236)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2388)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3540)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 120)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1272)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2424)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 30)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3576)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 85)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1237)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2389)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3541)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 121)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1273)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2425)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 31)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3577)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 86)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1238)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2390)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3542)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 122)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1274)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2426)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 32)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3578)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 15)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1167)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2319)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3471)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 51)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1203)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2355)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3507)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 16)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1168)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2320)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3472)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 52)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1204)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2356)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3508)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 17)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1169)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2321)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3473)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 53)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1205)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2357)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3509)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 87)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1239)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2391)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3543)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 123)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1275)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2427)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 33)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3579)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 88)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1240)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2392)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3544)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 124)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1276)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2428)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 34)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3580)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 89)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1241)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2393)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3545)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 125)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1277)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2429)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 35)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3581)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 18)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1170)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2322)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3474)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 54)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1206)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2358)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3510)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 19)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1171)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2323)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3475)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 55)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1207)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2359)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3511)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 20)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1172)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2324)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3476)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 56)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1208)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2360)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3512)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 90)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1242)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2394)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3546)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 126)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1278)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2430)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3582)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 91)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1243)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2395)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3547)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 127)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1279)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2431)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3583)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 92)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1244)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2396)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3548)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 128)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1280)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2432)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3584)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 21)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1173)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2325)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3477)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 57)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1209)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2361)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3513)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 22)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1174)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2326)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3478)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 58)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1210)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2362)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3514)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 23)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1175)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2327)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3479)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 59)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1211)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2363)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3515)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 93)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1245)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2397)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3549)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 129)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1281)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2433)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 57)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3585)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 94)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1246)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2398)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3550)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 130)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1282)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2434)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 58)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3586)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 95)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1247)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2399)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3551)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 131)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1283)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2435)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 59)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3587)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 24)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1176)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2328)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3480)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 60)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1212)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2364)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3516)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 25)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1177)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2329)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3481)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 61)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1213)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2365)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3517)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 26)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1178)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2330)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3482)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 62)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1214)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2366)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3518)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 96)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1248)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2400)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3552)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 132)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1284)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2436)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 60)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3588)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 97)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1249)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2401)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3553)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 133)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1285)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2437)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 61)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3589)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 98)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1250)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2402)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3554)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 134)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1286)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2438)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 62)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3590)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 27)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1179)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2331)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3483)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 63)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1215)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2367)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3519)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 28)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1180)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2332)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3484)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 64)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1216)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2368)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3520)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 29)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1181)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2333)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3485)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 65)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1217)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2369)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3521)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 99)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1251)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2403)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3555)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 135)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1287)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2439)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3591)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 100)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1252)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2404)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3556)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 136)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1288)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2440)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3592)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 101)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1253)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2405)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3557)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 137)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1289)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2441)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3593)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 30)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1182)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2334)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3486)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 66)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1218)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2370)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3522)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 31)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1183)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2335)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3487)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 67)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1219)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2371)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3523)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 32)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1184)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2336)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3488)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 68)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1220)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2372)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3524)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 102)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1254)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2406)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3558)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 138)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1290)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2442)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 84)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3594)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 103)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1255)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2407)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3559)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 139)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1291)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2443)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 85)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3595)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 104)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1256)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2408)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3560)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 140)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1292)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2444)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 86)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3596)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 33)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1185)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2337)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3489)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 69)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1221)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2373)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3525)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 34)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1186)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2338)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3490)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 70)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1222)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2374)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3526)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 35)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1187)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2339)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3491)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 71)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1223)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2375)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3527)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 105)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1257)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2409)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3561)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 141)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1293)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2445)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 87)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3597)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 106)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1258)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2410)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3562)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 142)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1294)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2446)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 88)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3598)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 107)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1259)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2411)]));
-    conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3563)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 143)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 1295)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 2447)]));
-    conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((int)threadIdx.x) % 7) * 3) + 89)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + 3599)]));
   }
-  for (int i1_inner = 0; i1_inner &lt; 4; ++i1_inner) {
-    compute[((((((((int)blockIdx.x) / 7) * 6272) + ((((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) * 128) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
-    compute[(((((((((int)blockIdx.x) / 7) * 6272) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + ((((int)threadIdx.x) % 7) * 7)) + (((int)blockIdx.x) % 7)) + 1568)] = max((conv2d_nchw[(i1_inner + 4)] + bias[(((((((int)blockIdx.x) / 7) * 128) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner) + 32)]), 0.000000e+00f);
-    compute[(((((((((int)blockIdx.x) / 7) * 6272) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + ((((int)threadIdx.x) % 7) * 7)) + (((int)blockIdx.x) % 7)) + 3136)] = max((conv2d_nchw[(i1_inner + 8)] + bias[(((((((int)blockIdx.x) / 7) * 128) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner) + 64)]), 0.000000e+00f);
-    compute[(((((((((int)blockIdx.x) / 7) * 6272) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + ((((int)threadIdx.x) % 7) * 7)) + (((int)blockIdx.x) % 7)) + 4704)] = max((conv2d_nchw[(i1_inner + 12)] + bias[(((((((int)blockIdx.x) / 7) * 128) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner) + 96)]), 0.000000e+00f);
+  for (int i1_inner = 0; i1_inner &lt; 2; ++i1_inner) {
+    for (int i3_inner = 0; i3_inner &lt; 7; ++i3_inner) {
+      compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + i3_inner)] = max((conv2d_nchw[((i1_inner * 7) + i3_inner)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
+    }
   }
 }
 </pre></div>
@@ -2136,7 +1562,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  33.135 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  51.922 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autoscheduler-tune-conv2d-layer-cuda-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/e3e540f3b477c0c52d8eb73e674e8ffd/tune_conv2d_layer_cuda.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">tune_conv2d_layer_cuda.py</span></code></a></p>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
index 7c885fa43..616b6e5a1 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
@@ -901,7 +901,7 @@ so we can read the log file and load the best schedules.</p>
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   9.7861       9.8038       9.8110       9.7436       0.0302
+   9.9395       9.9415      10.0171       9.8599       0.0642
 </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 a685172bf..dd9b09039 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
@@ -920,7 +920,7 @@ so we can read the log file and load the best schedules.</p>
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  753.9374     753.8806     754.5786     753.3529      0.5020
+  755.0259     755.2899     755.7489     754.0389      0.7226
 </pre></div>
 </div>
 </div>
@@ -942,7 +942,7 @@ to learn how to use the RPC Tracker and RPC Server.
 To use the RPC Tracker in auto-scheduler, replace the runner in <code class="code docutils literal notranslate"><span class="pre">TuningOptions</span></code>
 with <a class="reference internal" href="../../reference/api/python/auto_scheduler.html#tvm.auto_scheduler.RPCRunner" title="tvm.auto_scheduler.RPCRunner"><code class="xref any py py-class docutils literal notranslate"><span class="pre">auto_scheduler.RPCRunner</span></code></a>.</p></li>
 </ol>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  21.920 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  22.520 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autoscheduler-tune-network-x86-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/e416b94ca1090b0897c0f6e0df95b911/tune_network_x86.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">tune_network_x86.py</span></code></a></p>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
index dae129bdb..863e1f546 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
@@ -620,219 +620,103 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
              placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [65536], []),
              compute: Buffer(compute_2: Pointer(float32), float32, [65536], [])}
   buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute}
-  preflattened_buffer_map = {placeholder_8: placeholder_15: Buffer(placeholder_13, int32, [33], []), placeholder_5: placeholder_16: Buffer(placeholder_10, float32, [128, 256], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_6: placeholder_17: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_7: placeholder_18: Buffer(placeholder_12, int32, [4916], []), placeholder_9: placeholder_19: Buffer(placeholder_14, float32, [128, 512], [])} {
-  for (i0.outer: int32, 0, 32) &quot;parallel&quot; {
-    allocate(compute_4: Pointer(global float32), float32, [128]), storage_scope = global;
-    for (i1.outer: int32, 0, 16) {
-      for (nb_j.inner: int32, 0, 2) {
-        let cse_var_2: int32 = (nb_j.inner*16)
-        let cse_var_1: int32 = ((i1.outer*2) + nb_j.inner)
+  preflattened_buffer_map = {placeholder_5: placeholder_15: Buffer(placeholder_10, float32, [128, 256], []), placeholder_6: placeholder_16: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_8: placeholder_17: Buffer(placeholder_13, int32, [33], []), placeholder_9: placeholder_18: Buffer(placeholder_14, float32, [128, 512], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_7: placeholder_19: Buffer(placeholder_12, int32, [4916], [])} {
+  for (i0.outer: int32, 0, 8) &quot;parallel&quot; {
+    allocate(compute_4: Pointer(global float32), float32, [256]), storage_scope = global;
+    for (i1.outer: int32, 0, 32) {
+      for (i.inner.init: int32, 0, 16) {
+        let cse_var_1: int32 = (i.inner.init*16)
          {
-          compute_5: Buffer(compute_4, float32, [128], [])[cse_var_2] = 0f32
-          compute_5[(cse_var_2 + 1)] = 0f32
-          compute_5[(cse_var_2 + 2)] = 0f32
-          compute_5[(cse_var_2 + 3)] = 0f32
-          compute_5[(cse_var_2 + 4)] = 0f32
-          compute_5[(cse_var_2 + 5)] = 0f32
-          compute_5[(cse_var_2 + 6)] = 0f32
-          compute_5[(cse_var_2 + 7)] = 0f32
-          compute_5[(cse_var_2 + 8)] = 0f32
-          compute_5[(cse_var_2 + 9)] = 0f32
-          compute_5[(cse_var_2 + 10)] = 0f32
-          compute_5[(cse_var_2 + 11)] = 0f32
-          compute_5[(cse_var_2 + 12)] = 0f32
-          compute_5[(cse_var_2 + 13)] = 0f32
-          compute_5[(cse_var_2 + 14)] = 0f32
-          compute_5[(cse_var_2 + 15)] = 0f32
-          compute_5[(cse_var_2 + 32)] = 0f32
-          compute_5[(cse_var_2 + 33)] = 0f32
-          compute_5[(cse_var_2 + 34)] = 0f32
-          compute_5[(cse_var_2 + 35)] = 0f32
-          compute_5[(cse_var_2 + 36)] = 0f32
-          compute_5[(cse_var_2 + 37)] = 0f32
-          compute_5[(cse_var_2 + 38)] = 0f32
-          compute_5[(cse_var_2 + 39)] = 0f32
-          compute_5[(cse_var_2 + 40)] = 0f32
-          compute_5[(cse_var_2 + 41)] = 0f32
-          compute_5[(cse_var_2 + 42)] = 0f32
-          compute_5[(cse_var_2 + 43)] = 0f32
-          compute_5[(cse_var_2 + 44)] = 0f32
-          compute_5[(cse_var_2 + 45)] = 0f32
-          compute_5[(cse_var_2 + 46)] = 0f32
-          compute_5[(cse_var_2 + 47)] = 0f32
-          compute_5[(cse_var_2 + 64)] = 0f32
-          compute_5[(cse_var_2 + 65)] = 0f32
-          compute_5[(cse_var_2 + 66)] = 0f32
-          compute_5[(cse_var_2 + 67)] = 0f32
-          compute_5[(cse_var_2 + 68)] = 0f32
-          compute_5[(cse_var_2 + 69)] = 0f32
-          compute_5[(cse_var_2 + 70)] = 0f32
-          compute_5[(cse_var_2 + 71)] = 0f32
-          compute_5[(cse_var_2 + 72)] = 0f32
-          compute_5[(cse_var_2 + 73)] = 0f32
-          compute_5[(cse_var_2 + 74)] = 0f32
-          compute_5[(cse_var_2 + 75)] = 0f32
-          compute_5[(cse_var_2 + 76)] = 0f32
-          compute_5[(cse_var_2 + 77)] = 0f32
-          compute_5[(cse_var_2 + 78)] = 0f32
-          compute_5[(cse_var_2 + 79)] = 0f32
-          compute_5[(cse_var_2 + 96)] = 0f32
-          compute_5[(cse_var_2 + 97)] = 0f32
-          compute_5[(cse_var_2 + 98)] = 0f32
-          compute_5[(cse_var_2 + 99)] = 0f32
-          compute_5[(cse_var_2 + 100)] = 0f32
-          compute_5[(cse_var_2 + 101)] = 0f32
-          compute_5[(cse_var_2 + 102)] = 0f32
-          compute_5[(cse_var_2 + 103)] = 0f32
-          compute_5[(cse_var_2 + 104)] = 0f32
-          compute_5[(cse_var_2 + 105)] = 0f32
-          compute_5[(cse_var_2 + 106)] = 0f32
-          compute_5[(cse_var_2 + 107)] = 0f32
-          compute_5[(cse_var_2 + 108)] = 0f32
-          compute_5[(cse_var_2 + 109)] = 0f32
-          compute_5[(cse_var_2 + 110)] = 0f32
-          compute_5[(cse_var_2 + 111)] = 0f32
-          for (elem_idx: int32, 0, (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
-            let cse_var_67: int32 = (i0.outer*1024)
-            let cse_var_66: int32 = (elem_idx*16)
-            let cse_var_65: int32 = (cse_var_2 + 99)
-            let cse_var_64: int32 = (cse_var_2 + 98)
-            let cse_var_63: int32 = (cse_var_2 + 97)
-            let cse_var_62: int32 = (cse_var_2 + 96)
-            let cse_var_61: int32 = (cse_var_2 + 9)
-            let cse_var_60: int32 = (cse_var_2 + 8)
-            let cse_var_59: int32 = (cse_var_2 + 79)
-            let cse_var_58: int32 = (cse_var_2 + 78)
-            let cse_var_57: int32 = (cse_var_2 + 77)
-            let cse_var_56: int32 = (cse_var_2 + 76)
-            let cse_var_55: int32 = (cse_var_2 + 75)
-            let cse_var_54: int32 = (cse_var_2 + 74)
-            let cse_var_53: int32 = (cse_var_2 + 73)
-            let cse_var_52: int32 = (cse_var_2 + 72)
-            let cse_var_51: int32 = (cse_var_2 + 71)
-            let cse_var_50: int32 = (cse_var_2 + 70)
-            let cse_var_49: int32 = (cse_var_2 + 7)
-            let cse_var_48: int32 = (cse_var_2 + 69)
-            let cse_var_47: int32 = (cse_var_2 + 68)
-            let cse_var_46: int32 = (cse_var_2 + 67)
-            let cse_var_45: int32 = (cse_var_2 + 66)
-            let cse_var_44: int32 = (cse_var_2 + 65)
-            let cse_var_43: int32 = (cse_var_2 + 64)
-            let cse_var_42: int32 = (cse_var_2 + 6)
-            let cse_var_41: int32 = (cse_var_2 + 5)
-            let cse_var_40: int32 = (cse_var_2 + 47)
-            let cse_var_39: int32 = (cse_var_2 + 46)
-            let cse_var_38: int32 = (cse_var_2 + 45)
-            let cse_var_37: int32 = (cse_var_2 + 44)
-            let cse_var_36: int32 = (cse_var_2 + 43)
-            let cse_var_35: int32 = (cse_var_2 + 42)
-            let cse_var_34: int32 = (cse_var_2 + 41)
-            let cse_var_33: int32 = (cse_var_2 + 40)
-            let cse_var_32: int32 = (cse_var_2 + 4)
-            let cse_var_31: int32 = (cse_var_2 + 39)
-            let cse_var_30: int32 = (cse_var_2 + 38)
-            let cse_var_29: int32 = (cse_var_2 + 37)
-            let cse_var_28: int32 = (cse_var_2 + 36)
-            let cse_var_27: int32 = (cse_var_2 + 35)
-            let cse_var_26: int32 = (cse_var_2 + 34)
-            let cse_var_25: int32 = (cse_var_2 + 33)
-            let cse_var_24: int32 = (cse_var_2 + 32)
-            let cse_var_23: int32 = (cse_var_2 + 3)
-            let cse_var_22: int32 = (cse_var_2 + 2)
-            let cse_var_21: int32 = (cse_var_2 + 15)
-            let cse_var_20: int32 = (cse_var_2 + 14)
-            let cse_var_19: int32 = (cse_var_2 + 13)
-            let cse_var_18: int32 = (cse_var_2 + 12)
-            let cse_var_17: int32 = (cse_var_2 + 111)
-            let cse_var_16: int32 = (cse_var_2 + 110)
-            let cse_var_15: int32 = (cse_var_2 + 11)
-            let cse_var_14: int32 = (cse_var_2 + 109)
-            let cse_var_13: int32 = (cse_var_2 + 108)
-            let cse_var_12: int32 = (cse_var_2 + 107)
-            let cse_var_11: int32 = (cse_var_2 + 106)
-            let cse_var_10: int32 = (cse_var_2 + 105)
-            let cse_var_9: int32 = (cse_var_2 + 104)
-            let cse_var_8: int32 = (cse_var_2 + 103)
-            let cse_var_7: int32 = (cse_var_2 + 102)
-            let cse_var_6: int32 = (cse_var_2 + 101)
-            let cse_var_5: int32 = (cse_var_2 + 100)
-            let cse_var_4: int32 = (cse_var_2 + 10)
-            let cse_var_3: int32 = (cse_var_2 + 1)
-             {
-              compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[((placeholder_3[cse_var_1]*16) + cse_var_66)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_3] = (compute_5[cse_var_3] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 1)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_22] = (compute_5[cse_var_22] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 2)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_23] = (compute_5[cse_var_23] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 3)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_32] = (compute_5[cse_var_32] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 4)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_41] = (compute_5[cse_var_41] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 5)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_42] = (compute_5[cse_var_42] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 6)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_49] = (compute_5[cse_var_49] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 7)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_60] = (compute_5[cse_var_60] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 8)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_61] = (compute_5[cse_var_61] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 9)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 10)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_15] = (compute_5[cse_var_15] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 11)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_18] = (compute_5[cse_var_18] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 12)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_19] = (compute_5[cse_var_19] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 13)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_20] = (compute_5[cse_var_20] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 14)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_21] = (compute_5[cse_var_21] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 15)]*max(placeholder[(cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
-              compute_5[cse_var_24] = (compute_5[cse_var_24] + (placeholder_1[((placeholder_3[cse_var_1]*16) + cse_var_66)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_25] = (compute_5[cse_var_25] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 1)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_26] = (compute_5[cse_var_26] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 2)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_27] = (compute_5[cse_var_27] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 3)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_28] = (compute_5[cse_var_28] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 4)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_29] = (compute_5[cse_var_29] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 5)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_30] = (compute_5[cse_var_30] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 6)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_31] = (compute_5[cse_var_31] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 7)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_33] = (compute_5[cse_var_33] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 8)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_34] = (compute_5[cse_var_34] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 9)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_35] = (compute_5[cse_var_35] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 10)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_36] = (compute_5[cse_var_36] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 11)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_37] = (compute_5[cse_var_37] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 12)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_38] = (compute_5[cse_var_38] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 13)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_39] = (compute_5[cse_var_39] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 14)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_40] = (compute_5[cse_var_40] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 15)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 256)], 0f32)))
-              compute_5[cse_var_43] = (compute_5[cse_var_43] + (placeholder_1[((placeholder_3[cse_var_1]*16) + cse_var_66)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_44] = (compute_5[cse_var_44] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 1)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_45] = (compute_5[cse_var_45] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 2)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_46] = (compute_5[cse_var_46] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 3)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_47] = (compute_5[cse_var_47] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 4)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_48] = (compute_5[cse_var_48] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 5)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_50] = (compute_5[cse_var_50] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 6)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_51] = (compute_5[cse_var_51] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 7)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_52] = (compute_5[cse_var_52] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 8)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_53] = (compute_5[cse_var_53] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 9)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_54] = (compute_5[cse_var_54] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 10)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_55] = (compute_5[cse_var_55] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 11)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_56] = (compute_5[cse_var_56] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 12)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_57] = (compute_5[cse_var_57] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 13)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_58] = (compute_5[cse_var_58] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 14)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_59] = (compute_5[cse_var_59] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 15)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 512)], 0f32)))
-              compute_5[cse_var_62] = (compute_5[cse_var_62] + (placeholder_1[((placeholder_3[cse_var_1]*16) + cse_var_66)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_63] = (compute_5[cse_var_63] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 1)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_64] = (compute_5[cse_var_64] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 2)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_65] = (compute_5[cse_var_65] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 3)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_5] = (compute_5[cse_var_5] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 4)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_6] = (compute_5[cse_var_6] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 5)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_7] = (compute_5[cse_var_7] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 6)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_8] = (compute_5[cse_var_8] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 7)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_9] = (compute_5[cse_var_9] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 8)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_10] = (compute_5[cse_var_10] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 9)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_11] = (compute_5[cse_var_11] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 10)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_12] = (compute_5[cse_var_12] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 11)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_13] = (compute_5[cse_var_13] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 12)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_14] = (compute_5[cse_var_14] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 13)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_16] = (compute_5[cse_var_16] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 14)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-              compute_5[cse_var_17] = (compute_5[cse_var_17] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_66) + 15)]*max(placeholder[((cse_var_67 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)]) + 768)], 0f32)))
-            }
-          }
+          compute_5: Buffer(compute_4, float32, [256], [])[cse_var_1] = 0f32
+          compute_5[(cse_var_1 + 1)] = 0f32
+          compute_5[(cse_var_1 + 2)] = 0f32
+          compute_5[(cse_var_1 + 3)] = 0f32
+          compute_5[(cse_var_1 + 4)] = 0f32
+          compute_5[(cse_var_1 + 5)] = 0f32
+          compute_5[(cse_var_1 + 6)] = 0f32
+          compute_5[(cse_var_1 + 7)] = 0f32
+          compute_5[(cse_var_1 + 8)] = 0f32
+          compute_5[(cse_var_1 + 9)] = 0f32
+          compute_5[(cse_var_1 + 10)] = 0f32
+          compute_5[(cse_var_1 + 11)] = 0f32
+          compute_5[(cse_var_1 + 12)] = 0f32
+          compute_5[(cse_var_1 + 13)] = 0f32
+          compute_5[(cse_var_1 + 14)] = 0f32
+          compute_5[(cse_var_1 + 15)] = 0f32
         }
       }
-      for (i0.inner: int32, 0, 4) {
-        for (i1.inner: int32, 0, 32) {
-          let cse_var_68: int32 = ((((i0.outer*2048) + (i0.inner*512)) + (i1.outer*32)) + i1.inner)
-          compute[cse_var_68] = max((compute_5[((i0.inner*32) + i1.inner)] + placeholder_4[cse_var_68]), 0f32)
+      for (elem_idx: int32, 0, (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])) {
+        for (i.inner: int32, 0, 16) {
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_2: int32 = (i.inner*16)
+            compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[((placeholder_3[i1.outer]*16) + (elem_idx*16))]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_3: int32 = ((i.inner*16) + 1)
+            compute_5[cse_var_3] = (compute_5[cse_var_3] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 1)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_4: int32 = ((i.inner*16) + 2)
+            compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 2)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_5: int32 = ((i.inner*16) + 3)
+            compute_5[cse_var_5] = (compute_5[cse_var_5] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 3)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_6: int32 = ((i.inner*16) + 4)
+            compute_5[cse_var_6] = (compute_5[cse_var_6] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 4)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_7: int32 = ((i.inner*16) + 5)
+            compute_5[cse_var_7] = (compute_5[cse_var_7] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 5)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_8: int32 = ((i.inner*16) + 6)
+            compute_5[cse_var_8] = (compute_5[cse_var_8] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 6)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_9: int32 = ((i.inner*16) + 7)
+            compute_5[cse_var_9] = (compute_5[cse_var_9] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 7)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_10: int32 = ((i.inner*16) + 8)
+            compute_5[cse_var_10] = (compute_5[cse_var_10] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 8)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_11: int32 = ((i.inner*16) + 9)
+            compute_5[cse_var_11] = (compute_5[cse_var_11] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 9)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_12: int32 = ((i.inner*16) + 10)
+            compute_5[cse_var_12] = (compute_5[cse_var_12] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 10)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_13: int32 = ((i.inner*16) + 11)
+            compute_5[cse_var_13] = (compute_5[cse_var_13] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 11)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_14: int32 = ((i.inner*16) + 12)
+            compute_5[cse_var_14] = (compute_5[cse_var_14] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 12)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_15: int32 = ((i.inner*16) + 13)
+            compute_5[cse_var_15] = (compute_5[cse_var_15] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 13)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_16: int32 = ((i.inner*16) + 14)
+            compute_5[cse_var_16] = (compute_5[cse_var_16] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 14)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
+          if @tir.likely((elem_idx &lt; (placeholder_3[(i1.outer + 1)] - placeholder_3[i1.outer])), dtype=bool) {
+            let cse_var_17: int32 = ((i.inner*16) + 15)
+            compute_5[cse_var_17] = (compute_5[cse_var_17] + (placeholder_1[(((placeholder_3[i1.outer]*16) + (elem_idx*16)) + 15)]*max(placeholder[(((i0.outer*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[i1.outer] + elem_idx)])], 0f32)))
+          }
         }
       }
+      for (i0.inner: int32, 0, 16) {
+        let cse_var_18: int32 = (((i0.outer*8192) + (i0.inner*512)) + (i1.outer*16))
+        compute[ramp(cse_var_18, 1, 16)] = max((compute_5[ramp((i0.inner*16), 1, 16)] + placeholder_4[ramp(cse_var_18, 1, 16)]), broadcast(0f32, 16))
+      }
     }
   }
 }
@@ -869,7 +753,7 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
 <span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 2.629 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.652 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 c1fecc80b..b3ac898af 100644
--- a/docs/how_to/tune_with_autotvm/sg_execution_times.html
+++ b/docs/how_to/tune_with_autotvm/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-tune-with-autotvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:43.488</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
+<p><strong>00:44.696</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 84%" />
@@ -331,11 +331,11 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="tune_conv2d_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-conv2d-cuda-py"><span class="std std-ref">Tuning High Performance Convolution on NVIDIA GPUs</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_cuda.py</span></code>)</p></td>
-<td><p>00:43.459</p></td>
+<td><p>00:44.663</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tune_relay_x86.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-x86-py"><span class="std std-ref">Auto-tuning a Convolutional Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_x86.py</span></code>)</p></td>
-<td><p>00:00.016</p></td>
+<td><p>00:00.019</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="tune_relay_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-cuda-py"><span class="std std-ref">Auto-tuning a Convolutional Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_cuda.py</span></code>)</p></td>
diff --git a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
index e505a6510..ee5f1c773 100644
--- a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
+++ b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
@@ -1164,8 +1164,8 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 4, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 1, 128]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2885496
-No: 6   GFLOPS: 94.00/94.00     result: MeasureResult(costs=(0.0024627407916666664,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7879972457885742, timestamp=1656412640.1039732)      [(&#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/94.00      result: Traceback (most recent call last):
+No: 6   GFLOPS: 43.29/43.29     result: MeasureResult(costs=(0.005347391894736843,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6110730171203613, timestamp=1656418440.268053)        [(&#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/43.29      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1288,7 +1288,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 16, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 256, 1]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6225319
-No: 8   GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+No: 8   GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1411,7 +1411,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 1, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 8, 64]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,943546
-No: 9   GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+No: 9   GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1534,7 +1534,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 16, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 16, 32]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2868708
-No: 10  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+No: 10  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 142, in build
     res = future.result()
   File &quot;/usr/lib/python3.7/concurrent/futures/_base.py&quot;, line 435, in result
@@ -1552,7 +1552,7 @@ No: 10  GFLOPS: 0.00/94.00      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/94.00      result: Traceback (most recent call last):
+No: 11  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1675,7 +1675,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 2, 64]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 4]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,1042124
-No: 12  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+No: 12  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1798,7 +1798,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 32, 1, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 32, 16]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,10013405
-No: 13  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+No: 13  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1921,7 +1921,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 8, 8, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 4, 32]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6732082
-No: 14  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+No: 14  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -2044,7 +2044,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 4, 32]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 128]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,7536735
-No: 15  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+No: 15  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -2167,7 +2167,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 1, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 128, 4]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,482121
-No: 16  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+No: 16  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -2290,7 +2290,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 1, 16]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 32, 8]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2824525
-No: 17  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+No: 17  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -2413,7 +2413,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 64, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 8, 8]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4559286
-No: 18  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+No: 18  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -2536,7 +2536,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 32, 16]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 512]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9677544
-No: 19  GFLOPS: 0.00/94.00      result: Traceback (most recent call last):
+No: 19  GFLOPS: 0.00/43.29      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 738, in __call__
     yield remote, remote.load_module(os.path.split(build_result.filename)[1])
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 702, in run_through_rpc
@@ -2624,7 +2624,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   15: _PyEval_EvalFrameDefault
   14: 0x0000000000537c30
   13: _PyObject_FastCallKeywords
-  12: 0x00007ff9d9b2bfa2
+  12: 0x00007efda69d6fa2
   11: _ctypes_callproc
   10: ffi_call
   9: ffi_call_unix64
@@ -2689,7 +2689,7 @@ Traceback (most recent call last):
   21: _PyFunction_FastCallKeywords
   20: _PyEval_EvalFrameDefault
   19: _PyFunction_FastCall      [(&#39;tile_f&#39;, [-1, 8, 2, 16]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6390073
-No: 20  GFLOPS: 143.96/143.96   result: MeasureResult(costs=(0.00160807128,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4383773803710938, timestamp=1656412666.7170122)      [(&#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.85/144.85   result: MeasureResult(costs=(0.00159818188,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4687023162841797, timestamp=1656418466.2386413)      [(&#39;tile_f&#39;, [-1, 1, 4, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9881539
 </pre></div>
 </div>
 <p>Finally we can inspect the best config from log file, check correctness,
@@ -2730,7 +2730,7 @@ and measure running time.</p>
 Best config:
 [(&#39;tile_f&#39;, [-1, 1, 4, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9881539
 Finish loading 20 records
-Time cost of this operator: 0.001968
+Time cost of this operator: 0.001993
 </pre></div>
 </div>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autotvm-tune-conv2d-cuda-py">
diff --git a/docs/how_to/work_with_microtvm/micro_autotune.html b/docs/how_to/work_with_microtvm/micro_autotune.html
index 5301a2f62..3aba894b8 100644
--- a/docs/how_to/work_with_microtvm/micro_autotune.html
+++ b/docs/how_to/work_with_microtvm/micro_autotune.html
@@ -578,10 +578,10 @@ the tuned operator.</p>
 ########## Build without Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs
 ---------                                     ---                                           --------  -------  -----              ------  -------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  311.5     98.733   (1, 2, 10, 10, 3)  2       1
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.082     0.977    (1, 6, 10, 10)     1       1
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.916     0.29     (1, 1, 10, 10, 3)  1       1
-Total_time                                    -                                             315.498   -        -                  -       -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  313.9     98.731   (1, 2, 10, 10, 3)  2       1
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.112     0.979    (1, 6, 10, 10)     1       1
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.921     0.29     (1, 1, 10, 10, 3)  1       1
+Total_time                                    -                                             317.933   -        -                  -       -
 </pre></div>
 </div>
 </div>
@@ -634,10 +634,10 @@ Total_time                                    -
 ########## Build with Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs
 ---------                                     ---                                           --------  -------  -----              ------  -------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  76.3      96.617   (1, 6, 10, 10, 1)  2       1
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.763     2.233    (1, 6, 10, 10)     1       1
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.908     1.15     (1, 1, 10, 10, 3)  1       1
-Total_time                                    -                                             78.971    -        -                  -       -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  214.3     98.721   (1, 1, 10, 10, 6)  2       1
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.944     0.896    (1, 6, 10, 10)     1       1
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.833     0.384    (1, 3, 10, 10, 1)  1       1
+Total_time                                    -                                             217.077   -        -                  -       -
 </pre></div>
 </div>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-autotune-py">
diff --git a/docs/how_to/work_with_microtvm/micro_train.html b/docs/how_to/work_with_microtvm/micro_train.html
index 42555ab20..fa1d70d0e 100644
--- a/docs/how_to/work_with_microtvm/micro_train.html
+++ b/docs/how_to/work_with_microtvm/micro_train.html
@@ -510,7 +510,7 @@ take about <strong>2 minutes</strong> to download the Stanford Cars, while COCO
 <a href="https://docs.python.org/3/library/shutil.html#shutil.move" title="shutil.move" class="sphx-glr-backref-module-shutil sphx-glr-backref-type-py-function"><span class="n">shutil</span><span class="o">.</span><span class="n">move</span></a><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><a href="https://docs.python.org/3/library/stdtypes.html#str" title="builtins.str" class="sphx-glr-backref-module-builtins sphx-glr-backref-typ [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&#39;/tmp/tmpsn7108q8/images/random&#39;
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&#39;/tmp/tmpp816o92v/images/random&#39;
 </pre></div>
 </div>
 </div>
@@ -570,8 +570,8 @@ objects to other stuff? We can display some examples from our datasets using <co
     <span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">&quot;off&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<img src="../../_images/sphx_glr_micro_train_001.png" srcset="../../_images/sphx_glr_micro_train_001.png" alt="[1.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmpsn7108q8/images/target contains 8144 images
-/tmp/tmpsn7108q8/images/random contains 5000 images
+<img src="../../_images/sphx_glr_micro_train_001.png" srcset="../../_images/sphx_glr_micro_train_001.png" alt="[1.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmpp816o92v/images/target contains 8144 images
+/tmp/tmpp816o92v/images/random contains 5000 images
 </pre></div>
 </div>
 </div>
@@ -683,13 +683,13 @@ the time on our validation set).</p>
 </pre></div>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Epoch 1/3
-328/328 - 55s - loss: 0.2339 - accuracy: 0.9198 - val_loss: 0.1435 - val_accuracy: 0.9566
+328/328 - 55s - loss: 0.2098 - accuracy: 0.9245 - val_loss: 0.1482 - val_accuracy: 0.9569
 Epoch 2/3
-328/328 - 52s - loss: 0.0998 - accuracy: 0.9611 - val_loss: 0.1113 - val_accuracy: 0.9660
+328/328 - 53s - loss: 0.0990 - accuracy: 0.9611 - val_loss: 0.1419 - val_accuracy: 0.9524
 Epoch 3/3
-328/328 - 52s - loss: 0.0649 - accuracy: 0.9749 - val_loss: 0.1493 - val_accuracy: 0.9494
+328/328 - 53s - loss: 0.0661 - accuracy: 0.9747 - val_loss: 0.0974 - val_accuracy: 0.9671
 
-&lt;keras.callbacks.History object at 0x7fc8d34efc10&gt;
+&lt;keras.callbacks.History object at 0x7f9c8df93350&gt;
 </pre></div>
 </div>
 </div>
@@ -951,7 +951,7 @@ as intended.</p>
 <p>From here, we could modify the model to read live images from the camera - we have another
 Arduino tutorial for how to do that <a class="reference external" href="https://github.com/guberti/tvm-arduino-demos/tree/master/examples/person_detection">on GitHub</a>. Alternatively, we could also
 <a class="reference external" href="https://tvm.apache.org/docs/how_to/work_with_microtvm/micro_autotune.html">use TVM’s autotuning capabilities</a> to dramatically improve the model’s performance.</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 13 minutes  0.614 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 8 minutes  2.618 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-train-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/b52cec46baf4f78d6bcd94cbe269c8a6/micro_train.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">micro_train.py</span></code></a></p>
diff --git a/docs/how_to/work_with_microtvm/sg_execution_times.html b/docs/how_to/work_with_microtvm/sg_execution_times.html
index ad47514b2..b6a6f2a66 100644
--- a/docs/how_to/work_with_microtvm/sg_execution_times.html
+++ b/docs/how_to/work_with_microtvm/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-work-with-microtvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>13:47.423</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
+<p><strong>08:49.953</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -331,15 +331,15 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="micro_train.html#sphx-glr-how-to-work-with-microtvm-micro-train-py"><span class="std std-ref">Training Vision Models for microTVM on Arduino</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_train.py</span></code>)</p></td>
-<td><p>13:00.614</p></td>
+<td><p>08:02.618</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="micro_autotune.html#sphx-glr-how-to-work-with-microtvm-micro-autotune-py"><span class="std std-ref">Autotuning with microTVM</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_autotune.py</span></code>)</p></td>
-<td><p>00:43.222</p></td>
+<td><p>00:43.762</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="micro_tflite.html#sphx-glr-how-to-work-with-microtvm-micro-tflite-py"><span class="std std-ref">microTVM with TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tflite.py</span></code>)</p></td>
-<td><p>00:03.586</p></td>
+<td><p>00:03.573</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="micro_ethosu.html#sphx-glr-how-to-work-with-microtvm-micro-ethosu-py"><span class="std std-ref">Running TVM on bare metal Arm(R) Cortex(R)-M55 CPU and Ethos(TM)-U55 NPU with CMSIS-NN</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_ethosu.py</span></code>)</p></td>
diff --git a/docs/how_to/work_with_relay/sg_execution_times.html b/docs/how_to/work_with_relay/sg_execution_times.html
index 0bb88b556..c4153fe0b 100644
--- a/docs/how_to/work_with_relay/sg_execution_times.html
+++ b/docs/how_to/work_with_relay/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-work-with-relay-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:11.496</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
+<p><strong>00:09.937</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -331,11 +331,11 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="using_external_lib.html#sphx-glr-how-to-work-with-relay-using-external-lib-py"><span class="std std-ref">Using External Libraries in Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_external_lib.py</span></code>)</p></td>
-<td><p>00:09.974</p></td>
+<td><p>00:08.406</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="build_gcn.html#sphx-glr-how-to-work-with-relay-build-gcn-py"><span class="std std-ref">Building a Graph Convolutional Network</span></a> (<code class="docutils literal notranslate"><span class="pre">build_gcn.py</span></code>)</p></td>
-<td><p>00:01.516</p></td>
+<td><p>00:01.525</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="using_relay_viz.html#sphx-glr-how-to-work-with-relay-using-relay-viz-py"><span class="std std-ref">Use Relay Visualizer to Visualize Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_relay_viz.py</span></code>)</p></td>
diff --git a/docs/how_to/work_with_schedules/intrin_math.html b/docs/how_to/work_with_schedules/intrin_math.html
index 9646fb3ae..5a33a3087 100644
--- a/docs/how_to/work_with_schedules/intrin_math.html
+++ b/docs/how_to/work_with_schedules/intrin_math.html
@@ -515,7 +515,7 @@ The following example customizes CUDA lowering rule for <code class="code docuti
 <a href="../../reference/api/python/ir.html#tvm.ir.register_intrin_lowering" title="tvm.ir.register_intrin_lowering" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-function"><span class="n">register_intrin_lowering</span></a><span class="p">(</span><span class="s2">&quot;tir.exp&quot;</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="s2">&quot;cuda&quot;</span><span class="p">,</span> <span class="n">f</span><span class="o">= [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&lt;function my_cuda_math_rule at 0x7fc84dee48c0&gt;
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&lt;function my_cuda_math_rule at 0x7f9bf16e2f80&gt;
 </pre></div>
 </div>
 <p>Register the rule to TVM with override option to override existing rule.
diff --git a/docs/how_to/work_with_schedules/sg_execution_times.html b/docs/how_to/work_with_schedules/sg_execution_times.html
index 872e67aa7..21d6a584c 100644
--- a/docs/how_to/work_with_schedules/sg_execution_times.html
+++ b/docs/how_to/work_with_schedules/sg_execution_times.html
@@ -322,7 +322,7 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-work-with-schedules-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:04.073</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
+<p><strong>00:04.281</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -331,27 +331,27 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="intrin_math.html#sphx-glr-how-to-work-with-schedules-intrin-math-py"><span class="std std-ref">Intrinsics and Math Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">intrin_math.py</span></code>)</p></td>
-<td><p>00:01.876</p></td>
+<td><p>00:02.030</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tensorize.html#sphx-glr-how-to-work-with-schedules-tensorize-py"><span class="std std-ref">Use Tensorize to Leverage Hardware Intrinsics</span></a> (<code class="docutils literal notranslate"><span class="pre">tensorize.py</span></code>)</p></td>
-<td><p>00:00.986</p></td>
+<td><p>00:00.978</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="reduction.html#sphx-glr-how-to-work-with-schedules-reduction-py"><span class="std std-ref">Reduction</span></a> (<code class="docutils literal notranslate"><span class="pre">reduction.py</span></code>)</p></td>
-<td><p>00:00.526</p></td>
+<td><p>00:00.552</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="scan.html#sphx-glr-how-to-work-with-schedules-scan-py"><span class="std std-ref">Scan and Recurrent Kernel</span></a> (<code class="docutils literal notranslate"><span class="pre">scan.py</span></code>)</p></td>
-<td><p>00:00.513</p></td>
+<td><p>00:00.537</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="extern_op.html#sphx-glr-how-to-work-with-schedules-extern-op-py"><span class="std std-ref">External Tensor Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">extern_op.py</span></code>)</p></td>
-<td><p>00:00.099</p></td>
+<td><p>00:00.105</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="schedule_primitives.html#sphx-glr-how-to-work-with-schedules-schedule-primitives-py"><span class="std std-ref">Schedule Primitives in TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">schedule_primitives.py</span></code>)</p></td>
-<td><p>00:00.035</p></td>
+<td><p>00:00.039</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="tedd.html#sphx-glr-how-to-work-with-schedules-tedd-py"><span class="std std-ref">Use Tensor Expression Debug Display (TEDD) for Visualization</span></a> (<code class="docutils literal notranslate"><span class="pre">tedd.py</span></code>)</p></td>
@@ -359,7 +359,7 @@
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tuple_inputs.html#sphx-glr-how-to-work-with-schedules-tuple-inputs-py"><span class="std std-ref">Compute and Reduce with Tuple Inputs</span></a> (<code class="docutils literal notranslate"><span class="pre">tuple_inputs.py</span></code>)</p></td>
-<td><p>00:00.013</p></td>
+<td><p>00:00.014</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/work_with_schedules/tensorize.html b/docs/how_to/work_with_schedules/tensorize.html
index 8aaaf1285..7ba3b092f 100644
--- a/docs/how_to/work_with_schedules/tensorize.html
+++ b/docs/how_to/work_with_schedules/tensorize.html
@@ -571,7 +571,7 @@ The importing needs to happen before the tensorized GEMV being executed.</p>
              C: Buffer(C_2: Pointer(float32), float32, [524288], [])}
   buffer_map = {A_1: A, B_1: B, C_1: C}
   preflattened_buffer_map = {A_1: A_3: Buffer(A_2, float32, [1024, 64], []), B_1: B_3: Buffer(B_2, float32, [512, 64], []), C_1: C_3: Buffer(C_2, float32, [1024, 512], [])} {
-  attr [IterVar(i: int32, (nullptr), &quot;DataPar&quot;, &quot;&quot;)] &quot;pragma_import_llvm&quot; = &quot;; ModuleID = &#39;/tmp/tmp2gwrptke/input0.cc&#39;\nsource_filename = \&quot;/tmp/tmp2gwrptke/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/tmprv_krtt7/input0.cc&#39;\nsource_filename = \&quot;/tmp/tmprv_krtt7/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/functions_func_s.html b/docs/reference/api/doxygen/functions_func_s.html
index 55d19a9d9..8e787b611 100644
--- a/docs/reference/api/doxygen/functions_func_s.html
+++ b/docs/reference/api/doxygen/functions_func_s.html
@@ -146,6 +146,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1AttrsNode.html#a07bcda7b450ba8dbea70e1889d021443">tvm::AttrsNode&lt; DerivedType &gt;</a>
 , <a class="el" href="structtvm_1_1ConstantInfoNode.html#a54c2016e8451a448720d5ea668dea6b4">tvm::ConstantInfoNode</a>
 , <a class="el" href="structtvm_1_1ConstantMemoryPoolsNode.html#a298cff0d8167978183f155d4b28eaac7">tvm::ConstantMemoryPoolsNode</a>
+, <a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#a78769f96efe4e6e70275f918a1965ca1">tvm::ConstantPoolInfoNode</a>
 , <a class="el" href="classtvm_1_1ConstructorNode.html#a19f4711864fe81715b584ebb1993e25d">tvm::ConstructorNode</a>
 , <a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce_3_01T_00_01true_01_4.html#a66b671c7505fb3c4d9ff215ac67d3c84">tvm::detail::ImplSEqualReduce&lt; T, true &gt;</a>
 , <a class="el" href="structtvm_1_1detail_1_1SelectSEqualReduce_3_01T_00_01TraitName_00_01false_01_4.html#a48a6369352bfc09d1f46037bf0988434">tvm::detail::SelectSEqualReduce&lt; T, TraitName, false &gt;</a>
@@ -252,6 +253,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1TypeRelationNode.html#ad12f0a1e65684675fa04f187ad4b232a">tvm::TypeRelationNode</a>
 , <a class="el" href="classtvm_1_1TypeVarNode.html#a098a0b4e2ad1f3c8010a66bef2585ec4">tvm::TypeVarNode</a>
 , <a class="el" href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a83c9882d87f8afdf241e727886651fe8">tvm::WorkspaceMemoryPoolsNode</a>
+, <a class="el" href="structtvm_1_1WorkspacePoolInfoNode.html#af4e4be8a623b5f63e03e84a6b11b95ab">tvm::WorkspacePoolInfoNode</a>
 </li>
 <li>SEqualReducer()
 : <a class="el" href="classtvm_1_1SEqualReducer.html#abb85d3142af880fb96ae79423e5c382e">tvm::SEqualReducer</a>
@@ -434,6 +436,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1AttrsNode.html#a3c10c6d2eb267521a96479d002ad93d5">tvm::AttrsNode&lt; DerivedType &gt;</a>
 , <a class="el" href="structtvm_1_1ConstantInfoNode.html#a72f8320524cd94e37533a5aa924cb744">tvm::ConstantInfoNode</a>
 , <a class="el" href="structtvm_1_1ConstantMemoryPoolsNode.html#ae187275f949c222c82ba48a78638fd02">tvm::ConstantMemoryPoolsNode</a>
+, <a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#abdfca3b12874ad29d203107c7ca8dcb5">tvm::ConstantPoolInfoNode</a>
 , <a class="el" href="classtvm_1_1ConstructorNode.html#a5ebc70f3e7ad2c8a22325e6a6724dc01">tvm::ConstructorNode</a>
 , <a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce_3_01T_00_01true_01_4.html#acdcb1f161ec57ec042c6b0c70c08f94b">tvm::detail::ImplSHashReduce&lt; T, true &gt;</a>
 , <a class="el" href="structtvm_1_1detail_1_1SelectSHashReduce_3_01T_00_01TraitName_00_01false_01_4.html#afb43357d733c91a227fdf0cc4221b6d9">tvm::detail::SelectSHashReduce&lt; T, TraitName, false &gt;</a>
@@ -535,6 +538,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1TypeRelationNode.html#ae0d229bf426fbf542dd107cfc58b0adf">tvm::TypeRelationNode</a>
 , <a class="el" href="classtvm_1_1TypeVarNode.html#a29129575d974930129a162fabf9d8e4d">tvm::TypeVarNode</a>
 , <a class="el" href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a8bda8248a09b413d9af0cc1c9a3acc72">tvm::WorkspaceMemoryPoolsNode</a>
+, <a class="el" href="structtvm_1_1WorkspacePoolInfoNode.html#ab0a0059dfa7eac65407148975848d9f3">tvm::WorkspacePoolInfoNode</a>
 </li>
 <li>SHashReduceFreeVar()
 : <a class="el" href="classtvm_1_1SHashReducer_1_1Handler.html#ab2fe484814770615ef9ddb1f6a6f2dfb">tvm::SHashReducer::Handler</a>
@@ -543,7 +547,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1SHashReducer_1_1Handler.html#a1bb22d4bb3983b4c3ca87b0daef7f93b">tvm::SHashReducer::Handler</a>
 </li>
 <li>SHashReducer()
-: <a class="el" href="classtvm_1_1SHashReducer.html#af7eb7ccc3e5863fe580f1b8dceac5d88">tvm::SHashReducer</a>
+: <a class="el" href="classtvm_1_1SHashReducer.html#acb4d90cb74f617620d0027649adf8f17">tvm::SHashReducer</a>
 </li>
 <li>ShouldLinkParameters()
 : <a class="el" href="classtvm_1_1IRModuleNode.html#a6bb288d971d067764448a2c715702a8c">tvm::IRModuleNode</a>
@@ -600,7 +604,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1tir_1_1SeqStmtNode.html#a0b17eae7cf993b7e3c3e5b50b4fa5982">tvm::tir::SeqStmtNode</a>
 </li>
 <li>SizeVar()
-: <a class="el" href="classtvm_1_1tir_1_1SizeVar.html#ac470249315d9e395ad581d35dd5dcb05">tvm::tir::SizeVar</a>
+: <a class="el" href="classtvm_1_1tir_1_1SizeVar.html#a0f8cb8a92feb96343939d223db90f7cd">tvm::tir::SizeVar</a>
 </li>
 <li>Slice()
 : <a class="el" href="classtvm_1_1te_1_1Tensor_1_1Slice.html#ab314819e8bcca6421e9a4f33e48578c3">tvm::te::Tensor::Slice</a>
@@ -641,7 +645,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1te_1_1Stage.html#a51432f38d9ec4792a2525023179ae604">tvm::te::Stage</a>
 </li>
 <li>SplitStep()
-: <a class="el" href="classtvm_1_1auto__scheduler_1_1SplitStep.html#a64ed86582a56a2645b3e4eb44ecb31af">tvm::auto_scheduler::SplitStep</a>
+: <a class="el" href="classtvm_1_1auto__scheduler_1_1SplitStep.html#a184575a8029d77f7a3bee23d81141df5">tvm::auto_scheduler::SplitStep</a>
 </li>
 <li>Stage()
 : <a class="el" href="classtvm_1_1auto__scheduler_1_1Stage.html#a39ffbb1b4e189180bc4067e74965f42b">tvm::auto_scheduler::Stage</a>
@@ -702,7 +706,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a93d1d23f24d903db844f75f51fe09a36">tvm::tir::ScheduleNode</a>
 </li>
 <li>StorageAlignStep()
-: <a class="el" href="classtvm_1_1auto__scheduler_1_1StorageAlignStep.html#a99dbb8c55d9e7d78268b6d43fd348bc7">tvm::auto_scheduler::StorageAlignStep</a>
+: <a class="el" href="classtvm_1_1auto__scheduler_1_1StorageAlignStep.html#af50b7c2f020f8e0a80f5bcc8e559b394">tvm::auto_scheduler::StorageAlignStep</a>
 </li>
 <li>Store()
 : <a class="el" href="classtvm_1_1tir_1_1Store.html#a2c4278b8bcdae57ada2022ecc7c290c3">tvm::tir::Store</a>
@@ -714,7 +718,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html#ac29b9295c432a87658392872c644864f">tvm::runtime::DeviceAPI</a>
 </li>
 <li>String()
-: <a class="el" href="classtvm_1_1runtime_1_1String.html#a68df7bab89fca339e3918438dd80300d">tvm::runtime::String</a>
+: <a class="el" href="classtvm_1_1runtime_1_1String.html#a02fca36e3ff55cc1e83635b02a11fca3">tvm::runtime::String</a>
 </li>
 <li>StringImm()
 : <a class="el" href="classtvm_1_1tir_1_1StringImm.html#a0f2830290e055f677c5d5dea98aab726">tvm::tir::StringImm</a>
diff --git a/docs/reference/api/doxygen/functions_func_v.html b/docs/reference/api/doxygen/functions_func_v.html
index 8daf68081..7fb1003e3 100644
--- a/docs/reference/api/doxygen/functions_func_v.html
+++ b/docs/reference/api/doxygen/functions_func_v.html
@@ -132,6 +132,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1CompilationConfigNode.html#a013ec90098f6cc435024dc75dd4e76ea">tvm::CompilationConfigNode</a>
 , <a class="el" href="structtvm_1_1ConstantInfoNode.html#a2c99ce89c1274b87da1dfda362044ad1">tvm::ConstantInfoNode</a>
 , <a class="el" href="structtvm_1_1ConstantMemoryPoolsNode.html#ac8dbc3927f2dd7835c7d131c00ed074e">tvm::ConstantMemoryPoolsNode</a>
+, <a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#a1898f6d9cdf06b3ce199bc6f9f45f8f1">tvm::ConstantPoolInfoNode</a>
 , <a class="el" href="classtvm_1_1ConstructorNode.html#a7137fbec25bcaae585f532221402e892">tvm::ConstructorNode</a>
 , <a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs_3_01T_00_01true_01_4.html#a5907882daf3474de12eeb733741d096e">tvm::detail::ImplVisitAttrs&lt; T, true &gt;</a>
 , <a class="el" href="structtvm_1_1detail_1_1SelectVisitAttrs_3_01T_00_01TraitName_00_01false_01_4.html#ab93aee2a6da2e4a15afd66f9beef8374">tvm::detail::SelectVisitAttrs&lt; T, TraitName, false &gt;</a>
@@ -333,6 +334,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1TypeReporterNode.html#a198f1301787886f56d5719ee4b070ade">tvm::TypeReporterNode</a>
 , <a class="el" href="classtvm_1_1TypeVarNode.html#a1ff00c9482ca9e0366e40237180189c7">tvm::TypeVarNode</a>
 , <a class="el" href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a29ae1001eaa92befc2c766f984edac81">tvm::WorkspaceMemoryPoolsNode</a>
+, <a class="el" href="structtvm_1_1WorkspacePoolInfoNode.html#a660995eb794b19575decb575d9188d54">tvm::WorkspacePoolInfoNode</a>
 </li>
 <li>VisitClause()
 : <a class="el" href="classtvm_1_1relay_1_1ExprMutator.html#ae24134355b0e8c77aaab58c28a94202a">tvm::relay::ExprMutator</a>
@@ -366,14 +368,14 @@ $(function() {
 , <a class="el" href="classtvm_1_1tir_1_1StmtVisitor.html#a6d35a6081ee7dbc440e5a980f70795c6">tvm::tir::StmtVisitor</a>
 </li>
 <li>VisitExpr_()
-: <a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html#aa49b8b27624631d2c2a637ec7ea5b98c">tvm::relay::ExprFunctor&lt; R(const Expr &amp;n, Args...)&gt;</a>
-, <a class="el" href="classtvm_1_1relay_1_1ExprMutator.html#affe6bbbc8d394c8a0f4c459c6ae09e8f">tvm::relay::ExprMutator</a>
-, <a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html#ab35bcfc19e95fbf444317fae7268f2fd">tvm::relay::ExprVisitor</a>
-, <a class="el" href="classtvm_1_1relay_1_1MixedModeMutator.html#a86656f533b4961437f53d1dbe30ae1fb">tvm::relay::MixedModeMutator</a>
-, <a class="el" href="classtvm_1_1relay_1_1MixedModeVisitor.html#a109b942e0299536851a3dc53a02b1ddc">tvm::relay::MixedModeVisitor</a>
+: <a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html#ab067e6279e3e73817d41a17eef030726">tvm::relay::ExprFunctor&lt; R(const Expr &amp;n, Args...)&gt;</a>
+, <a class="el" href="classtvm_1_1relay_1_1ExprMutator.html#ad84a1bcfeb97ec4816579d2363cd76a1">tvm::relay::ExprMutator</a>
+, <a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html#a8b1ef43d965026767385fb3ee5791928">tvm::relay::ExprVisitor</a>
+, <a class="el" href="classtvm_1_1relay_1_1MixedModeMutator.html#a7c3a1ed5bfb30ba993fdafa0d2d67fcb">tvm::relay::MixedModeMutator</a>
+, <a class="el" href="classtvm_1_1relay_1_1MixedModeVisitor.html#a98c7381c097a64d67f47dd512d99f045">tvm::relay::MixedModeVisitor</a>
 , <a class="el" href="classtvm_1_1tir_1_1ExprFunctor_3_01R_07const_01PrimExpr_01_6n_00_01Args_8_8_8_08_4.html#a101c51717d10a409a3579412d311f505">tvm::tir::ExprFunctor&lt; R(const PrimExpr &amp;n, Args...)&gt;</a>
-, <a class="el" href="classtvm_1_1tir_1_1ExprMutator.html#abef01921a361e7f5277611c7fcc090a3">tvm::tir::ExprMutator</a>
-, <a class="el" href="classtvm_1_1tir_1_1ExprVisitor.html#a2bde617452ce9c160cf8bf6f6db89601">tvm::tir::ExprVisitor</a>
+, <a class="el" href="classtvm_1_1tir_1_1ExprMutator.html#aa587c243decbe1667b93050e7e6128ff">tvm::tir::ExprMutator</a>
+, <a class="el" href="classtvm_1_1tir_1_1ExprVisitor.html#a1e06eb2730080b3c5b2bb9450b5df9aa">tvm::tir::ExprVisitor</a>
 </li>
 <li>VisitExprDefault_()
 : <a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html#ab35a37c57578e32a8c873cdfe9e31a0f">tvm::relay::ExprFunctor&lt; R(const Expr &amp;n, Args...)&gt;</a>
@@ -394,9 +396,9 @@ $(function() {
 , <a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html#ad6692c86b749bb0d93042aa2a0425a74">tvm::relay::PatternFunctor&lt; R(const Pattern &amp;n, Args...)&gt;</a>
 </li>
 <li>VisitPattern_()
-: <a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html#afe53bd4de34ab8dda2ea3c46a91ea6a8">tvm::relay::PatternFunctor&lt; R(const Pattern &amp;n, Args...)&gt;</a>
+: <a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html#aa1bf3196b98aedddc028f14f5dcf5384">tvm::relay::PatternFunctor&lt; R(const Pattern &amp;n, Args...)&gt;</a>
 , <a class="el" href="classtvm_1_1relay_1_1PatternMutator.html#a5c4cdc5bd1b1929edf9afa3cf85b9857">tvm::relay::PatternMutator</a>
-, <a class="el" href="classtvm_1_1relay_1_1PatternVisitor.html#aacc0309f0a28ade3e33287906c990259">tvm::relay::PatternVisitor</a>
+, <a class="el" href="classtvm_1_1relay_1_1PatternVisitor.html#a615c586aebfe563c7dfee3ff99e8ecb5">tvm::relay::PatternVisitor</a>
 </li>
 <li>VisitPatternDefault_()
 : <a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html#ad71efcd0b9a937b35f7fd4e2b6131773">tvm::relay::PatternFunctor&lt; R(const Pattern &amp;n, Args...)&gt;</a>
@@ -412,9 +414,9 @@ $(function() {
 , <a class="el" href="classtvm_1_1tir_1_1StmtMutator.html#a4306d1beba05fa1ac582503498a6d7ce">tvm::tir::StmtMutator</a>
 </li>
 <li>VisitStmt_()
-: <a class="el" href="classtvm_1_1tir_1_1StmtFunctor_3_01R_07const_01Stmt_01_6n_00_01Args_8_8_8_01args_08_4.html#a313eb657690ea8e3bc724252285b9d4e">tvm::tir::StmtFunctor&lt; R(const Stmt &amp;n, Args... args)&gt;</a>
-, <a class="el" href="classtvm_1_1tir_1_1StmtMutator.html#a2ec423a8f109916abf02ac463308f58a">tvm::tir::StmtMutator</a>
-, <a class="el" href="classtvm_1_1tir_1_1StmtVisitor.html#a4794fa6c9c4f893ad68d5930b1334c97">tvm::tir::StmtVisitor</a>
+: <a class="el" href="classtvm_1_1tir_1_1StmtFunctor_3_01R_07const_01Stmt_01_6n_00_01Args_8_8_8_01args_08_4.html#ab3302cd65bf351550e383b0320fdb103">tvm::tir::StmtFunctor&lt; R(const Stmt &amp;n, Args... args)&gt;</a>
+, <a class="el" href="classtvm_1_1tir_1_1StmtMutator.html#ac08e5c1f548566668b547e7107b99adb">tvm::tir::StmtMutator</a>
+, <a class="el" href="classtvm_1_1tir_1_1StmtVisitor.html#a0e6ca99ff599eea59b322df49b1c3449">tvm::tir::StmtVisitor</a>
 </li>
 <li>VisitStmtDefault_()
 : <a class="el" href="classtvm_1_1tir_1_1StmtFunctor_3_01R_07const_01Stmt_01_6n_00_01Args_8_8_8_01args_08_4.html#ae51b328e2b59a50bed7112a93dba1aae">tvm::tir::StmtFunctor&lt; R(const Stmt &amp;n, Args... args)&gt;</a>
@@ -428,9 +430,9 @@ $(function() {
 , <a class="el" href="classtvm_1_1TypeMutator.html#a84e824911927d98e20a338eab8b75a45">tvm::TypeMutator</a>
 </li>
 <li>VisitType_()
-: <a class="el" href="classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#aaa599f1a8c23bd735929eb20ede3a683">tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a>
-, <a class="el" href="classtvm_1_1TypeMutator.html#a11e7e2f91d7dd05bee32aee6260eb459">tvm::TypeMutator</a>
-, <a class="el" href="classtvm_1_1TypeVisitor.html#adb2f5c5f8e3fbe5b62ce8527cd59a30b">tvm::TypeVisitor</a>
+: <a class="el" href="classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#ae4061c0c04da5b6c889842506c2d5091">tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a>
+, <a class="el" href="classtvm_1_1TypeMutator.html#ab270cb7a0d9af50362137c1d68d32276">tvm::TypeMutator</a>
+, <a class="el" href="classtvm_1_1TypeVisitor.html#ac8845fbf58c1a1f0ebc23c7ee403aaab">tvm::TypeVisitor</a>
 </li>
 <li>VisitTypeDefault_()
 : <a class="el" href="classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#a91553f9e04c39b3821a70ae4f7b0c597">tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a>
diff --git a/docs/reference/api/doxygen/functions_s.html b/docs/reference/api/doxygen/functions_s.html
index 7994e202c..b8683d90b 100644
--- a/docs/reference/api/doxygen/functions_s.html
+++ b/docs/reference/api/doxygen/functions_s.html
@@ -229,6 +229,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1AttrsNode.html#a07bcda7b450ba8dbea70e1889d021443">tvm::AttrsNode&lt; DerivedType &gt;</a>
 , <a class="el" href="structtvm_1_1ConstantInfoNode.html#a54c2016e8451a448720d5ea668dea6b4">tvm::ConstantInfoNode</a>
 , <a class="el" href="structtvm_1_1ConstantMemoryPoolsNode.html#a298cff0d8167978183f155d4b28eaac7">tvm::ConstantMemoryPoolsNode</a>
+, <a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#a78769f96efe4e6e70275f918a1965ca1">tvm::ConstantPoolInfoNode</a>
 , <a class="el" href="classtvm_1_1ConstructorNode.html#a19f4711864fe81715b584ebb1993e25d">tvm::ConstructorNode</a>
 , <a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce.html#a2069b17f164be27516b0ca7b53b74d49">tvm::detail::ImplSEqualReduce&lt; T, bool &gt;</a>
 , <a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce_3_01T_00_01true_01_4.html#a66b671c7505fb3c4d9ff215ac67d3c84">tvm::detail::ImplSEqualReduce&lt; T, true &gt;</a>
@@ -337,6 +338,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1TypeRelationNode.html#ad12f0a1e65684675fa04f187ad4b232a">tvm::TypeRelationNode</a>
 , <a class="el" href="classtvm_1_1TypeVarNode.html#a098a0b4e2ad1f3c8010a66bef2585ec4">tvm::TypeVarNode</a>
 , <a class="el" href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a83c9882d87f8afdf241e727886651fe8">tvm::WorkspaceMemoryPoolsNode</a>
+, <a class="el" href="structtvm_1_1WorkspacePoolInfoNode.html#af4e4be8a623b5f63e03e84a6b11b95ab">tvm::WorkspacePoolInfoNode</a>
 </li>
 <li>SEqualReducer()
 : <a class="el" href="classtvm_1_1SEqualReducer.html#abb85d3142af880fb96ae79423e5c382e">tvm::SEqualReducer</a>
@@ -560,6 +562,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1AttrsNode.html#a3c10c6d2eb267521a96479d002ad93d5">tvm::AttrsNode&lt; DerivedType &gt;</a>
 , <a class="el" href="structtvm_1_1ConstantInfoNode.html#a72f8320524cd94e37533a5aa924cb744">tvm::ConstantInfoNode</a>
 , <a class="el" href="structtvm_1_1ConstantMemoryPoolsNode.html#ae187275f949c222c82ba48a78638fd02">tvm::ConstantMemoryPoolsNode</a>
+, <a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#abdfca3b12874ad29d203107c7ca8dcb5">tvm::ConstantPoolInfoNode</a>
 , <a class="el" href="classtvm_1_1ConstructorNode.html#a5ebc70f3e7ad2c8a22325e6a6724dc01">tvm::ConstructorNode</a>
 , <a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce.html#a52b81cd95647e6f528636cfc25c48310">tvm::detail::ImplSHashReduce&lt; T, bool &gt;</a>
 , <a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce_3_01T_00_01true_01_4.html#acdcb1f161ec57ec042c6b0c70c08f94b">tvm::detail::ImplSHashReduce&lt; T, true &gt;</a>
@@ -663,6 +666,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1TypeRelationNode.html#ae0d229bf426fbf542dd107cfc58b0adf">tvm::TypeRelationNode</a>
 , <a class="el" href="classtvm_1_1TypeVarNode.html#a29129575d974930129a162fabf9d8e4d">tvm::TypeVarNode</a>
 , <a class="el" href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a8bda8248a09b413d9af0cc1c9a3acc72">tvm::WorkspaceMemoryPoolsNode</a>
+, <a class="el" href="structtvm_1_1WorkspacePoolInfoNode.html#ab0a0059dfa7eac65407148975848d9f3">tvm::WorkspacePoolInfoNode</a>
 </li>
 <li>SHashReduceFreeVar()
 : <a class="el" href="classtvm_1_1SHashReducer_1_1Handler.html#ab2fe484814770615ef9ddb1f6a6f2dfb">tvm::SHashReducer::Handler</a>
@@ -756,7 +760,7 @@ $(function() {
 : <a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html#ad6d089344fa741021584222ffa70a451">tvm::relay::MultiBoxPriorAttrs</a>
 </li>
 <li>SizeVar()
-: <a class="el" href="classtvm_1_1tir_1_1SizeVar.html#ac470249315d9e395ad581d35dd5dcb05">tvm::tir::SizeVar</a>
+: <a class="el" href="classtvm_1_1tir_1_1SizeVar.html#a0f8cb8a92feb96343939d223db90f7cd">tvm::tir::SizeVar</a>
 </li>
 <li>Slice()
 : <a class="el" href="classtvm_1_1te_1_1Tensor_1_1Slice.html#ab314819e8bcca6421e9a4f33e48578c3">tvm::te::Tensor::Slice</a>
@@ -859,7 +863,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1te_1_1Stage.html#a51432f38d9ec4792a2525023179ae604">tvm::te::Stage</a>
 </li>
 <li>SplitStep()
-: <a class="el" href="classtvm_1_1auto__scheduler_1_1SplitStep.html#a184575a8029d77f7a3bee23d81141df5">tvm::auto_scheduler::SplitStep</a>
+: <a class="el" href="classtvm_1_1auto__scheduler_1_1SplitStep.html#a64ed86582a56a2645b3e4eb44ecb31af">tvm::auto_scheduler::SplitStep</a>
 </li>
 <li>src
 : <a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html#a8ce159fc6db748e5092fa937de3fde53">tvm::arith::IntConstraintsTransformNode</a>
@@ -890,7 +894,7 @@ $(function() {
 : <a class="el" href="structtvm_1_1relay_1_1DeviceCopyAttrs.html#aac5b2c76325a587bbefaa5af87b4138f">tvm::relay::DeviceCopyAttrs</a>
 </li>
 <li>Stage()
-: <a class="el" href="classtvm_1_1auto__scheduler_1_1Stage.html#a39ffbb1b4e189180bc4067e74965f42b">tvm::auto_scheduler::Stage</a>
+: <a class="el" href="classtvm_1_1auto__scheduler_1_1Stage.html#af0643fe8c1298451c9a322f915c48843">tvm::auto_scheduler::Stage</a>
 , <a class="el" href="classtvm_1_1te_1_1Stage.html#afec82602b9321c489b88632a005335f8">tvm::te::Stage</a>
 </li>
 <li>stage_id
@@ -1007,7 +1011,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a93d1d23f24d903db844f75f51fe09a36">tvm::tir::ScheduleNode</a>
 </li>
 <li>StorageAlignStep()
-: <a class="el" href="classtvm_1_1auto__scheduler_1_1StorageAlignStep.html#a99dbb8c55d9e7d78268b6d43fd348bc7">tvm::auto_scheduler::StorageAlignStep</a>
+: <a class="el" href="classtvm_1_1auto__scheduler_1_1StorageAlignStep.html#af50b7c2f020f8e0a80f5bcc8e559b394">tvm::auto_scheduler::StorageAlignStep</a>
 </li>
 <li>StorageType
 : <a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1ArrayHandler.html#a67e86db3290b1d3bd4aca7e7a2faf187">tvm::runtime::SimpleObjAllocator::ArrayHandler&lt; ArrayType, ElemType &gt;</a>
@@ -1062,7 +1066,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1tir_1_1BufferNode.html#ac18ddd10b79a30ae57d3a8283686259d">tvm::tir::BufferNode</a>
 </li>
 <li>String()
-: <a class="el" href="classtvm_1_1runtime_1_1String.html#a68df7bab89fca339e3918438dd80300d">tvm::runtime::String</a>
+: <a class="el" href="classtvm_1_1runtime_1_1String.html#a02fca36e3ff55cc1e83635b02a11fca3">tvm::runtime::String</a>
 , <a class="el" href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html#a7fb804f7dc96dd9f705c84095f37f1ca">tvm::runtime::StringObj::FromStd</a>
 , <a class="el" href="classtvm_1_1runtime_1_1StringObj.html#a7fb804f7dc96dd9f705c84095f37f1ca">tvm::runtime::StringObj</a>
 </li>
diff --git a/docs/reference/api/doxygen/functions_v.html b/docs/reference/api/doxygen/functions_v.html
index 68ac46bdb..1cc123885 100644
--- a/docs/reference/api/doxygen/functions_v.html
+++ b/docs/reference/api/doxygen/functions_v.html
@@ -268,6 +268,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1CompilationConfigNode.html#a013ec90098f6cc435024dc75dd4e76ea">tvm::CompilationConfigNode</a>
 , <a class="el" href="structtvm_1_1ConstantInfoNode.html#a2c99ce89c1274b87da1dfda362044ad1">tvm::ConstantInfoNode</a>
 , <a class="el" href="structtvm_1_1ConstantMemoryPoolsNode.html#ac8dbc3927f2dd7835c7d131c00ed074e">tvm::ConstantMemoryPoolsNode</a>
+, <a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#a1898f6d9cdf06b3ce199bc6f9f45f8f1">tvm::ConstantPoolInfoNode</a>
 , <a class="el" href="classtvm_1_1ConstructorNode.html#a7137fbec25bcaae585f532221402e892">tvm::ConstructorNode</a>
 , <a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs.html#afd7588fbc6336565b47c77d04b0ab69b">tvm::detail::ImplVisitAttrs&lt; T, bool &gt;</a>
 , <a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs_3_01T_00_01true_01_4.html#a5907882daf3474de12eeb733741d096e">tvm::detail::ImplVisitAttrs&lt; T, true &gt;</a>
@@ -472,6 +473,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1TypeReporterNode.html#a198f1301787886f56d5719ee4b070ade">tvm::TypeReporterNode</a>
 , <a class="el" href="classtvm_1_1TypeVarNode.html#a1ff00c9482ca9e0366e40237180189c7">tvm::TypeVarNode</a>
 , <a class="el" href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a29ae1001eaa92befc2c766f984edac81">tvm::WorkspaceMemoryPoolsNode</a>
+, <a class="el" href="structtvm_1_1WorkspacePoolInfoNode.html#a660995eb794b19575decb575d9188d54">tvm::WorkspacePoolInfoNode</a>
 </li>
 <li>VisitClause()
 : <a class="el" href="classtvm_1_1relay_1_1ExprMutator.html#ae24134355b0e8c77aaab58c28a94202a">tvm::relay::ExprMutator</a>
@@ -486,8 +488,8 @@ $(function() {
 , <a class="el" href="classtvm_1_1relay_1_1DFPatternVisitor.html#ae7e67d3a1709b0a180572417698ffaa8">tvm::relay::DFPatternVisitor</a>
 </li>
 <li>VisitDFPattern_()
-: <a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html#a677d20c3c1f3c9262823b017bb5e1eb6">tvm::relay::DFPatternFunctor&lt; R(const DFPattern &amp;n, Args...)&gt;</a>
-, <a class="el" href="classtvm_1_1relay_1_1DFPatternVisitor.html#a5216eb09d409500f985d9b9044a1d69a">tvm::relay::DFPatternVisitor</a>
+: <a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html#a0a59d2c97df4f41532f7b09c1c6adbc9">tvm::relay::DFPatternFunctor&lt; R(const DFPattern &amp;n, Args...)&gt;</a>
+, <a class="el" href="classtvm_1_1relay_1_1DFPatternVisitor.html#ae18cda926ddd356f370e05e1f29b6703">tvm::relay::DFPatternVisitor</a>
 </li>
 <li>VisitDFPatternDefault_()
 : <a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html#a5b505cf396e6efcd18aeacb0177eeb2a">tvm::relay::DFPatternFunctor&lt; R(const DFPattern &amp;n, Args...)&gt;</a>
@@ -508,14 +510,14 @@ $(function() {
 , <a class="el" href="classtvm_1_1tir_1_1StmtVisitor.html#a6d35a6081ee7dbc440e5a980f70795c6">tvm::tir::StmtVisitor</a>
 </li>
 <li>VisitExpr_()
-: <a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html#af9dc3ff4e078e2c9100db1f9ee6374f8">tvm::relay::ExprFunctor&lt; R(const Expr &amp;n, Args...)&gt;</a>
-, <a class="el" href="classtvm_1_1relay_1_1ExprMutator.html#affe6bbbc8d394c8a0f4c459c6ae09e8f">tvm::relay::ExprMutator</a>
-, <a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html#a823064b9583097958d53dd41a9d15be8">tvm::relay::ExprVisitor</a>
-, <a class="el" href="classtvm_1_1relay_1_1MixedModeMutator.html#a86656f533b4961437f53d1dbe30ae1fb">tvm::relay::MixedModeMutator</a>
-, <a class="el" href="classtvm_1_1relay_1_1MixedModeVisitor.html#a109b942e0299536851a3dc53a02b1ddc">tvm::relay::MixedModeVisitor</a>
-, <a class="el" href="classtvm_1_1tir_1_1ExprFunctor_3_01R_07const_01PrimExpr_01_6n_00_01Args_8_8_8_08_4.html#a101c51717d10a409a3579412d311f505">tvm::tir::ExprFunctor&lt; R(const PrimExpr &amp;n, Args...)&gt;</a>
-, <a class="el" href="classtvm_1_1tir_1_1ExprMutator.html#a043a4dd18fa1f63ab32a714a5c2a8fae">tvm::tir::ExprMutator</a>
-, <a class="el" href="classtvm_1_1tir_1_1ExprVisitor.html#a3c91bf7900710da018179935ec40e837">tvm::tir::ExprVisitor</a>
+: <a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html#aeef95217bc811a678a0fa72673bbc5ed">tvm::relay::ExprFunctor&lt; R(const Expr &amp;n, Args...)&gt;</a>
+, <a class="el" href="classtvm_1_1relay_1_1ExprMutator.html#a03a4b48a2cdcf642f4cf3b9d55064f53">tvm::relay::ExprMutator</a>
+, <a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html#a8b1ef43d965026767385fb3ee5791928">tvm::relay::ExprVisitor</a>
+, <a class="el" href="classtvm_1_1relay_1_1MixedModeMutator.html#a7c3a1ed5bfb30ba993fdafa0d2d67fcb">tvm::relay::MixedModeMutator</a>
+, <a class="el" href="classtvm_1_1relay_1_1MixedModeVisitor.html#a98c7381c097a64d67f47dd512d99f045">tvm::relay::MixedModeVisitor</a>
+, <a class="el" href="classtvm_1_1tir_1_1ExprFunctor_3_01R_07const_01PrimExpr_01_6n_00_01Args_8_8_8_08_4.html#ad6ba4207c04699baa4b86396425f88cd">tvm::tir::ExprFunctor&lt; R(const PrimExpr &amp;n, Args...)&gt;</a>
+, <a class="el" href="classtvm_1_1tir_1_1ExprMutator.html#a54677bf1b2cec622c781ba6ed4e03af9">tvm::tir::ExprMutator</a>
+, <a class="el" href="classtvm_1_1tir_1_1ExprVisitor.html#a092a9c1077a6b50fd3e7d13643446eb0">tvm::tir::ExprVisitor</a>
 </li>
 <li>VisitExprDefault_()
 : <a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html#ab35a37c57578e32a8c873cdfe9e31a0f">tvm::relay::ExprFunctor&lt; R(const Expr &amp;n, Args...)&gt;</a>
@@ -536,9 +538,9 @@ $(function() {
 , <a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html#ad6692c86b749bb0d93042aa2a0425a74">tvm::relay::PatternFunctor&lt; R(const Pattern &amp;n, Args...)&gt;</a>
 </li>
 <li>VisitPattern_()
-: <a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html#a11370205d1de851e817d40f031ad4811">tvm::relay::PatternFunctor&lt; R(const Pattern &amp;n, Args...)&gt;</a>
-, <a class="el" href="classtvm_1_1relay_1_1PatternMutator.html#a45f7cdfa9d72a3ab0ce2cb4ea04fec5b">tvm::relay::PatternMutator</a>
-, <a class="el" href="classtvm_1_1relay_1_1PatternVisitor.html#aacc0309f0a28ade3e33287906c990259">tvm::relay::PatternVisitor</a>
+: <a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html#abf4c3547c6fbeaf2d187a340286744ec">tvm::relay::PatternFunctor&lt; R(const Pattern &amp;n, Args...)&gt;</a>
+, <a class="el" href="classtvm_1_1relay_1_1PatternMutator.html#a5c4cdc5bd1b1929edf9afa3cf85b9857">tvm::relay::PatternMutator</a>
+, <a class="el" href="classtvm_1_1relay_1_1PatternVisitor.html#ad5ed2a5c3b88ec027df9e4269dff4b80">tvm::relay::PatternVisitor</a>
 </li>
 <li>VisitPatternDefault_()
 : <a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html#ad71efcd0b9a937b35f7fd4e2b6131773">tvm::relay::PatternFunctor&lt; R(const Pattern &amp;n, Args...)&gt;</a>
@@ -554,9 +556,9 @@ $(function() {
 , <a class="el" href="classtvm_1_1tir_1_1StmtMutator.html#a4306d1beba05fa1ac582503498a6d7ce">tvm::tir::StmtMutator</a>
 </li>
 <li>VisitStmt_()
-: <a class="el" href="classtvm_1_1tir_1_1StmtFunctor_3_01R_07const_01Stmt_01_6n_00_01Args_8_8_8_01args_08_4.html#ab3302cd65bf351550e383b0320fdb103">tvm::tir::StmtFunctor&lt; R(const Stmt &amp;n, Args... args)&gt;</a>
-, <a class="el" href="classtvm_1_1tir_1_1StmtMutator.html#abea492fd2fee9442cc1995f46ef7fd60">tvm::tir::StmtMutator</a>
-, <a class="el" href="classtvm_1_1tir_1_1StmtVisitor.html#a7ba134d441fad67448a9a073cb8b6e09">tvm::tir::StmtVisitor</a>
+: <a class="el" href="classtvm_1_1tir_1_1StmtFunctor_3_01R_07const_01Stmt_01_6n_00_01Args_8_8_8_01args_08_4.html#a3d1c16d316eac87f2dcaee67152bea84">tvm::tir::StmtFunctor&lt; R(const Stmt &amp;n, Args... args)&gt;</a>
+, <a class="el" href="classtvm_1_1tir_1_1StmtMutator.html#aaf5a2292da207073d637cc4d1a0704ce">tvm::tir::StmtMutator</a>
+, <a class="el" href="classtvm_1_1tir_1_1StmtVisitor.html#aff2335e1aea1de67bdfb92271c8c0e10">tvm::tir::StmtVisitor</a>
 </li>
 <li>VisitStmtDefault_()
 : <a class="el" href="classtvm_1_1tir_1_1StmtFunctor_3_01R_07const_01Stmt_01_6n_00_01Args_8_8_8_01args_08_4.html#ae51b328e2b59a50bed7112a93dba1aae">tvm::tir::StmtFunctor&lt; R(const Stmt &amp;n, Args... args)&gt;</a>
@@ -571,8 +573,8 @@ $(function() {
 </li>
 <li>VisitType_()
 : <a class="el" href="classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#ae4061c0c04da5b6c889842506c2d5091">tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a>
-, <a class="el" href="classtvm_1_1TypeMutator.html#a11e7e2f91d7dd05bee32aee6260eb459">tvm::TypeMutator</a>
-, <a class="el" href="classtvm_1_1TypeVisitor.html#ac8845fbf58c1a1f0ebc23c7ee403aaab">tvm::TypeVisitor</a>
+, <a class="el" href="classtvm_1_1TypeMutator.html#a8171dc89a947d6224e83e86ce5d06d11">tvm::TypeMutator</a>
+, <a class="el" href="classtvm_1_1TypeVisitor.html#a11378b4db6f704c04a97bec1c8ea8261">tvm::TypeVisitor</a>
 </li>
 <li>VisitTypeDefault_()
 : <a class="el" href="classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#a91553f9e04c39b3821a70ae4f7b0c597">tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a>
@@ -594,7 +596,7 @@ $(function() {
 : <a class="el" href="structtvm_1_1runtime_1_1vm_1_1VMFrame.html#a8f8c990ee4fa7cb7472f5440f2ca3bde">tvm::runtime::vm::VMFrame</a>
 </li>
 <li>VMFunction()
-: <a class="el" href="structtvm_1_1runtime_1_1vm_1_1VMFunction.html#af9d2bdcf19642c21bc4909b9e9b6196d">tvm::runtime::vm::VMFunction</a>
+: <a class="el" href="structtvm_1_1runtime_1_1vm_1_1VMFunction.html#aea763069fe1dd6849ce0d1ec336931e0">tvm::runtime::vm::VMFunction</a>
 </li>
 <li>Void()
 : <a class="el" href="classtvm_1_1runtime_1_1DataType.html#ab8dc0832aff8fd7421884c0fe20a3bfd">tvm::runtime::DataType</a>
diff --git a/docs/reference/api/doxygen/memory__pools_8h_source.html b/docs/reference/api/doxygen/memory__pools_8h_source.html
index 416a6104a..bea05e084 100644
--- a/docs/reference/api/doxygen/memory__pools_8h_source.html
+++ b/docs/reference/api/doxygen/memory__pools_8h_source.html
@@ -66,19 +66,20 @@ $(function() {
 <div class="title">memory_pools.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="memory__pools_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 mo [...]
+<a href="memory__pools_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 mo [...]
 <div class="ttc" id="structtvm_1_1PoolInfoPropertiesNode_html_ad1a7d2d59d20c9a7761e548fcb6545f6"><div class="ttname"><a href="structtvm_1_1PoolInfoPropertiesNode.html#ad1a7d2d59d20c9a7761e548fcb6545f6">tvm::PoolInfoPropertiesNode::read_latency_cycles</a></div><div class="ttdeci">Integer read_latency_cycles</div><div class="ttdoc">The read latency in cycles. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:161</div></div>
 <div class="ttc" id="classtvm_1_1Bool_html"><div class="ttname"><a href="classtvm_1_1Bool.html">tvm::Bool</a></div><div class="ttdoc">Boolean constant. </div><div class="ttdef"><b>Definition:</b> expr.h:369</div></div>
-<div class="ttc" id="classtvm_1_1WorkspacePoolInfo_html"><div class="ttname"><a href="classtvm_1_1WorkspacePoolInfo.html">tvm::WorkspacePoolInfo</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:227</div></div>
-<div class="ttc" id="structtvm_1_1WorkspaceMemoryPoolsNode_html_a8bda8248a09b413d9af0cc1c9a3acc72"><div class="ttname"><a href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a8bda8248a09b413d9af0cc1c9a3acc72">tvm::WorkspaceMemoryPoolsNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:300</div></div>
-<div class="ttc" id="structtvm_1_1ConstantInfoNode_html_a054eb75fb628ae03d5cb4c4c7f7e8846"><div class="ttname"><a href="structtvm_1_1ConstantInfoNode.html#a054eb75fb628ae03d5cb4c4c7f7e8846">tvm::ConstantInfoNode::name_hint</a></div><div class="ttdeci">String name_hint</div><div class="ttdef"><b>Definition:</b> memory_pools.h:240</div></div>
+<div class="ttc" id="classtvm_1_1WorkspacePoolInfo_html"><div class="ttname"><a href="classtvm_1_1WorkspacePoolInfo.html">tvm::WorkspacePoolInfo</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:235</div></div>
+<div class="ttc" id="structtvm_1_1WorkspaceMemoryPoolsNode_html_a8bda8248a09b413d9af0cc1c9a3acc72"><div class="ttname"><a href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a8bda8248a09b413d9af0cc1c9a3acc72">tvm::WorkspaceMemoryPoolsNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:324</div></div>
+<div class="ttc" id="structtvm_1_1ConstantInfoNode_html_a054eb75fb628ae03d5cb4c4c7f7e8846"><div class="ttname"><a href="structtvm_1_1ConstantInfoNode.html#a054eb75fb628ae03d5cb4c4c7f7e8846">tvm::ConstantInfoNode::name_hint</a></div><div class="ttdeci">String name_hint</div><div class="ttdef"><b>Definition:</b> memory_pools.h:248</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_aa77d99ed8fea9dd7e6345ae187570d92"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#aa77d99ed8fea9dd7e6345ae187570d92">tvm::PoolInfoNode::TVM_DECLARE_BASE_OBJECT_INFO</a></div><div class="ttdeci">TVM_DECLARE_BASE_OBJECT_INFO(PoolInfoNode, Object)</div></div>
 <div class="ttc" id="classtvm_1_1SEqualReducer_html"><div class="ttname"><a href="classtvm_1_1SEqualReducer.html">tvm::SEqualReducer</a></div><div class="ttdoc">A Reducer class to reduce the structural equality result of two objects. </div><div class="ttdef"><b>Definition:</b> structural_equal.h:102</div></div>
-<div class="ttc" id="structtvm_1_1WorkspaceMemoryPoolsNode_html_a29ae1001eaa92befc2c766f984edac81"><div class="ttname"><a href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a29ae1001eaa92befc2c766f984edac81">tvm::WorkspaceMemoryPoolsNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> memory_pools.h:294</div></div>
+<div class="ttc" id="structtvm_1_1WorkspaceMemoryPoolsNode_html_a29ae1001eaa92befc2c766f984edac81"><div class="ttname"><a href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a29ae1001eaa92befc2c766f984edac81">tvm::WorkspaceMemoryPoolsNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> memory_pools.h:318</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_a234ad11ae914b5e938c52a593da20411"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#a234ad11ae914b5e938c52a593da20411">tvm::PoolInfoNode::write_bandwidth_bytes_per_cycle</a></div><div class="ttdeci">Integer write_bandwidth_bytes_per_cycle</div><div class="ttdoc">The write bandwidth in bytes/cycle. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:50</div></div>
-<div class="ttc" id="structtvm_1_1ConstantInfoNode_html_a2c99ce89c1274b87da1dfda362044ad1"><div class="ttname"><a href="structtvm_1_1ConstantInfoNode.html#a2c99ce89c1274b87da1dfda362044ad1">tvm::ConstantInfoNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> memory_pools.h:244</div></div>
+<div class="ttc" id="structtvm_1_1ConstantInfoNode_html_a2c99ce89c1274b87da1dfda362044ad1"><div class="ttname"><a href="structtvm_1_1ConstantInfoNode.html#a2c99ce89c1274b87da1dfda362044ad1">tvm::ConstantInfoNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> memory_pools.h:252</div></div>
 <div class="ttc" id="namespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">runtime implementation for LibTorch/TorchScript. </div><div class="ttdef"><b>Definition:</b> analyzer.h:36</div></div>
 <div class="ttc" id="classtvm_1_1SHashReducer_html"><div class="ttname"><a href="classtvm_1_1SHashReducer.html">tvm::SHashReducer</a></div><div class="ttdoc">A Reducer class to reduce the structural hash value. </div><div class="ttdef"><b>Definition:</b> structural_hash.h:102</div></div>
+<div class="ttc" id="structtvm_1_1ConstantPoolInfoNode_html_a1898f6d9cdf06b3ce199bc6f9f45f8f1"><div class="ttname"><a href="structtvm_1_1ConstantPoolInfoNode.html#a1898f6d9cdf06b3ce199bc6f9f45f8f1">tvm::ConstantPoolInfoNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> memory_pools.h:287</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoPropertiesNode_html_afc0e40e65ecbad4db971d7e1752c404c"><div class="ttname"><a href="structtvm_1_1PoolInfoPropertiesNode.html#afc0e40e65ecbad4db971d7e1752c404c">tvm::PoolInfoPropertiesNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> memory_pools.h:172</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoPropertiesNode_html_aed7c5573ffc8db9424e77e3a85cad120"><div class="ttname"><a href="structtvm_1_1PoolInfoPropertiesNode.html#aed7c5573ffc8db9424e77e3a85cad120">tvm::PoolInfoPropertiesNode::size_hint_bytes</a></div><div class="ttdeci">Integer size_hint_bytes</div><div class="ttdoc">The expected size hint to be used by the allocator. The size_hint_bytes is set to kUnrestrictedPoolSi...</div><div class="ttdef"><b>Definition:</b> memory_pools.h:153</ [...]
 <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>
@@ -86,7 +87,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1PoolInfo_html"><div class="ttname"><a href="classtvm_1_1PoolInfo.html">tvm::PoolInfo</a></div><div class="ttdoc">Base class for WorkspacePoolInfo and ConstantPoolInfo. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:132</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_aca54706b36e3df4d44b992b88a1830b8"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#aca54706b36e3df4d44b992b88a1830b8">tvm::PoolInfoNode::is_internal</a></div><div class="ttdeci">bool is_internal</div><div class="ttdoc">Whether pool is internally generated. The internal pools will be generated as part of the entry point...</div><div class="ttdef"><b>Definition:</b> memory_pools.h:61</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoPropertiesNode_html_a6657e03988a672588c9b4faafd1b20db"><div class="ttname"><a href="structtvm_1_1PoolInfoPropertiesNode.html#a6657e03988a672588c9b4faafd1b20db">tvm::PoolInfoPropertiesNode::write_bandwidth_bytes_per_cycle</a></div><div class="ttdeci">Integer write_bandwidth_bytes_per_cycle</div><div class="ttdoc">The write bandwidth in bytes/cycle. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:159</div></div>
-<div class="ttc" id="classtvm_1_1ConstantInfo_html"><div class="ttname"><a href="classtvm_1_1ConstantInfo.html">tvm::ConstantInfo</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:267</div></div>
+<div class="ttc" id="classtvm_1_1ConstantInfo_html"><div class="ttname"><a href="classtvm_1_1ConstantInfo.html">tvm::ConstantInfo</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:275</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_a14108ba60cbc4404014ae13e12399182"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#a14108ba60cbc4404014ae13e12399182">tvm::PoolInfoNode::read_latency_cycles</a></div><div class="ttdeci">Integer read_latency_cycles</div><div class="ttdoc">The read latency in cycles. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:52</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_ac073aeb75bf031ff8687e132bc112f92"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#ac073aeb75bf031ff8687e132bc112f92">tvm::PoolInfoNode::size_hint_bytes</a></div><div class="ttdeci">Integer size_hint_bytes</div><div class="ttdoc">The expected size hint to be used by the allocator. The size_hint_bytes is set to kUnrestrictedPoolSi...</div><div class="ttdef"><b>Definition:</b> memory_pools.h:44</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_a0bdcda7767b88b67bf43320d8012b682"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#a0bdcda7767b88b67bf43320d8012b682">tvm::PoolInfoNode::read_bandwidth_bytes_per_cycle</a></div><div class="ttdeci">Integer read_bandwidth_bytes_per_cycle</div><div class="ttdoc">The read bandwidth in bytes/cycle. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:48</div></div>
@@ -96,15 +97,17 @@ $(function() {
 <div class="ttc" id="structtvm_1_1PoolInfoPropertiesNode_html_aa1efe29e920f5b003894a2ae3304da17"><div class="ttname"><a href="structtvm_1_1PoolInfoPropertiesNode.html#aa1efe29e920f5b003894a2ae3304da17">tvm::PoolInfoPropertiesNode::target_burst_bytes</a></div><div class="ttdeci">Map&lt; Target, Integer &gt; target_burst_bytes</div><div class="ttdoc">The burst length in bytes for each Target. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:165</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_a660b4708543cee4837496766f82dd4c2"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#a660b4708543cee4837496766f82dd4c2">tvm::PoolInfoNode::clock_frequency_hz</a></div><div class="ttdeci">Integer clock_frequency_hz</div><div class="ttdoc">The clock frequency of the memory in Hz. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:46</div></div>
 <div class="ttc" id="object_8h_html_aaaa3dc5b6dc33f84b2d28f9a81267212"><div class="ttname"><a href="object_8h.html#aaaa3dc5b6dc33f84b2d28f9a81267212">TVM_DEFINE_MUTABLE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_MUTABLE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:744</div></div>
-<div class="ttc" id="structtvm_1_1WorkspaceMemoryPoolsNode_html_a83c9882d87f8afdf241e727886651fe8"><div class="ttname"><a href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a83c9882d87f8afdf241e727886651fe8">tvm::WorkspaceMemoryPoolsNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const WorkspaceMemoryPoolsNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:296</div></div>
+<div class="ttc" id="structtvm_1_1WorkspaceMemoryPoolsNode_html_a83c9882d87f8afdf241e727886651fe8"><div class="ttname"><a href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a83c9882d87f8afdf241e727886651fe8">tvm::WorkspaceMemoryPoolsNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const WorkspaceMemoryPoolsNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:320</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_a437ced41efa704c4f856e5d460bf4856"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#a437ced41efa704c4f856e5d460bf4856">tvm::PoolInfoNode::_type_key</a></div><div class="ttdeci">static constexpr const char * _type_key</div><div class="ttdef"><b>Definition:</b> memory_pools.h:101</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_a45f1c1873709d0f38d2e9098b7e979cb"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#a45f1c1873709d0f38d2e9098b7e979cb">tvm::PoolInfoNode::targets</a></div><div class="ttdeci">Array&lt; Target &gt; targets</div><div class="ttdoc">The targets linked to the pool. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:64</div></div>
-<div class="ttc" id="structtvm_1_1ConstantInfoNode_html"><div class="ttname"><a href="structtvm_1_1ConstantInfoNode.html">tvm::ConstantInfoNode</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:239</div></div>
+<div class="ttc" id="structtvm_1_1ConstantInfoNode_html"><div class="ttname"><a href="structtvm_1_1ConstantInfoNode.html">tvm::ConstantInfoNode</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:247</div></div>
 <div class="ttc" id="classtvm_1_1AttrVisitor_html"><div class="ttname"><a href="classtvm_1_1AttrVisitor.html">tvm::AttrVisitor</a></div><div class="ttdoc">Visitor class to get the attributes of an AST/IR node. The content is going to be called for each fie...</div><div class="ttdef"><b>Definition:</b> reflection.h:52</div></div>
-<div class="ttc" id="structtvm_1_1ConstantMemoryPoolsNode_html_a854e45c780faddb712b608e3a78ec415"><div class="ttname"><a href="structtvm_1_1ConstantMemoryPoolsNode.html#a854e45c780faddb712b608e3a78ec415">tvm::ConstantMemoryPoolsNode::pools</a></div><div class="ttdeci">Array&lt; ConstantPoolInfo &gt; pools</div><div class="ttdef"><b>Definition:</b> memory_pools.h:314</div></div>
+<div class="ttc" id="structtvm_1_1ConstantMemoryPoolsNode_html_a854e45c780faddb712b608e3a78ec415"><div class="ttname"><a href="structtvm_1_1ConstantMemoryPoolsNode.html#a854e45c780faddb712b608e3a78ec415">tvm::ConstantMemoryPoolsNode::pools</a></div><div class="ttdeci">Array&lt; ConstantPoolInfo &gt; pools</div><div class="ttdef"><b>Definition:</b> memory_pools.h:338</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_ac5b782ed9aa601b042c4a7f10628d25a"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#ac5b782ed9aa601b042c4a7f10628d25a">tvm::PoolInfoNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> memory_pools.h:66</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoPropertiesNode_html_ab7bc2c2185036596da7336888a54fb65"><div class="ttname"><a href="structtvm_1_1PoolInfoPropertiesNode.html#ab7bc2c2185036596da7336888a54fb65">tvm::PoolInfoPropertiesNode::is_internal</a></div><div class="ttdeci">bool is_internal</div><div class="ttdoc">Whether pool is internally generated. The internal pools will be generated as part of the entry point...</div><div class="ttdef"><b>Definition:</b> memory_pools.h:170</div></div>
-<div class="ttc" id="structtvm_1_1WorkspaceMemoryPoolsNode_html_a67f6cbc8df2f1ad58de9bbbdc4c5f68e"><div class="ttname"><a href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a67f6cbc8df2f1ad58de9bbbdc4c5f68e">tvm::WorkspaceMemoryPoolsNode::pools</a></div><div class="ttdeci">Array&lt; PoolInfo &gt; pools</div><div class="ttdef"><b>Definition:</b> memory_pools.h:292</div></div>
+<div class="ttc" id="structtvm_1_1WorkspaceMemoryPoolsNode_html_a67f6cbc8df2f1ad58de9bbbdc4c5f68e"><div class="ttname"><a href="structtvm_1_1WorkspaceMemoryPoolsNode.html#a67f6cbc8df2f1ad58de9bbbdc4c5f68e">tvm::WorkspaceMemoryPoolsNode::pools</a></div><div class="ttdeci">Array&lt; PoolInfo &gt; pools</div><div class="ttdef"><b>Definition:</b> memory_pools.h:316</div></div>
+<div class="ttc" id="structtvm_1_1ConstantPoolInfoNode_html_a78769f96efe4e6e70275f918a1965ca1"><div class="ttname"><a href="structtvm_1_1ConstantPoolInfoNode.html#a78769f96efe4e6e70275f918a1965ca1">tvm::ConstantPoolInfoNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const ConstantPoolInfoNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:292</div></div>
+<div class="ttc" id="structtvm_1_1WorkspacePoolInfoNode_html_a660995eb794b19575decb575d9188d54"><div class="ttname"><a href="structtvm_1_1WorkspacePoolInfoNode.html#a660995eb794b19575decb575d9188d54">tvm::WorkspacePoolInfoNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> memory_pools.h:223</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_a1bca32e13fa47433c7bacc40a6436c1e"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#a1bca32e13fa47433c7bacc40a6436c1e">tvm::PoolInfoNode::pool_name</a></div><div class="ttdeci">String pool_name</div><div class="ttdoc">The name of the memory pool. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:39</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:124</div></div>
@@ -112,33 +115,36 @@ $(function() {
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_aa40bce0f9b3a6b97922b70babe25d7f4"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#aa40bce0f9b3a6b97922b70babe25d7f4">tvm::PoolInfoNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:89</div></div>
 <div class="ttc" id="object_8h_html_ac6e7295a4999e2c8e4a2c990beca887a"><div class="ttname"><a href="object_8h.html#ac6e7295a4999e2c8e4a2c990beca887a">TVM_DEFINE_OBJECT_REF_METHODS</a></div><div class="ttdeci">#define TVM_DEFINE_OBJECT_REF_METHODS(TypeName, ParentType, ObjectName)</div><div class="ttdef"><b>Definition:</b> object.h:713</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_a444e2db8569e8bae01871b6749b83d31"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#a444e2db8569e8bae01871b6749b83d31">tvm::PoolInfoNode::write_latency_cycles</a></div><div class="ttdeci">Integer write_latency_cycles</div><div class="ttdoc">The write latency in cycles. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:54</div></div>
-<div class="ttc" id="classtvm_1_1ConstantMemoryPools_html"><div class="ttname"><a href="classtvm_1_1ConstantMemoryPools.html">tvm::ConstantMemoryPools</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:328</div></div>
-<div class="ttc" id="structtvm_1_1ConstantInfoNode_html_a5939dd0858673a2f966a0329d77833b7"><div class="ttname"><a href="structtvm_1_1ConstantInfoNode.html#a5939dd0858673a2f966a0329d77833b7">tvm::ConstantInfoNode::data</a></div><div class="ttdeci">runtime::NDArray data</div><div class="ttdef"><b>Definition:</b> memory_pools.h:242</div></div>
+<div class="ttc" id="classtvm_1_1ConstantMemoryPools_html"><div class="ttname"><a href="classtvm_1_1ConstantMemoryPools.html">tvm::ConstantMemoryPools</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:352</div></div>
+<div class="ttc" id="structtvm_1_1ConstantInfoNode_html_a5939dd0858673a2f966a0329d77833b7"><div class="ttname"><a href="structtvm_1_1ConstantInfoNode.html#a5939dd0858673a2f966a0329d77833b7">tvm::ConstantInfoNode::data</a></div><div class="ttdeci">runtime::NDArray data</div><div class="ttdef"><b>Definition:</b> memory_pools.h:250</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
-<div class="ttc" id="structtvm_1_1ConstantInfoNode_html_a72f8320524cd94e37533a5aa924cb744"><div class="ttname"><a href="structtvm_1_1ConstantInfoNode.html#a72f8320524cd94e37533a5aa924cb744">tvm::ConstantInfoNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:255</div></div>
+<div class="ttc" id="structtvm_1_1ConstantInfoNode_html_a72f8320524cd94e37533a5aa924cb744"><div class="ttname"><a href="structtvm_1_1ConstantInfoNode.html#a72f8320524cd94e37533a5aa924cb744">tvm::ConstantInfoNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:263</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoPropertiesNode_html_a94142afcf29b2b488cf462ffa1936f98"><div class="ttname"><a href="structtvm_1_1PoolInfoPropertiesNode.html#a94142afcf29b2b488cf462ffa1936f98">tvm::PoolInfoPropertiesNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:194</div></div>
-<div class="ttc" id="classtvm_1_1ConstantPoolInfo_html"><div class="ttname"><a href="classtvm_1_1ConstantPoolInfo.html">tvm::ConstantPoolInfo</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:282</div></div>
+<div class="ttc" id="classtvm_1_1ConstantPoolInfo_html"><div class="ttname"><a href="classtvm_1_1ConstantPoolInfo.html">tvm::ConstantPoolInfo</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:306</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoPropertiesNode_html_ad0a43790f035d0d13efdf06b285dc1a8"><div class="ttname"><a href="structtvm_1_1PoolInfoPropertiesNode.html#ad0a43790f035d0d13efdf06b285dc1a8">tvm::PoolInfoPropertiesNode::clock_frequency_hz</a></div><div class="ttdeci">Integer clock_frequency_hz</div><div class="ttdoc">The clock frequency of the memory in Hz. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:155</div></div>
 <div class="ttc" id="structTVMConstantInfo_html"><div class="ttname"><a href="structTVMConstantInfo.html">TVMConstantInfo</a></div><div class="ttdoc">Describes one constant argument to run_model. </div><div class="ttdef"><b>Definition:</b> metadata_types.h:94</div></div>
 <div class="ttc" id="object_8h_html_a3aea9b3f65aeb9150c0fa7800e5573c6"><div class="ttname"><a href="object_8h.html#a3aea9b3f65aeb9150c0fa7800e5573c6">TVM_DECLARE_FINAL_OBJECT_INFO</a></div><div class="ttdeci">#define TVM_DECLARE_FINAL_OBJECT_INFO(TypeName, ParentType)</div><div class="ttdoc">helper macro to declare type information in a final class. </div><div class="ttdef"><b>Definition:</b> object.h:671</div></div>
-<div class="ttc" id="structtvm_1_1ConstantInfoNode_html_aee05018f7cb5b755afd13839a68d5ad4"><div class="ttname"><a href="structtvm_1_1ConstantInfoNode.html#aee05018f7cb5b755afd13839a68d5ad4">tvm::ConstantInfoNode::byte_offset</a></div><div class="ttdeci">Integer byte_offset</div><div class="ttdef"><b>Definition:</b> memory_pools.h:241</div></div>
+<div class="ttc" id="structtvm_1_1ConstantInfoNode_html_aee05018f7cb5b755afd13839a68d5ad4"><div class="ttname"><a href="structtvm_1_1ConstantInfoNode.html#aee05018f7cb5b755afd13839a68d5ad4">tvm::ConstantInfoNode::byte_offset</a></div><div class="ttdeci">Integer byte_offset</div><div class="ttdef"><b>Definition:</b> memory_pools.h:249</div></div>
+<div class="ttc" id="structtvm_1_1WorkspacePoolInfoNode_html_af4e4be8a623b5f63e03e84a6b11b95ab"><div class="ttname"><a href="structtvm_1_1WorkspacePoolInfoNode.html#af4e4be8a623b5f63e03e84a6b11b95ab">tvm::WorkspacePoolInfoNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const WorkspacePoolInfoNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:225</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoPropertiesNode_html_af68c3b0893a38f5732849049abc9f5dd"><div class="ttname"><a href="structtvm_1_1PoolInfoPropertiesNode.html#af68c3b0893a38f5732849049abc9f5dd">tvm::PoolInfoPropertiesNode::read_bandwidth_bytes_per_cycle</a></div><div class="ttdeci">Integer read_bandwidth_bytes_per_cycle</div><div class="ttdoc">The read bandwidth in bytes/cycle. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:157</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html_afbac7d6a6c6a212828ddec63b273e9d9"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html#afbac7d6a6c6a212828ddec63b273e9d9">tvm::PoolInfoNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const PoolInfoNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:78</div></div>
 <div class="ttc" id="target_8h_html"><div class="ttname"><a href="target_8h.html">target.h</a></div><div class="ttdoc">Compilation target object. </div></div>
 <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="structtvm_1_1WorkspacePoolInfoNode_html_ab0a0059dfa7eac65407148975848d9f3"><div class="ttname"><a href="structtvm_1_1WorkspacePoolInfoNode.html#ab0a0059dfa7eac65407148975848d9f3">tvm::WorkspacePoolInfoNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:229</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Object_html_ac97054694d03dc5eac58315fb569ef88"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html#ac97054694d03dc5eac58315fb569ef88">tvm::runtime::Object::_type_has_method_shash_reduce</a></div><div class="ttdeci">static constexpr bool _type_has_method_shash_reduce</div><div class="ttdef"><b>Definition:</b> object.h:234</div></div>
-<div class="ttc" id="structtvm_1_1ConstantInfoNode_html_a54c2016e8451a448720d5ea668dea6b4"><div class="ttname"><a href="structtvm_1_1ConstantInfoNode.html#a54c2016e8451a448720d5ea668dea6b4">tvm::ConstantInfoNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const ConstantInfoNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:250</div></div>
+<div class="ttc" id="structtvm_1_1ConstantInfoNode_html_a54c2016e8451a448720d5ea668dea6b4"><div class="ttname"><a href="structtvm_1_1ConstantInfoNode.html#a54c2016e8451a448720d5ea668dea6b4">tvm::ConstantInfoNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const ConstantInfoNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:258</div></div>
 <div class="ttc" id="classtvm_1_1PoolInfoProperties_html"><div class="ttname"><a href="classtvm_1_1PoolInfoProperties.html">tvm::PoolInfoProperties</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:209</div></div>
-<div class="ttc" id="structtvm_1_1ConstantMemoryPoolsNode_html_ac8dbc3927f2dd7835c7d131c00ed074e"><div class="ttname"><a href="structtvm_1_1ConstantMemoryPoolsNode.html#ac8dbc3927f2dd7835c7d131c00ed074e">tvm::ConstantMemoryPoolsNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> memory_pools.h:316</div></div>
-<div class="ttc" id="structtvm_1_1ConstantPoolInfoNode_html"><div class="ttname"><a href="structtvm_1_1ConstantPoolInfoNode.html">tvm::ConstantPoolInfoNode</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:276</div></div>
-<div class="ttc" id="structtvm_1_1ConstantMemoryPoolsNode_html"><div class="ttname"><a href="structtvm_1_1ConstantMemoryPoolsNode.html">tvm::ConstantMemoryPoolsNode</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:313</div></div>
+<div class="ttc" id="structtvm_1_1ConstantMemoryPoolsNode_html_ac8dbc3927f2dd7835c7d131c00ed074e"><div class="ttname"><a href="structtvm_1_1ConstantMemoryPoolsNode.html#ac8dbc3927f2dd7835c7d131c00ed074e">tvm::ConstantMemoryPoolsNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> memory_pools.h:340</div></div>
+<div class="ttc" id="structtvm_1_1ConstantPoolInfoNode_html"><div class="ttname"><a href="structtvm_1_1ConstantPoolInfoNode.html">tvm::ConstantPoolInfoNode</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:284</div></div>
+<div class="ttc" id="structtvm_1_1ConstantMemoryPoolsNode_html"><div class="ttname"><a href="structtvm_1_1ConstantMemoryPoolsNode.html">tvm::ConstantMemoryPoolsNode</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:337</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoNode_html"><div class="ttname"><a href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></div><div class="ttdoc">Describes a pool of memory accessible by one or more targets. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:36</div></div>
-<div class="ttc" id="structtvm_1_1ConstantMemoryPoolsNode_html_a298cff0d8167978183f155d4b28eaac7"><div class="ttname"><a href="structtvm_1_1ConstantMemoryPoolsNode.html#a298cff0d8167978183f155d4b28eaac7">tvm::ConstantMemoryPoolsNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const ConstantMemoryPoolsNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:318</div></div>
+<div class="ttc" id="structtvm_1_1ConstantMemoryPoolsNode_html_a298cff0d8167978183f155d4b28eaac7"><div class="ttname"><a href="structtvm_1_1ConstantMemoryPoolsNode.html#a298cff0d8167978183f155d4b28eaac7">tvm::ConstantMemoryPoolsNode::SEqualReduce</a></div><div class="ttdeci">bool SEqualReduce(const ConstantMemoryPoolsNode *other, SEqualReducer equal) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:342</div></div>
 <div class="ttc" id="structtvm_1_1PoolInfoPropertiesNode_html"><div class="ttname"><a href="structtvm_1_1PoolInfoPropertiesNode.html">tvm::PoolInfoPropertiesNode</a></div><div class="ttdoc">Describes a pool of memory properties. </div><div class="ttdef"><b>Definition:</b> memory_pools.h:148</div></div>
-<div class="ttc" id="structtvm_1_1ConstantMemoryPoolsNode_html_ae187275f949c222c82ba48a78638fd02"><div class="ttname"><a href="structtvm_1_1ConstantMemoryPoolsNode.html#ae187275f949c222c82ba48a78638fd02">tvm::ConstantMemoryPoolsNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:322</div></div>
-<div class="ttc" id="structtvm_1_1WorkspaceMemoryPoolsNode_html"><div class="ttname"><a href="structtvm_1_1WorkspaceMemoryPoolsNode.html">tvm::WorkspaceMemoryPoolsNode</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:291</div></div>
+<div class="ttc" id="structtvm_1_1ConstantMemoryPoolsNode_html_ae187275f949c222c82ba48a78638fd02"><div class="ttname"><a href="structtvm_1_1ConstantMemoryPoolsNode.html#ae187275f949c222c82ba48a78638fd02">tvm::ConstantMemoryPoolsNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:346</div></div>
+<div class="ttc" id="structtvm_1_1WorkspaceMemoryPoolsNode_html"><div class="ttname"><a href="structtvm_1_1WorkspaceMemoryPoolsNode.html">tvm::WorkspaceMemoryPoolsNode</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:315</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Object_html_a92fe62494027b70af1f7696d611c21b6"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html#a92fe62494027b70af1f7696d611c21b6">tvm::runtime::Object::_type_has_method_sequal_reduce</a></div><div class="ttdeci">static constexpr bool _type_has_method_sequal_reduce</div><div class="ttdef"><b>Definition:</b> object.h:233</div></div>
-<div class="ttc" id="structtvm_1_1ConstantPoolInfoNode_html_a373ce1fdfbfe98b62f5b8373ee212682"><div class="ttname"><a href="structtvm_1_1ConstantPoolInfoNode.html#a373ce1fdfbfe98b62f5b8373ee212682">tvm::ConstantPoolInfoNode::constant_info_array</a></div><div class="ttdeci">Array&lt; ConstantInfo &gt; constant_info_array</div><div class="ttdef"><b>Definition:</b> memory_pools.h:277</div></div>
+<div class="ttc" id="structtvm_1_1ConstantPoolInfoNode_html_a373ce1fdfbfe98b62f5b8373ee212682"><div class="ttname"><a href="structtvm_1_1ConstantPoolInfoNode.html#a373ce1fdfbfe98b62f5b8373ee212682">tvm::ConstantPoolInfoNode::constant_info_array</a></div><div class="ttdeci">Array&lt; ConstantInfo &gt; constant_info_array</div><div class="ttdef"><b>Definition:</b> memory_pools.h:285</div></div>
+<div class="ttc" id="structtvm_1_1ConstantPoolInfoNode_html_abdfca3b12874ad29d203107c7ca8dcb5"><div class="ttname"><a href="structtvm_1_1ConstantPoolInfoNode.html#abdfca3b12874ad29d203107c7ca8dcb5">tvm::ConstantPoolInfoNode::SHashReduce</a></div><div class="ttdeci">void SHashReduce(SHashReducer hash_reduce) const</div><div class="ttdef"><b>Definition:</b> memory_pools.h:297</div></div>
 <div class="ttc" id="registry_8h_html"><div class="ttname"><a href="registry_8h.html">registry.h</a></div><div class="ttdoc">This file defines the TVM global function registry. </div></div>
 <div class="ttc" id="structtvm_1_1WorkspacePoolInfoNode_html"><div class="ttname"><a href="structtvm_1_1WorkspacePoolInfoNode.html">tvm::WorkspacePoolInfoNode</a></div><div class="ttdef"><b>Definition:</b> memory_pools.h:222</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:404</div></div>
diff --git a/docs/reference/api/doxygen/search/all_14.js b/docs/reference/api/doxygen/search/all_14.js
index 28d6069f6..887e5f490 100644
--- a/docs/reference/api/doxygen/search/all_14.js
+++ b/docs/reference/api/doxygen/search/all_14.js
@@ -100,7 +100,7 @@ var searchData=
   ['seq_5findex',['seq_index',['../classtvm_1_1tir_1_1StmtSRefNode.html#a1ce9920064b0c2ed42be0e9412fd3939',1,'tvm::tir::StmtSRefNode']]],
   ['seqstmt',['SeqStmt',['../classtvm_1_1tir_1_1SeqStmt.html',1,'tvm::tir::SeqStmt'],['../classtvm_1_1tir_1_1SeqStmt.html#afe971b51fb6990008a118d4aa16c0920',1,'tvm::tir::SeqStmt::SeqStmt()']]],
   ['seqstmtnode',['SeqStmtNode',['../classtvm_1_1tir_1_1SeqStmtNode.html',1,'tvm::tir']]],
-  ['sequalreduce',['SEqualReduce',['../structtvm_1_1detail_1_1ImplSEqualReduce.html#a2069b17f164be27516b0ca7b53b74d49',1,'tvm::detail::ImplSEqualReduce::SEqualReduce()'],['../structtvm_1_1detail_1_1SelectSEqualReduce.html#a6de180df5c5b0cec0e62f75e576259cb',1,'tvm::detail::SelectSEqualReduce::SEqualReduce()'],['../classtvm_1_1arith_1_1ConstIntBoundNode.html#ad7be026c2fbdd9c6fb439d6959300541',1,'tvm::arith::ConstIntBoundNode::SEqualReduce()'],['../classtvm_1_1arith_1_1ModularSetNode.html#a [...]
+  ['sequalreduce',['SEqualReduce',['../structtvm_1_1detail_1_1ImplSEqualReduce.html#a2069b17f164be27516b0ca7b53b74d49',1,'tvm::detail::ImplSEqualReduce::SEqualReduce()'],['../structtvm_1_1detail_1_1SelectSEqualReduce.html#a6de180df5c5b0cec0e62f75e576259cb',1,'tvm::detail::SelectSEqualReduce::SEqualReduce()'],['../classtvm_1_1arith_1_1ConstIntBoundNode.html#ad7be026c2fbdd9c6fb439d6959300541',1,'tvm::arith::ConstIntBoundNode::SEqualReduce()'],['../classtvm_1_1arith_1_1ModularSetNode.html#a [...]
   ['sequalreducer',['SEqualReducer',['../classtvm_1_1SEqualReducer.html',1,'tvm::SEqualReducer'],['../classtvm_1_1SEqualReducer.html#abb85d3142af880fb96ae79423e5c382e',1,'tvm::SEqualReducer::SEqualReducer()=default'],['../classtvm_1_1SEqualReducer.html#a2562e028a0298c0e45d5ebbb98545fa4',1,'tvm::SEqualReducer::SEqualReducer(Handler *handler, bool map_free_vars)']]],
   ['sequence_5fmask',['sequence_mask',['../namespacetvm_1_1topi.html#a037a112cc5c556107797e36e7feb0873',1,'tvm::topi']]],
   ['sequencemaskattrs',['SequenceMaskAttrs',['../structtvm_1_1relay_1_1SequenceMaskAttrs.html',1,'tvm::relay']]],
@@ -184,7 +184,7 @@ var searchData=
   ['shapetuple',['ShapeTuple',['../classtvm_1_1runtime_1_1ShapeTuple.html',1,'tvm::runtime::ShapeTuple'],['../classtvm_1_1runtime_1_1ShapeTupleObj.html#a1233caa001a4dd2bebeef49633724641',1,'tvm::runtime::ShapeTupleObj::ShapeTuple()'],['../classtvm_1_1runtime_1_1ShapeTupleObj_1_1FromStd.html#a1233caa001a4dd2bebeef49633724641',1,'tvm::runtime::ShapeTupleObj::FromStd::ShapeTuple()'],['../classtvm_1_1runtime_1_1ShapeTuple.html#aa54548a384457ae73d758886881b6136',1,'tvm::runtime::ShapeTuple::S [...]
   ['shapetupleobj',['ShapeTupleObj',['../classtvm_1_1runtime_1_1ShapeTupleObj.html',1,'tvm::runtime']]],
   ['shash',['shash',['../classtvm_1_1meta__schedule_1_1WorkloadNode.html#a96812f1418c68d5aeb11331fd76aab1c',1,'tvm::meta_schedule::WorkloadNode']]],
-  ['shashreduce',['SHashReduce',['../structtvm_1_1detail_1_1ImplSHashReduce.html#a52b81cd95647e6f528636cfc25c48310',1,'tvm::detail::ImplSHashReduce::SHashReduce()'],['../structtvm_1_1detail_1_1SelectSHashReduce.html#a15d1f727168445c18ee9d30fa37084cb',1,'tvm::detail::SelectSHashReduce::SHashReduce()'],['../classtvm_1_1arith_1_1IntGroupBoundsNode.html#a71e8fc74e310707de162df8435702a61',1,'tvm::arith::IntGroupBoundsNode::SHashReduce()'],['../classtvm_1_1arith_1_1IntConstraintsNode.html#add6 [...]
+  ['shashreduce',['SHashReduce',['../structtvm_1_1detail_1_1ImplSHashReduce.html#a52b81cd95647e6f528636cfc25c48310',1,'tvm::detail::ImplSHashReduce::SHashReduce()'],['../structtvm_1_1detail_1_1SelectSHashReduce.html#a15d1f727168445c18ee9d30fa37084cb',1,'tvm::detail::SelectSHashReduce::SHashReduce()'],['../classtvm_1_1arith_1_1IntGroupBoundsNode.html#a71e8fc74e310707de162df8435702a61',1,'tvm::arith::IntGroupBoundsNode::SHashReduce()'],['../classtvm_1_1arith_1_1IntConstraintsNode.html#add6 [...]
   ['shashreducefreevar',['SHashReduceFreeVar',['../classtvm_1_1SHashReducer_1_1Handler.html#ab2fe484814770615ef9ddb1f6a6f2dfb',1,'tvm::SHashReducer::Handler']]],
   ['shashreducehashedvalue',['SHashReduceHashedValue',['../classtvm_1_1SHashReducer_1_1Handler.html#a1bb22d4bb3983b4c3ca87b0daef7f93b',1,'tvm::SHashReducer::Handler']]],
   ['shashreducer',['SHashReducer',['../classtvm_1_1SHashReducer.html',1,'tvm::SHashReducer'],['../classtvm_1_1SHashReducer.html#af7eb7ccc3e5863fe580f1b8dceac5d88',1,'tvm::SHashReducer::SHashReducer()=default'],['../classtvm_1_1SHashReducer.html#acb4d90cb74f617620d0027649adf8f17',1,'tvm::SHashReducer::SHashReducer(Handler *handler, bool map_free_vars)']]],
diff --git a/docs/reference/api/doxygen/search/all_17.js b/docs/reference/api/doxygen/search/all_17.js
index 755fe926b..dafe0ee10 100644
--- a/docs/reference/api/doxygen/search/all_17.js
+++ b/docs/reference/api/doxygen/search/all_17.js
@@ -57,7 +57,7 @@ var searchData=
   ['vision_2eh',['vision.h',['../vision_8h.html',1,'']]],
   ['visit_5fcounter_5f',['visit_counter_',['../classtvm_1_1relay_1_1ExprVisitor.html#a27e6d787cccbf7ae04fe53b7b8a62d60',1,'tvm::relay::ExprVisitor']]],
   ['visit_5flimit_5f',['visit_limit_',['../classtvm_1_1relay_1_1MixedModeVisitor.html#aa6ea62e128a480d6321abd882b2e3bdb',1,'tvm::relay::MixedModeVisitor']]],
-  ['visitattrs',['VisitAttrs',['../structtvm_1_1detail_1_1ImplVisitAttrs.html#afd7588fbc6336565b47c77d04b0ab69b',1,'tvm::detail::ImplVisitAttrs::VisitAttrs()'],['../structtvm_1_1detail_1_1SelectVisitAttrs.html#aacd15172d6c63d2008e1d109530d174f',1,'tvm::detail::SelectVisitAttrs::VisitAttrs()'],['../structtvm_1_1NDArrayContainerTrait.html#a90486680419c4c72624df326df7c7617',1,'tvm::NDArrayContainerTrait::VisitAttrs()'],['../classtvm_1_1arith_1_1ConstIntBoundNode.html#ac3b75966532b9fa16d96df [...]
+  ['visitattrs',['VisitAttrs',['../structtvm_1_1detail_1_1ImplVisitAttrs.html#afd7588fbc6336565b47c77d04b0ab69b',1,'tvm::detail::ImplVisitAttrs::VisitAttrs()'],['../structtvm_1_1detail_1_1SelectVisitAttrs.html#aacd15172d6c63d2008e1d109530d174f',1,'tvm::detail::SelectVisitAttrs::VisitAttrs()'],['../structtvm_1_1NDArrayContainerTrait.html#a90486680419c4c72624df326df7c7617',1,'tvm::NDArrayContainerTrait::VisitAttrs()'],['../classtvm_1_1arith_1_1ConstIntBoundNode.html#ac3b75966532b9fa16d96df [...]
   ['visitclause',['VisitClause',['../classtvm_1_1relay_1_1ExprVisitor.html#ab109b327586181cecf76f7b5c562e91b',1,'tvm::relay::ExprVisitor::VisitClause()'],['../classtvm_1_1relay_1_1ExprMutator.html#ae24134355b0e8c77aaab58c28a94202a',1,'tvm::relay::ExprMutator::VisitClause()']]],
   ['visitconstructor',['VisitConstructor',['../classtvm_1_1relay_1_1PatternVisitor.html#ace76ea7238295c0be6924c1f0fd85826',1,'tvm::relay::PatternVisitor::VisitConstructor()'],['../classtvm_1_1relay_1_1PatternMutator.html#a03cf1d4afb8443e2f1decb4512d7c4ad',1,'tvm::relay::PatternMutator::VisitConstructor()']]],
   ['visitdfpattern',['VisitDFPattern',['../classtvm_1_1relay_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html#aa9069b73ba737cc6b53340fcda154da9',1,'tvm::relay::DFPatternFunctor&lt; R(const DFPattern &amp;n, Args...)&gt;::VisitDFPattern()'],['../classtvm_1_1relay_1_1DFPatternVisitor.html#ae7e67d3a1709b0a180572417698ffaa8',1,'tvm::relay::DFPatternVisitor::VisitDFPattern()']]],
diff --git a/docs/reference/api/doxygen/search/functions_13.js b/docs/reference/api/doxygen/search/functions_13.js
index 7aa6fadf8..5795fabf9 100644
--- a/docs/reference/api/doxygen/search/functions_13.js
+++ b/docs/reference/api/doxygen/search/functions_13.js
@@ -41,7 +41,7 @@ var searchData=
   ['sendbodychunk',['SendBodyChunk',['../classtvm_1_1runtime_1_1micro__rpc_1_1Session.html#a37b77101825145283cced6cd05eb502c',1,'tvm::runtime::micro_rpc::Session']]],
   ['sendmessage',['SendMessage',['../classtvm_1_1runtime_1_1micro__rpc_1_1Session.html#a6e540521a7e9188564da712c0641619c',1,'tvm::runtime::micro_rpc::Session']]],
   ['seqstmt',['SeqStmt',['../classtvm_1_1tir_1_1SeqStmt.html#afe971b51fb6990008a118d4aa16c0920',1,'tvm::tir::SeqStmt']]],
-  ['sequalreduce',['SEqualReduce',['../classtvm_1_1arith_1_1ConstIntBoundNode.html#ad7be026c2fbdd9c6fb439d6959300541',1,'tvm::arith::ConstIntBoundNode::SEqualReduce()'],['../classtvm_1_1arith_1_1ModularSetNode.html#a8632a4af73b6c0ae5ba9b0857f306b02',1,'tvm::arith::ModularSetNode::SEqualReduce()'],['../classtvm_1_1arith_1_1IntGroupBoundsNode.html#a0a53ec88a0c94bc074b4675f5e1ae556',1,'tvm::arith::IntGroupBoundsNode::SEqualReduce()'],['../classtvm_1_1arith_1_1IntConstraintsNode.html#a1e3983 [...]
+  ['sequalreduce',['SEqualReduce',['../classtvm_1_1arith_1_1ConstIntBoundNode.html#ad7be026c2fbdd9c6fb439d6959300541',1,'tvm::arith::ConstIntBoundNode::SEqualReduce()'],['../classtvm_1_1arith_1_1ModularSetNode.html#a8632a4af73b6c0ae5ba9b0857f306b02',1,'tvm::arith::ModularSetNode::SEqualReduce()'],['../classtvm_1_1arith_1_1IntGroupBoundsNode.html#a0a53ec88a0c94bc074b4675f5e1ae556',1,'tvm::arith::IntGroupBoundsNode::SEqualReduce()'],['../classtvm_1_1arith_1_1IntConstraintsNode.html#a1e3983 [...]
   ['sequalreducer',['SEqualReducer',['../classtvm_1_1SEqualReducer.html#abb85d3142af880fb96ae79423e5c382e',1,'tvm::SEqualReducer::SEqualReducer()=default'],['../classtvm_1_1SEqualReducer.html#a2562e028a0298c0e45d5ebbb98545fa4',1,'tvm::SEqualReducer::SEqualReducer(Handler *handler, bool map_free_vars)']]],
   ['sequence_5fmask',['sequence_mask',['../namespacetvm_1_1topi.html#a037a112cc5c556107797e36e7feb0873',1,'tvm::topi']]],
   ['sequential',['Sequential',['../classtvm_1_1transform_1_1Sequential.html#a99d7f2f204cb666b33e54c45f679d20c',1,'tvm::transform::Sequential::Sequential(Array&lt; Pass &gt; passes, PassInfo pass_info)'],['../classtvm_1_1transform_1_1Sequential.html#aafda50d75707bab6576a31b1e058b71f',1,'tvm::transform::Sequential::Sequential(Array&lt; Pass &gt; passes, String name=&quot;sequential&quot;)'],['../classtvm_1_1transform_1_1Sequential.html#abfea4507335788cb4d2cf0cfe605d3d6',1,'tvm::transform:: [...]
@@ -105,7 +105,7 @@ var searchData=
   ['shapepattern',['ShapePattern',['../classtvm_1_1relay_1_1ShapePattern.html#a853201a9d5df8de96713a58c292e8698',1,'tvm::relay::ShapePattern']]],
   ['shapestring',['ShapeString',['../namespacetvm_1_1runtime_1_1profiling.html#a0db7b8aaaf50308b175b79c8fee98f13',1,'tvm::runtime::profiling::ShapeString(const std::vector&lt; NDArray &gt; &amp;shapes)'],['../namespacetvm_1_1runtime_1_1profiling.html#ad7ca3a291b9d8d5ec27e5367cd2d0edf',1,'tvm::runtime::profiling::ShapeString(NDArray shape, DLDataType dtype)'],['../namespacetvm_1_1runtime_1_1profiling.html#ad031e70431cc716c8ff9c36aaad18197',1,'tvm::runtime::profiling::ShapeString(const std [...]
   ['shapetuple',['ShapeTuple',['../classtvm_1_1runtime_1_1ShapeTuple.html#aa54548a384457ae73d758886881b6136',1,'tvm::runtime::ShapeTuple::ShapeTuple()'],['../classtvm_1_1runtime_1_1ShapeTuple.html#a6836ad757cbcac207ddf025a74ac2ef2',1,'tvm::runtime::ShapeTuple::ShapeTuple(IterType begin, IterType end)'],['../classtvm_1_1runtime_1_1ShapeTuple.html#a7015b56c1a918607b1e220b43fc86d10',1,'tvm::runtime::ShapeTuple::ShapeTuple(std::initializer_list&lt; index_type &gt; shape)'],['../classtvm_1_1r [...]
-  ['shashreduce',['SHashReduce',['../classtvm_1_1arith_1_1IntGroupBoundsNode.html#a71e8fc74e310707de162df8435702a61',1,'tvm::arith::IntGroupBoundsNode::SHashReduce()'],['../classtvm_1_1arith_1_1IntConstraintsNode.html#add6e128afc66485e71854a8800c90c7a',1,'tvm::arith::IntConstraintsNode::SHashReduce()'],['../classtvm_1_1arith_1_1IntConstraintsTransformNode.html#aa7709f098845b8c6207dfcf7845c036c',1,'tvm::arith::IntConstraintsTransformNode::SHashReduce()'],['../classtvm_1_1arith_1_1IterMark [...]
+  ['shashreduce',['SHashReduce',['../classtvm_1_1arith_1_1IntGroupBoundsNode.html#a71e8fc74e310707de162df8435702a61',1,'tvm::arith::IntGroupBoundsNode::SHashReduce()'],['../classtvm_1_1arith_1_1IntConstraintsNode.html#add6e128afc66485e71854a8800c90c7a',1,'tvm::arith::IntConstraintsNode::SHashReduce()'],['../classtvm_1_1arith_1_1IntConstraintsTransformNode.html#aa7709f098845b8c6207dfcf7845c036c',1,'tvm::arith::IntConstraintsTransformNode::SHashReduce()'],['../classtvm_1_1arith_1_1IterMark [...]
   ['shashreducefreevar',['SHashReduceFreeVar',['../classtvm_1_1SHashReducer_1_1Handler.html#ab2fe484814770615ef9ddb1f6a6f2dfb',1,'tvm::SHashReducer::Handler']]],
   ['shashreducehashedvalue',['SHashReduceHashedValue',['../classtvm_1_1SHashReducer_1_1Handler.html#a1bb22d4bb3983b4c3ca87b0daef7f93b',1,'tvm::SHashReducer::Handler']]],
   ['shashreducer',['SHashReducer',['../classtvm_1_1SHashReducer.html#af7eb7ccc3e5863fe580f1b8dceac5d88',1,'tvm::SHashReducer::SHashReducer()=default'],['../classtvm_1_1SHashReducer.html#acb4d90cb74f617620d0027649adf8f17',1,'tvm::SHashReducer::SHashReducer(Handler *handler, bool map_free_vars)']]],
diff --git a/docs/reference/api/doxygen/search/functions_16.js b/docs/reference/api/doxygen/search/functions_16.js
index 01f033484..f2bb05194 100644
--- a/docs/reference/api/doxygen/search/functions_16.js
+++ b/docs/reference/api/doxygen/search/functions_16.js
@@ -20,7 +20,7 @@ var searchData=
   ['virtual_5fdevice',['virtual_device',['../classtvm_1_1RelayExprNode.html#ac4e639dd9f33f304800851364f471eb1',1,'tvm::RelayExprNode']]],
   ['virtualdevice',['VirtualDevice',['../classtvm_1_1VirtualDevice.html#a3fc9e14cd829c1f44b3b2da4f6c1b47f',1,'tvm::VirtualDevice']]],
   ['virtualmachine',['VirtualMachine',['../classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a6edbbbb71000617f644232de37d53338',1,'tvm::runtime::vm::VirtualMachine']]],
-  ['visitattrs',['VisitAttrs',['../classtvm_1_1arith_1_1ConstIntBoundNode.html#ac3b75966532b9fa16d96df991f33076f',1,'tvm::arith::ConstIntBoundNode::VisitAttrs()'],['../classtvm_1_1arith_1_1ModularSetNode.html#a5b5bf53e26881ec83777f2a3c41a4031',1,'tvm::arith::ModularSetNode::VisitAttrs()'],['../classtvm_1_1arith_1_1IntGroupBoundsNode.html#a619313895f0cac8971387df69d0be79f',1,'tvm::arith::IntGroupBoundsNode::VisitAttrs()'],['../classtvm_1_1arith_1_1IntConstraintsNode.html#a573e4d3c082de85b [...]
+  ['visitattrs',['VisitAttrs',['../classtvm_1_1arith_1_1ConstIntBoundNode.html#ac3b75966532b9fa16d96df991f33076f',1,'tvm::arith::ConstIntBoundNode::VisitAttrs()'],['../classtvm_1_1arith_1_1ModularSetNode.html#a5b5bf53e26881ec83777f2a3c41a4031',1,'tvm::arith::ModularSetNode::VisitAttrs()'],['../classtvm_1_1arith_1_1IntGroupBoundsNode.html#a619313895f0cac8971387df69d0be79f',1,'tvm::arith::IntGroupBoundsNode::VisitAttrs()'],['../classtvm_1_1arith_1_1IntConstraintsNode.html#a573e4d3c082de85b [...]
   ['visitclause',['VisitClause',['../classtvm_1_1relay_1_1ExprVisitor.html#ab109b327586181cecf76f7b5c562e91b',1,'tvm::relay::ExprVisitor::VisitClause()'],['../classtvm_1_1relay_1_1ExprMutator.html#ae24134355b0e8c77aaab58c28a94202a',1,'tvm::relay::ExprMutator::VisitClause()']]],
   ['visitconstructor',['VisitConstructor',['../classtvm_1_1relay_1_1PatternVisitor.html#ace76ea7238295c0be6924c1f0fd85826',1,'tvm::relay::PatternVisitor::VisitConstructor()'],['../classtvm_1_1relay_1_1PatternMutator.html#a03cf1d4afb8443e2f1decb4512d7c4ad',1,'tvm::relay::PatternMutator::VisitConstructor()']]],
   ['visitdfpattern',['VisitDFPattern',['../classtvm_1_1relay_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html#aa9069b73ba737cc6b53340fcda154da9',1,'tvm::relay::DFPatternFunctor&lt; R(const DFPattern &amp;n, Args...)&gt;::VisitDFPattern()'],['../classtvm_1_1relay_1_1DFPatternVisitor.html#ae7e67d3a1709b0a180572417698ffaa8',1,'tvm::relay::DFPatternVisitor::VisitDFPattern()']]],
diff --git a/docs/reference/api/doxygen/structtvm_1_1ConstantPoolInfoNode-members.html b/docs/reference/api/doxygen/structtvm_1_1ConstantPoolInfoNode-members.html
index 8047bd3ec..beb4c0ff3 100644
--- a/docs/reference/api/doxygen/structtvm_1_1ConstantPoolInfoNode-members.html
+++ b/docs/reference/api/doxygen/structtvm_1_1ConstantPoolInfoNode-members.html
@@ -100,22 +100,23 @@ $(function() {
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a0d492efee331e2239a093f4b2017c10f">ref_counter_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a55549a6c23987890246248682560a03d">RefCounterType</a> typedef</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ad94d79729ac85aa7c976e23d39066383">RuntimeTypeIndex</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#afbac7d6a6c6a212828ddec63b273e9d9">SEqualReduce</a>(const PoolInfoNode *other, SEqualReducer equal) const</td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#aa40bce0f9b3a6b97922b70babe25d7f4">SHashReduce</a>(SHashReducer hash_reduce) const</td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#ac073aeb75bf031ff8687e132bc112f92">size_hint_bytes</a></td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#a747c03e3eafc83b053637b735244c6d7">target_burst_bytes</a></td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#a45f1c1873709d0f38d2e9098b7e979cb">targets</a></td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#aa77d99ed8fea9dd7e6345ae187570d92">TVM_DECLARE_BASE_OBJECT_INFO</a>(PoolInfoNode, Object)</td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#a1ff57d4abee1c4d3ef08890de6e41efc">TVM_DECLARE_FINAL_OBJECT_INFO</a>(ConstantPoolInfoNode, PoolInfoNode)</td><td class="entry"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html">tvm::ConstantPoolInfoNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a481f01923b14e1851ebd38506e9c66ea">type_index</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a4bfc2586cb55f2af47728187b3256255">type_index_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a817ba6c23b7ee1821c48a75edf255a30">TypeIndex2Key</a>(uint32_t tindex)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a6ee32a02dd44257da105fbbe5d9c8622">TypeIndex2KeyHash</a>(uint32_t tindex)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a6841f97e06e6614dd7e82c6dd41b818a">TypeKey2Index</a>(const std::string &amp;key)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#afd548730a6139d19fe24473ad66026d7">unique</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#ac5b782ed9aa601b042c4a7f10628d25a">VisitAttrs</a>(tvm::AttrVisitor *v)</td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#a234ad11ae914b5e938c52a593da20411">write_bandwidth_bytes_per_cycle</a></td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#a444e2db8569e8bae01871b6749b83d31">write_latency_cycles</a></td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#a78769f96efe4e6e70275f918a1965ca1">SEqualReduce</a>(const ConstantPoolInfoNode *other, SEqualReducer equal) const</td><td class="entry"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html">tvm::ConstantPoolInfoNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#afbac7d6a6c6a212828ddec63b273e9d9">tvm::PoolInfoNode::SEqualReduce</a>(const PoolInfoNode *other, SEqualReducer equal) const</td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#abdfca3b12874ad29d203107c7ca8dcb5">SHashReduce</a>(SHashReducer hash_reduce) const</td><td class="entry"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html">tvm::ConstantPoolInfoNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#ac073aeb75bf031ff8687e132bc112f92">size_hint_bytes</a></td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#a747c03e3eafc83b053637b735244c6d7">target_burst_bytes</a></td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#a45f1c1873709d0f38d2e9098b7e979cb">targets</a></td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#aa77d99ed8fea9dd7e6345ae187570d92">TVM_DECLARE_BASE_OBJECT_INFO</a>(PoolInfoNode, Object)</td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#a1ff57d4abee1c4d3ef08890de6e41efc">TVM_DECLARE_FINAL_OBJECT_INFO</a>(ConstantPoolInfoNode, PoolInfoNode)</td><td class="entry"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html">tvm::ConstantPoolInfoNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a481f01923b14e1851ebd38506e9c66ea">type_index</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a4bfc2586cb55f2af47728187b3256255">type_index_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a817ba6c23b7ee1821c48a75edf255a30">TypeIndex2Key</a>(uint32_t tindex)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a6ee32a02dd44257da105fbbe5d9c8622">TypeIndex2KeyHash</a>(uint32_t tindex)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a6841f97e06e6614dd7e82c6dd41b818a">TypeKey2Index</a>(const std::string &amp;key)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#afd548730a6139d19fe24473ad66026d7">unique</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#a1898f6d9cdf06b3ce199bc6f9f45f8f1">VisitAttrs</a>(tvm::AttrVisitor *v)</td><td class="entry"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html">tvm::ConstantPoolInfoNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#a234ad11ae914b5e938c52a593da20411">write_bandwidth_bytes_per_cycle</a></td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html#a444e2db8569e8bae01871b6749b83d31">write_latency_cycles</a></td><td class="entry"><a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
diff --git a/docs/reference/api/doxygen/structtvm_1_1ConstantPoolInfoNode.html b/docs/reference/api/doxygen/structtvm_1_1ConstantPoolInfoNode.html
index fbb47b3f1..6677c2d3d 100644
--- a/docs/reference/api/doxygen/structtvm_1_1ConstantPoolInfoNode.html
+++ b/docs/reference/api/doxygen/structtvm_1_1ConstantPoolInfoNode.html
@@ -76,18 +76,24 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::ConstantPoolInfoNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="structtvm_1_1ConstantPoolInfoNode__inherit__graph.svg" width="290" height="1028"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="structtvm_1_1ConstantPoolInfoNode__inherit__graph.svg" width="290" height="1072"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <div class="dynheader">
 Collaboration diagram for tvm::ConstantPoolInfoNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="structtvm_1_1ConstantPoolInfoNode__coll__graph.svg" width="1074" height="2935"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="structtvm_1_1ConstantPoolInfoNode__coll__graph.svg" width="1074" height="2979"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
 Public Member Functions</h2></td></tr>
+<tr class="memitem:a1898f6d9cdf06b3ce199bc6f9f45f8f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#a1898f6d9cdf06b3ce199bc6f9f45f8f1">VisitAttrs</a> (<a class="el" href="classtvm_1_1AttrVisitor.html">tvm::AttrVisitor</a> *v)</td></tr>
+<tr class="separator:a1898f6d9cdf06b3ce199bc6f9f45f8f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78769f96efe4e6e70275f918a1965ca1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#a78769f96efe4e6e70275f918a1965ca1">SEqualReduce</a> (const <a class="el" href="structtvm_1_1ConstantPoolInfoNode.html">ConstantPoolInfoNode</a> *other, <a class="el" href="classtvm_1_1SEqualReducer.html">SEqualReducer</a> <a class="el" href="namespacetvm.html#a1c4f14382b8 [...]
+<tr class="separator:a78769f96efe4e6e70275f918a1965ca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abdfca3b12874ad29d203107c7ca8dcb5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#abdfca3b12874ad29d203107c7ca8dcb5">SHashReduce</a> (<a class="el" href="classtvm_1_1SHashReducer.html">SHashReducer</a> hash_reduce) const</td></tr>
+<tr class="separator:abdfca3b12874ad29d203107c7ca8dcb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1ff57d4abee1c4d3ef08890de6e41efc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html#a1ff57d4abee1c4d3ef08890de6e41efc">TVM_DECLARE_FINAL_OBJECT_INFO</a> (<a class="el" href="structtvm_1_1ConstantPoolInfoNode.html">ConstantPoolInfoNode</a>, <a class="el" href="structtvm_1_1PoolInfoNode.html">PoolInfoNode</a>)</td></tr>
 <tr class="separator:a1ff57d4abee1c4d3ef08890de6e41efc"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="inherit_header pub_methods_structtvm_1_1PoolInfoNode"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structtvm_1_1PoolInfoNode')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="structtvm_1_1PoolInfoNode.html">tvm::PoolInfoNode</a></td></tr>
@@ -228,6 +234,68 @@ Additional Inherited Members</h2></td></tr>
 <tr class="separator:af4407d2b59132e803ff791482dbe0145 inherit pro_attribs_classtvm_1_1runtime_1_1Object"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Member Function Documentation</h2>
+<a id="a78769f96efe4e6e70275f918a1965ca1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78769f96efe4e6e70275f918a1965ca1">&#9670;&nbsp;</a></span>SEqualReduce()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool tvm::ConstantPoolInfoNode::SEqualReduce </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="structtvm_1_1ConstantPoolInfoNode.html">ConstantPoolInfoNode</a> *&#160;</td>
+          <td class="paramname"><em>other</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1SEqualReducer.html">SEqualReducer</a>&#160;</td>
+          <td class="paramname"><em>equal</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abdfca3b12874ad29d203107c7ca8dcb5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abdfca3b12874ad29d203107c7ca8dcb5">&#9670;&nbsp;</a></span>SHashReduce()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tvm::ConstantPoolInfoNode::SHashReduce </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1SHashReducer.html">SHashReducer</a>&#160;</td>
+          <td class="paramname"><em>hash_reduce</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
 <a id="a1ff57d4abee1c4d3ef08890de6e41efc"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a1ff57d4abee1c4d3ef08890de6e41efc">&#9670;&nbsp;</a></span>TVM_DECLARE_FINAL_OBJECT_INFO()</h2>
 
@@ -254,6 +322,32 @@ Additional Inherited Members</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+</div>
+</div>
+<a id="a1898f6d9cdf06b3ce199bc6f9f45f8f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1898f6d9cdf06b3ce199bc6f9f45f8f1">&#9670;&nbsp;</a></span>VisitAttrs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tvm::ConstantPoolInfoNode::VisitAttrs </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1AttrVisitor.html">tvm::AttrVisitor</a> *&#160;</td>
+          <td class="paramname"><em>v</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
 </div>
 </div>
 <h2 class="groupheader">Member Data Documentation</h2>
diff --git a/docs/reference/api/doxygen/structtvm_1_1ConstantPoolInfoNode__coll__graph.svg b/docs/reference/api/doxygen/structtvm_1_1ConstantPoolInfoNode__coll__graph.svg
index 9cc51b990..74c07981e 100644
--- a/docs/reference/api/doxygen/structtvm_1_1ConstantPoolInfoNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/structtvm_1_1ConstantPoolInfoNode__coll__graph.svg
@@ -4,414 +4,417 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: tvm::ConstantPoolInfoNode Pages: 1 -->
-<svg width="805pt" height="2201pt"
- viewBox="0.00 0.00 805.00 2201.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2197)">
+<svg width="805pt" height="2234pt"
+ viewBox="0.00 0.00 805.00 2234.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2230)">
 <title>tvm::ConstantPoolInfoNode</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2197 801,-2197 801,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2230 801,-2230 801,4 -4,4"/>
 <!-- Node3 -->
 <g id="node1" class="node">
 <title>Node3</title>
-<polygon fill="#bfbfbf" stroke="#000000" points="457,-.5 457,-57.5 666,-57.5 666,-.5 457,-.5"/>
-<text text-anchor="middle" x="561.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ConstantPoolInfoNode</text>
-<polyline fill="none" stroke="#000000" points="457,-38.5 666,-38.5 "/>
-<text text-anchor="start" x="465" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<polyline fill="none" stroke="#000000" points="457,-19.5 666,-19.5 "/>
+<polygon fill="#bfbfbf" stroke="#000000" points="457,-.5 457,-90.5 666,-90.5 666,-.5 457,-.5"/>
+<text text-anchor="middle" x="561.5" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ConstantPoolInfoNode</text>
+<polyline fill="none" stroke="#000000" points="457,-71.5 666,-71.5 "/>
+<text text-anchor="start" x="465" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<polyline fill="none" stroke="#000000" points="457,-52.5 666,-52.5 "/>
+<text text-anchor="start" x="465" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
+<text text-anchor="start" x="465" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ SEqualReduce()</text>
+<text text-anchor="start" x="465" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ SHashReduce()</text>
 <text text-anchor="start" x="465" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_FINAL_OBJECT_INFO()</text>
 </g>
 <!-- Node4 -->
 <g id="node2" class="node">
 <title>Node4</title>
 <g id="a_node2"><a xlink:href="structtvm_1_1PoolInfoNode.html" target="_top" xlink:title="Describes a pool of memory accessible by one or more targets. ">
-<polygon fill="#ffffff" stroke="#000000" points="354,-95.5 354,-196.5 561,-196.5 561,-95.5 354,-95.5"/>
-<text text-anchor="middle" x="457.5" y="-184.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PoolInfoNode</text>
-<polyline fill="none" stroke="#000000" points="354,-177.5 561,-177.5 "/>
-<text text-anchor="start" x="362" y="-165.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ is_internal</text>
-<text text-anchor="start" x="362" y="-154.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<polyline fill="none" stroke="#000000" points="354,-147.5 561,-147.5 "/>
-<text text-anchor="start" x="362" y="-135.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
-<text text-anchor="start" x="362" y="-124.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ SEqualReduce()</text>
-<text text-anchor="start" x="362" y="-113.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ SHashReduce()</text>
-<text text-anchor="start" x="362" y="-102.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
+<polygon fill="#ffffff" stroke="#000000" points="354,-128.5 354,-229.5 561,-229.5 561,-128.5 354,-128.5"/>
+<text text-anchor="middle" x="457.5" y="-217.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PoolInfoNode</text>
+<polyline fill="none" stroke="#000000" points="354,-210.5 561,-210.5 "/>
+<text text-anchor="start" x="362" y="-198.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ is_internal</text>
+<text text-anchor="start" x="362" y="-187.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<polyline fill="none" stroke="#000000" points="354,-180.5 561,-180.5 "/>
+<text text-anchor="start" x="362" y="-168.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
+<text text-anchor="start" x="362" y="-157.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ SEqualReduce()</text>
+<text text-anchor="start" x="362" y="-146.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ SHashReduce()</text>
+<text text-anchor="start" x="362" y="-135.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node3 -->
 <g id="edge1" class="edge">
 <title>Node4&#45;&gt;Node3</title>
-<path fill="none" stroke="#191970" d="M509.2372,-87.7957C518.5002,-77.3747 527.7744,-66.9413 535.8839,-57.8181"/>
-<polygon fill="none" stroke="#191970" points="506.5388,-85.5632 502.511,-95.3626 511.7707,-90.2137 506.5388,-85.5632"/>
+<path fill="none" stroke="#191970" d="M503.2844,-120.2287C511.0444,-110.2676 518.9917,-100.0659 526.4217,-90.5283"/>
+<polygon fill="none" stroke="#191970" points="500.4991,-118.1088 497.1146,-128.1485 506.0213,-122.4107 500.4991,-118.1088"/>
 </g>
 <!-- Node5 -->
 <g id="node3" class="node">
 <title>Node5</title>
 <g id="a_node3"><a xlink:href="classtvm_1_1runtime_1_1Object.html" target="_top" xlink:title="base class of all object containers. ">
-<polygon fill="#ffffff" stroke="#000000" points="0,-412.5 0,-799.5 183,-799.5 183,-412.5 0,-412.5"/>
-<text text-anchor="middle" x="91.5" y="-787.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
-<polyline fill="none" stroke="#000000" points="0,-780.5 183,-780.5 "/>
-<text text-anchor="start" x="8" y="-768.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<text text-anchor="start" x="8" y="-757.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_final</text>
-<text text-anchor="start" x="8" y="-746.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots</text>
-<text text-anchor="start" x="8" y="-735.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots_can</text>
-<text text-anchor="start" x="8" y="-724.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_overflow</text>
-<text text-anchor="start" x="8" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_visit</text>
-<text text-anchor="start" x="8" y="-702.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attrs</text>
-<text text-anchor="start" x="8" y="-691.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="8" y="-680.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
-<text text-anchor="start" x="8" y="-669.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_shash</text>
-<text text-anchor="start" x="8" y="-658.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
-<text text-anchor="start" x="8" y="-647.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_index</text>
-<text text-anchor="start" x="8" y="-636.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># type_index_</text>
-<text text-anchor="start" x="8" y="-625.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># ref_counter_</text>
-<polyline fill="none" stroke="#000000" points="0,-618.5 183,-618.5 "/>
-<text text-anchor="start" x="8" y="-606.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ type_index()</text>
-<text text-anchor="start" x="8" y="-595.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKey()</text>
-<text text-anchor="start" x="8" y="-584.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKeyHash()</text>
-<text text-anchor="start" x="8" y="-573.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsInstance()</text>
-<text text-anchor="start" x="8" y="-562.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
-<text text-anchor="start" x="8" y="-551.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
-<text text-anchor="start" x="8" y="-540.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
-<text text-anchor="start" x="8" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
-<text text-anchor="start" x="8" y="-518.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="8" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="8" y="-496.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2Key()</text>
-<text text-anchor="start" x="8" y="-485.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2KeyHash()</text>
-<text text-anchor="start" x="8" y="-474.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeKey2Index()</text>
-<text text-anchor="start" x="8" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _GetOrAllocRuntimeTypeIndex()</text>
-<text text-anchor="start" x="8" y="-452.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ RuntimeTypeIndex()</text>
-<text text-anchor="start" x="8" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># IncRef()</text>
-<text text-anchor="start" x="8" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
-<text text-anchor="start" x="8" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
+<polygon fill="#ffffff" stroke="#000000" points="0,-445.5 0,-832.5 183,-832.5 183,-445.5 0,-445.5"/>
+<text text-anchor="middle" x="91.5" y="-820.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
+<polyline fill="none" stroke="#000000" points="0,-813.5 183,-813.5 "/>
+<text text-anchor="start" x="8" y="-801.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<text text-anchor="start" x="8" y="-790.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_final</text>
+<text text-anchor="start" x="8" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots</text>
+<text text-anchor="start" x="8" y="-768.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots_can</text>
+<text text-anchor="start" x="8" y="-757.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_overflow</text>
+<text text-anchor="start" x="8" y="-746.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_visit</text>
+<text text-anchor="start" x="8" y="-735.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attrs</text>
+<text text-anchor="start" x="8" y="-724.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="8" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
+<text text-anchor="start" x="8" y="-702.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_shash</text>
+<text text-anchor="start" x="8" y="-691.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
+<text text-anchor="start" x="8" y="-680.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_index</text>
+<text text-anchor="start" x="8" y="-669.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># type_index_</text>
+<text text-anchor="start" x="8" y="-658.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># ref_counter_</text>
+<polyline fill="none" stroke="#000000" points="0,-651.5 183,-651.5 "/>
+<text text-anchor="start" x="8" y="-639.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ type_index()</text>
+<text text-anchor="start" x="8" y="-628.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKey()</text>
+<text text-anchor="start" x="8" y="-617.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKeyHash()</text>
+<text text-anchor="start" x="8" y="-606.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsInstance()</text>
+<text text-anchor="start" x="8" y="-595.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<text text-anchor="start" x="8" y="-584.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
+<text text-anchor="start" x="8" y="-573.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
+<text text-anchor="start" x="8" y="-562.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
+<text text-anchor="start" x="8" y="-551.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="8" y="-540.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="8" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2Key()</text>
+<text text-anchor="start" x="8" y="-518.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2KeyHash()</text>
+<text text-anchor="start" x="8" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeKey2Index()</text>
+<text text-anchor="start" x="8" y="-496.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _GetOrAllocRuntimeTypeIndex()</text>
+<text text-anchor="start" x="8" y="-485.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ RuntimeTypeIndex()</text>
+<text text-anchor="start" x="8" y="-474.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># IncRef()</text>
+<text text-anchor="start" x="8" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
+<text text-anchor="start" x="8" y="-452.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
 </a>
 </g>
 </g>
 <!-- Node5&#45;&gt;Node4 -->
 <g id="edge2" class="edge">
 <title>Node5&#45;&gt;Node4</title>
-<path fill="none" stroke="#191970" d="M147.4799,-402.9107C174.4797,-335.7652 213.1713,-265.4192 267.5,-215 291.4228,-192.7987 323.0391,-177.6219 353.6019,-167.2958"/>
-<polygon fill="none" stroke="#191970" points="144.1654,-401.775 143.7473,-412.3616 150.676,-404.3464 144.1654,-401.775"/>
+<path fill="none" stroke="#191970" d="M147.4799,-435.9107C174.4797,-368.7652 213.1713,-298.4192 267.5,-248 291.4228,-225.7987 323.0391,-210.6219 353.6019,-200.2958"/>
+<polygon fill="none" stroke="#191970" points="144.1654,-434.775 143.7473,-445.3616 150.676,-437.3464 144.1654,-434.775"/>
 </g>
 <!-- Node5&#45;&gt;Node5 -->
 <g id="edge3" class="edge">
 <title>Node5&#45;&gt;Node5</title>
-<path fill="none" stroke="#404040" d="M183.3625,-654.0068C194.0482,-645.1468 201,-629.1445 201,-606 201,-589.3649 197.4087,-576.4194 191.4209,-567.1637"/>
-<polygon fill="none" stroke="#404040" points="191.2836,-567.0075 184.3183,-565.1407 183.3625,-557.9932 190.3278,-559.86 191.2836,-567.0075"/>
-<text text-anchor="middle" x="227" y="-603.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #deleter_</text>
+<path fill="none" stroke="#404040" d="M183.3625,-687.0068C194.0482,-678.1468 201,-662.1445 201,-639 201,-622.3649 197.4087,-609.4194 191.4209,-600.1637"/>
+<polygon fill="none" stroke="#404040" points="191.2836,-600.0075 184.3183,-598.1407 183.3625,-590.9932 190.3278,-592.86 191.2836,-600.0075"/>
+<text text-anchor="middle" x="227" y="-636.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #deleter_</text>
 </g>
 <!-- Node6 -->
 <g id="node4" class="node">
 <title>Node6</title>
 <g id="a_node4"><a xlink:href="classtvm_1_1runtime_1_1Array.html" target="_top" xlink:title="{tvm::runtime::Array\l\&lt; tvm::Target \&gt;\n||+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ operator=()\l+ operator=()\land 24 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="243,-1441.5 243,-1619.5 356,-1619.5 356,-1441.5 243,-1441.5"/>
-<text text-anchor="start" x="251" y="-1607.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
-<text text-anchor="middle" x="299.5" y="-1596.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::Target &gt;</text>
-<polyline fill="none" stroke="#000000" points="243,-1589.5 356,-1589.5 "/>
-<text text-anchor="middle" x="299.5" y="-1577.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="243,-1570.5 356,-1570.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="243,-1474.5 243,-1652.5 356,-1652.5 356,-1474.5 243,-1474.5"/>
+<text text-anchor="start" x="251" y="-1640.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
+<text text-anchor="middle" x="299.5" y="-1629.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::Target &gt;</text>
+<polyline fill="none" stroke="#000000" points="243,-1622.5 356,-1622.5 "/>
+<text text-anchor="middle" x="299.5" y="-1610.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="243,-1603.5 356,-1603.5 "/>
+<text text-anchor="start" x="251" y="-1591.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="251" y="-1580.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="251" y="-1569.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="251" y="-1558.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="251" y="-1547.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="251" y="-1536.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="251" y="-1525.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="251" y="-1514.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="251" y="-1503.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="251" y="-1492.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="251" y="-1481.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="251" y="-1470.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="251" y="-1459.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="251" y="-1448.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 24 more...</text>
+<text text-anchor="start" x="251" y="-1503.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="251" y="-1492.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="251" y="-1481.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 24 more...</text>
 </a>
 </g>
 </g>
 <!-- Node6&#45;&gt;Node4 -->
 <g id="edge4" class="edge">
 <title>Node6&#45;&gt;Node4</title>
-<path fill="none" stroke="#404040" d="M291.7358,-1441.4191C286.8641,-1377.931 281.5,-1290.5349 281.5,-1213.5 281.5,-1213.5 281.5,-1213.5 281.5,-606 281.5,-429.0542 259.4577,-362.9615 356.5,-215 358.5873,-211.8175 360.8773,-208.7425 363.3314,-205.7754"/>
-<polygon fill="none" stroke="#404040" points="363.5715,-205.5135 364.6773,-198.3877 371.6803,-196.6677 370.5745,-203.7935 363.5715,-205.5135"/>
-<text text-anchor="middle" x="304.5" y="-1063.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +targets</text>
+<path fill="none" stroke="#404040" d="M291.7358,-1474.4191C286.8641,-1410.931 281.5,-1323.5349 281.5,-1246.5 281.5,-1246.5 281.5,-1246.5 281.5,-639 281.5,-462.0542 259.4577,-395.9615 356.5,-248 358.5873,-244.8175 360.8773,-241.7425 363.3314,-238.7754"/>
+<polygon fill="none" stroke="#404040" points="363.5715,-238.5135 364.6773,-231.3877 371.6803,-229.6677 370.5745,-236.7935 363.5715,-238.5135"/>
+<text text-anchor="middle" x="304.5" y="-1096.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +targets</text>
 </g>
 <!-- Node7 -->
 <g id="node5" class="node">
 <title>Node7</title>
 <g id="a_node5"><a xlink:href="classtvm_1_1runtime_1_1ObjectRef.html" target="_top" xlink:title="Base class of all object reference. ">
-<polygon fill="#ffffff" stroke="#000000" points="460.5,-1744.5 460.5,-1966.5 594.5,-1966.5 594.5,-1744.5 460.5,-1744.5"/>
-<text text-anchor="middle" x="527.5" y="-1954.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectRef</text>
-<polyline fill="none" stroke="#000000" points="460.5,-1947.5 594.5,-1947.5 "/>
-<text text-anchor="start" x="468.5" y="-1935.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_is_nullable</text>
-<polyline fill="none" stroke="#000000" points="460.5,-1928.5 594.5,-1928.5 "/>
-<text text-anchor="start" x="468.5" y="-1916.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
-<text text-anchor="start" x="468.5" y="-1905.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
-<text text-anchor="start" x="468.5" y="-1894.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ same_as()</text>
-<text text-anchor="start" x="468.5" y="-1883.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
-<text text-anchor="start" x="468.5" y="-1872.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
-<text text-anchor="start" x="468.5" y="-1861.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&lt;()</text>
-<text text-anchor="start" x="468.5" y="-1850.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ defined()</text>
-<text text-anchor="start" x="468.5" y="-1839.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
-<text text-anchor="start" x="468.5" y="-1828.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="468.5" y="-1817.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
-<text text-anchor="start" x="468.5" y="-1806.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ use_count()</text>
-<text text-anchor="start" x="468.5" y="-1795.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ as()</text>
-<text text-anchor="start" x="468.5" y="-1784.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># get_mutable()</text>
-<text text-anchor="start" x="468.5" y="-1773.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DowncastNoCheck()</text>
-<text text-anchor="start" x="468.5" y="-1762.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIClearAfterMove()</text>
-<text text-anchor="start" x="468.5" y="-1751.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetDataPtr()</text>
+<polygon fill="#ffffff" stroke="#000000" points="460.5,-1777.5 460.5,-1999.5 594.5,-1999.5 594.5,-1777.5 460.5,-1777.5"/>
+<text text-anchor="middle" x="527.5" y="-1987.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectRef</text>
+<polyline fill="none" stroke="#000000" points="460.5,-1980.5 594.5,-1980.5 "/>
+<text text-anchor="start" x="468.5" y="-1968.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_is_nullable</text>
+<polyline fill="none" stroke="#000000" points="460.5,-1961.5 594.5,-1961.5 "/>
+<text text-anchor="start" x="468.5" y="-1949.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
+<text text-anchor="start" x="468.5" y="-1938.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
+<text text-anchor="start" x="468.5" y="-1927.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ same_as()</text>
+<text text-anchor="start" x="468.5" y="-1916.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
+<text text-anchor="start" x="468.5" y="-1905.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
+<text text-anchor="start" x="468.5" y="-1894.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&lt;()</text>
+<text text-anchor="start" x="468.5" y="-1883.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ defined()</text>
+<text text-anchor="start" x="468.5" y="-1872.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
+<text text-anchor="start" x="468.5" y="-1861.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="468.5" y="-1850.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<text text-anchor="start" x="468.5" y="-1839.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ use_count()</text>
+<text text-anchor="start" x="468.5" y="-1828.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ as()</text>
+<text text-anchor="start" x="468.5" y="-1817.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># get_mutable()</text>
+<text text-anchor="start" x="468.5" y="-1806.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DowncastNoCheck()</text>
+<text text-anchor="start" x="468.5" y="-1795.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIClearAfterMove()</text>
+<text text-anchor="start" x="468.5" y="-1784.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetDataPtr()</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node6 -->
 <g id="edge5" class="edge">
 <title>Node7&#45;&gt;Node6</title>
-<path fill="none" stroke="#191970" d="M451.9309,-1814.5424C411.6154,-1788.8552 364.6471,-1752.0667 336.5,-1707 320.3295,-1681.1092 311.1094,-1649.3379 305.891,-1619.9209"/>
-<polygon fill="none" stroke="#191970" points="450.0894,-1817.5188 460.4237,-1819.8542 453.8014,-1811.584 450.0894,-1817.5188"/>
+<path fill="none" stroke="#191970" d="M451.9309,-1847.5424C411.6154,-1821.8552 364.6471,-1785.0667 336.5,-1740 320.3295,-1714.1092 311.1094,-1682.3379 305.891,-1652.9209"/>
+<polygon fill="none" stroke="#191970" points="450.0894,-1850.5188 460.4237,-1852.8542 453.8014,-1844.584 450.0894,-1850.5188"/>
 </g>
 <!-- Node12 -->
 <g id="node10" class="node">
 <title>Node12</title>
 <g id="a_node10"><a xlink:href="classtvm_1_1BaseExpr.html" target="_top" xlink:title="Managed reference to BaseExprNode. ">
-<polygon fill="#ffffff" stroke="#000000" points="345.5,-1638.5 345.5,-1706.5 499.5,-1706.5 499.5,-1638.5 345.5,-1638.5"/>
-<text text-anchor="middle" x="422.5" y="-1694.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseExpr</text>
-<polyline fill="none" stroke="#000000" points="345.5,-1687.5 499.5,-1687.5 "/>
-<text text-anchor="middle" x="422.5" y="-1675.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="345.5,-1668.5 499.5,-1668.5 "/>
-<text text-anchor="start" x="353.5" y="-1656.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="353.5" y="-1645.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
+<polygon fill="#ffffff" stroke="#000000" points="345.5,-1671.5 345.5,-1739.5 499.5,-1739.5 499.5,-1671.5 345.5,-1671.5"/>
+<text text-anchor="middle" x="422.5" y="-1727.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseExpr</text>
+<polyline fill="none" stroke="#000000" points="345.5,-1720.5 499.5,-1720.5 "/>
+<text text-anchor="middle" x="422.5" y="-1708.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="345.5,-1701.5 499.5,-1701.5 "/>
+<text text-anchor="start" x="353.5" y="-1689.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="353.5" y="-1678.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node12 -->
 <g id="edge11" class="edge">
 <title>Node7&#45;&gt;Node12</title>
-<path fill="none" stroke="#191970" d="M458.6265,-1735.4633C452.668,-1725.0785 447.0222,-1715.2386 442.041,-1706.5572"/>
-<polygon fill="none" stroke="#191970" points="455.6849,-1737.3694 463.6974,-1744.3012 461.7565,-1733.8857 455.6849,-1737.3694"/>
+<path fill="none" stroke="#191970" d="M458.6265,-1768.4633C452.668,-1758.0785 447.0222,-1748.2386 442.041,-1739.5572"/>
+<polygon fill="none" stroke="#191970" points="455.6849,-1770.3694 463.6974,-1777.3012 461.7565,-1766.8857 455.6849,-1770.3694"/>
 </g>
 <!-- Node13 -->
 <g id="node11" class="node">
 <title>Node13</title>
 <g id="a_node11"><a xlink:href="classtvm_1_1runtime_1_1Map.html" target="_top" xlink:title="{tvm::runtime::Map\&lt;\l tvm::Target, tvm::Integer \&gt;\n||+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ operator=()\l+ operator=()\l+ at()\land 12 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="451.5,-1124.5 451.5,-1302.5 603.5,-1302.5 603.5,-1124.5 451.5,-1124.5"/>
-<text text-anchor="start" x="459.5" y="-1290.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Map&lt;</text>
-<text text-anchor="middle" x="527.5" y="-1279.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> tvm::Target, tvm::Integer &gt;</text>
-<polyline fill="none" stroke="#000000" points="451.5,-1272.5 603.5,-1272.5 "/>
-<text text-anchor="middle" x="527.5" y="-1260.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="451.5,-1253.5 603.5,-1253.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="451.5,-1157.5 451.5,-1335.5 603.5,-1335.5 603.5,-1157.5 451.5,-1157.5"/>
+<text text-anchor="start" x="459.5" y="-1323.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Map&lt;</text>
+<text text-anchor="middle" x="527.5" y="-1312.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> tvm::Target, tvm::Integer &gt;</text>
+<polyline fill="none" stroke="#000000" points="451.5,-1305.5 603.5,-1305.5 "/>
+<text text-anchor="middle" x="527.5" y="-1293.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="451.5,-1286.5 603.5,-1286.5 "/>
+<text text-anchor="start" x="459.5" y="-1274.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="459.5" y="-1263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="459.5" y="-1252.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
 <text text-anchor="start" x="459.5" y="-1241.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
 <text text-anchor="start" x="459.5" y="-1230.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
 <text text-anchor="start" x="459.5" y="-1219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
 <text text-anchor="start" x="459.5" y="-1208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="459.5" y="-1197.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="459.5" y="-1186.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="459.5" y="-1175.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="459.5" y="-1164.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="459.5" y="-1153.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="459.5" y="-1142.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ at()</text>
-<text text-anchor="start" x="459.5" y="-1131.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 12 more...</text>
+<text text-anchor="start" x="459.5" y="-1197.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="459.5" y="-1186.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="459.5" y="-1175.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ at()</text>
+<text text-anchor="start" x="459.5" y="-1164.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 12 more...</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node13 -->
 <g id="edge13" class="edge">
 <title>Node7&#45;&gt;Node13</title>
-<path fill="none" stroke="#191970" d="M527.5,-1734.3422C527.5,-1608.6052 527.5,-1414.9364 527.5,-1302.5815"/>
-<polygon fill="none" stroke="#191970" points="524.0001,-1734.405 527.5,-1744.4051 531.0001,-1734.4051 524.0001,-1734.405"/>
+<path fill="none" stroke="#191970" d="M527.5,-1767.3422C527.5,-1641.6052 527.5,-1447.9364 527.5,-1335.5815"/>
+<polygon fill="none" stroke="#191970" points="524.0001,-1767.405 527.5,-1777.4051 531.0001,-1767.4051 524.0001,-1767.405"/>
 </g>
 <!-- Node14 -->
 <g id="node12" class="node">
 <title>Node14</title>
 <g id="a_node12"><a xlink:href="classtvm_1_1runtime_1_1String.html" target="_top" xlink:title="Reference to string objects. ">
-<polygon fill="#ffffff" stroke="#000000" points="635.5,-818.5 635.5,-1007.5 751.5,-1007.5 751.5,-818.5 635.5,-818.5"/>
-<text text-anchor="middle" x="693.5" y="-995.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::String</text>
-<polyline fill="none" stroke="#000000" points="635.5,-988.5 751.5,-988.5 "/>
-<text text-anchor="middle" x="693.5" y="-976.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="635.5,-969.5 751.5,-969.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="635.5,-851.5 635.5,-1040.5 751.5,-1040.5 751.5,-851.5 635.5,-851.5"/>
+<text text-anchor="middle" x="693.5" y="-1028.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::String</text>
+<polyline fill="none" stroke="#000000" points="635.5,-1021.5 751.5,-1021.5 "/>
+<text text-anchor="middle" x="693.5" y="-1009.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="635.5,-1002.5 751.5,-1002.5 "/>
+<text text-anchor="start" x="643.5" y="-990.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
+<text text-anchor="start" x="643.5" y="-979.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
+<text text-anchor="start" x="643.5" y="-968.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
 <text text-anchor="start" x="643.5" y="-957.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
-<text text-anchor="start" x="643.5" y="-946.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
-<text text-anchor="start" x="643.5" y="-935.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
-<text text-anchor="start" x="643.5" y="-924.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
-<text text-anchor="start" x="643.5" y="-913.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="643.5" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="643.5" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
-<text text-anchor="start" x="643.5" y="-880.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
-<text text-anchor="start" x="643.5" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
-<text text-anchor="start" x="643.5" y="-858.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="643.5" y="-847.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
-<text text-anchor="start" x="643.5" y="-836.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
-<text text-anchor="start" x="643.5" y="-825.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
+<text text-anchor="start" x="643.5" y="-946.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="643.5" y="-935.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="643.5" y="-924.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
+<text text-anchor="start" x="643.5" y="-913.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
+<text text-anchor="start" x="643.5" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
+<text text-anchor="start" x="643.5" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
+<text text-anchor="start" x="643.5" y="-880.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
+<text text-anchor="start" x="643.5" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
+<text text-anchor="start" x="643.5" y="-858.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node14 -->
 <g id="edge15" class="edge">
 <title>Node7&#45;&gt;Node14</title>
-<path fill="none" stroke="#191970" d="M601.7106,-1790.1268C629.9682,-1758.064 655.5,-1716.8288 655.5,-1672.5 655.5,-1672.5 655.5,-1672.5 655.5,-1213.5 655.5,-1144.2185 665.5648,-1066.6569 675.3347,-1007.6879"/>
-<polygon fill="none" stroke="#191970" points="599.0037,-1787.9014 594.8736,-1797.6581 604.1866,-1792.6065 599.0037,-1787.9014"/>
+<path fill="none" stroke="#191970" d="M601.7106,-1823.1268C629.9682,-1791.064 655.5,-1749.8288 655.5,-1705.5 655.5,-1705.5 655.5,-1705.5 655.5,-1246.5 655.5,-1177.2185 665.5648,-1099.6569 675.3347,-1040.6879"/>
+<polygon fill="none" stroke="#191970" points="599.0037,-1820.9014 594.8736,-1830.6581 604.1866,-1825.6065 599.0037,-1820.9014"/>
 </g>
 <!-- Node15 -->
 <g id="node13" class="node">
 <title>Node15</title>
 <g id="a_node13"><a xlink:href="classtvm_1_1runtime_1_1Array.html" target="_top" xlink:title="{tvm::runtime::Array\l\&lt; tvm::ConstantInfo \&gt;\n||+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ operator=()\l+ operator=()\land 24 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="670,-215.5 670,-393.5 797,-393.5 797,-215.5 670,-215.5"/>
-<text text-anchor="start" x="678" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
-<text text-anchor="middle" x="733.5" y="-370.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::ConstantInfo &gt;</text>
-<polyline fill="none" stroke="#000000" points="670,-363.5 797,-363.5 "/>
-<text text-anchor="middle" x="733.5" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="670,-344.5 797,-344.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="670,-248.5 670,-426.5 797,-426.5 797,-248.5 670,-248.5"/>
+<text text-anchor="start" x="678" y="-414.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
+<text text-anchor="middle" x="733.5" y="-403.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::ConstantInfo &gt;</text>
+<polyline fill="none" stroke="#000000" points="670,-396.5 797,-396.5 "/>
+<text text-anchor="middle" x="733.5" y="-384.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="670,-377.5 797,-377.5 "/>
+<text text-anchor="start" x="678" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="678" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="678" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="678" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="678" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="678" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="678" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="678" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="678" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="678" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="678" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="678" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="678" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="678" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 24 more...</text>
+<text text-anchor="start" x="678" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="678" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="678" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 24 more...</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node15 -->
 <g id="edge17" class="edge">
 <title>Node7&#45;&gt;Node15</title>
-<path fill="none" stroke="#191970" d="M604.4096,-1832.3893C674.2802,-1806.0753 766.5,-1755.6034 766.5,-1672.5 766.5,-1672.5 766.5,-1672.5 766.5,-913 766.5,-690.1733 766.1299,-634.0466 747.5,-412 746.9965,-405.9984 746.4001,-399.8176 745.7419,-393.596"/>
-<polygon fill="none" stroke="#191970" points="602.8963,-1829.2162 594.7108,-1835.9429 605.3046,-1835.7889 602.8963,-1829.2162"/>
+<path fill="none" stroke="#191970" d="M604.4096,-1865.3893C674.2802,-1839.0753 766.5,-1788.6034 766.5,-1705.5 766.5,-1705.5 766.5,-1705.5 766.5,-946 766.5,-723.1733 766.1299,-667.0466 747.5,-445 746.9965,-438.9984 746.4001,-432.8176 745.7419,-426.596"/>
+<polygon fill="none" stroke="#191970" points="602.8963,-1862.2162 594.7108,-1868.9429 605.3046,-1868.7889 602.8963,-1862.2162"/>
 </g>
 <!-- Node8 -->
 <g id="node6" class="node">
 <title>Node8</title>
 <g id="a_node6"><a xlink:href="classtvm_1_1runtime_1_1ObjectPtr.html" target="_top" xlink:title="{tvm::runtime::ObjectPtr\l\&lt; tvm::runtime::Object \&gt;\n||+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ~ObjectPtr()\l+ swap()\l+ get()\l+ operator&#45;\&gt;()\land 11 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="457.5,-2014.5 457.5,-2192.5 597.5,-2192.5 597.5,-2014.5 457.5,-2014.5"/>
-<text text-anchor="start" x="465.5" y="-2180.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectPtr</text>
-<text text-anchor="middle" x="527.5" y="-2169.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::runtime::Object &gt;</text>
-<polyline fill="none" stroke="#000000" points="457.5,-2162.5 597.5,-2162.5 "/>
-<text text-anchor="middle" x="527.5" y="-2150.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="457.5,-2143.5 597.5,-2143.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="457.5,-2047.5 457.5,-2225.5 597.5,-2225.5 597.5,-2047.5 457.5,-2047.5"/>
+<text text-anchor="start" x="465.5" y="-2213.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectPtr</text>
+<text text-anchor="middle" x="527.5" y="-2202.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::runtime::Object &gt;</text>
+<polyline fill="none" stroke="#000000" points="457.5,-2195.5 597.5,-2195.5 "/>
+<text text-anchor="middle" x="527.5" y="-2183.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="457.5,-2176.5 597.5,-2176.5 "/>
+<text text-anchor="start" x="465.5" y="-2164.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
+<text text-anchor="start" x="465.5" y="-2153.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
+<text text-anchor="start" x="465.5" y="-2142.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
 <text text-anchor="start" x="465.5" y="-2131.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
 <text text-anchor="start" x="465.5" y="-2120.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
 <text text-anchor="start" x="465.5" y="-2109.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="465.5" y="-2098.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="465.5" y="-2087.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="465.5" y="-2076.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="465.5" y="-2065.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~ObjectPtr()</text>
-<text text-anchor="start" x="465.5" y="-2054.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ swap()</text>
-<text text-anchor="start" x="465.5" y="-2043.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
-<text text-anchor="start" x="465.5" y="-2032.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="465.5" y="-2021.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 11 more...</text>
+<text text-anchor="start" x="465.5" y="-2098.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~ObjectPtr()</text>
+<text text-anchor="start" x="465.5" y="-2087.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ swap()</text>
+<text text-anchor="start" x="465.5" y="-2076.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
+<text text-anchor="start" x="465.5" y="-2065.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="465.5" y="-2054.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 11 more...</text>
 </a>
 </g>
 </g>
 <!-- Node8&#45;&gt;Node7 -->
 <g id="edge6" class="edge">
 <title>Node8&#45;&gt;Node7</title>
-<path fill="none" stroke="#404040" d="M527.5,-2014.3167C527.5,-2002.8765 527.5,-1991.0062 527.5,-1979.1402"/>
-<polygon fill="none" stroke="#404040" points="527.5001,-1978.7944 523.5,-1972.7944 527.5,-1966.7944 531.5,-1972.7943 527.5001,-1978.7944"/>
-<text text-anchor="middle" x="547" y="-1988" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #data_</text>
+<path fill="none" stroke="#404040" d="M527.5,-2047.3167C527.5,-2035.8765 527.5,-2024.0062 527.5,-2012.1402"/>
+<polygon fill="none" stroke="#404040" points="527.5001,-2011.7944 523.5,-2005.7944 527.5,-1999.7944 531.5,-2005.7943 527.5001,-2011.7944"/>
+<text text-anchor="middle" x="547" y="-2021" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #data_</text>
 </g>
 <!-- Node9 -->
 <g id="node7" class="node">
 <title>Node9</title>
 <g id="a_node7"><a xlink:href="classtvm_1_1Integer.html" target="_top" xlink:title="Container of constant int that adds more constructors. ">
-<polygon fill="#ffffff" stroke="#000000" points="340,-522.5 340,-689.5 453,-689.5 453,-522.5 340,-522.5"/>
-<text text-anchor="middle" x="396.5" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::Integer</text>
-<polyline fill="none" stroke="#000000" points="340,-670.5 453,-670.5 "/>
-<text text-anchor="middle" x="396.5" y="-658.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="340,-651.5 453,-651.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="340,-555.5 340,-722.5 453,-722.5 453,-555.5 340,-555.5"/>
+<text text-anchor="middle" x="396.5" y="-710.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::Integer</text>
+<polyline fill="none" stroke="#000000" points="340,-703.5 453,-703.5 "/>
+<text text-anchor="middle" x="396.5" y="-691.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="340,-684.5 453,-684.5 "/>
+<text text-anchor="start" x="348" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Integer()</text>
+<text text-anchor="start" x="348" y="-661.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Integer()</text>
+<text text-anchor="start" x="348" y="-650.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Integer()</text>
 <text text-anchor="start" x="348" y="-639.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Integer()</text>
 <text text-anchor="start" x="348" y="-628.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Integer()</text>
-<text text-anchor="start" x="348" y="-617.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Integer()</text>
-<text text-anchor="start" x="348" y="-606.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Integer()</text>
-<text text-anchor="start" x="348" y="-595.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Integer()</text>
-<text text-anchor="start" x="348" y="-584.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="348" y="-573.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator int64_t()</text>
-<text text-anchor="start" x="348" y="-562.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
-<text text-anchor="start" x="348" y="-551.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
-<text text-anchor="start" x="348" y="-540.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
-<text text-anchor="start" x="348" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
+<text text-anchor="start" x="348" y="-617.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="348" y="-606.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator int64_t()</text>
+<text text-anchor="start" x="348" y="-595.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
+<text text-anchor="start" x="348" y="-584.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
+<text text-anchor="start" x="348" y="-573.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
+<text text-anchor="start" x="348" y="-562.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node4 -->
 <g id="edge7" class="edge">
 <title>Node9&#45;&gt;Node4</title>
-<path fill="none" stroke="#404040" d="M375.9815,-522.3189C360.1971,-440.6169 347.3174,-314.4237 388.5,-215 389.6214,-212.2928 390.9062,-209.6364 392.3273,-207.0363"/>
-<polygon fill="none" stroke="#404040" points="392.4605,-206.8253 392.2816,-199.6164 398.8671,-196.6786 399.046,-203.8875 392.4605,-206.8253"/>
-<text text-anchor="start" x="388.5" y="-340.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +write_bandwidth_bytes</text>
-<text text-anchor="middle" x="451" y="-329.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_per_cycle</text>
-<text text-anchor="middle" x="451" y="-318.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+read_latency_cycles</text>
-<text text-anchor="middle" x="451" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+size_hint_bytes</text>
-<text text-anchor="middle" x="451" y="-296.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+clock_frequency_hz</text>
-<text text-anchor="middle" x="451" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+write_latency_cycles</text>
-<text text-anchor="start" x="388.5" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+read_bandwidth_bytes</text>
-<text text-anchor="middle" x="451" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_per_cycle</text>
+<path fill="none" stroke="#404040" d="M375.9815,-555.3189C360.1971,-473.6169 347.3174,-347.4237 388.5,-248 389.6214,-245.2928 390.9062,-242.6364 392.3273,-240.0363"/>
+<polygon fill="none" stroke="#404040" points="392.4605,-239.8253 392.2816,-232.6164 398.8671,-229.6786 399.046,-236.8875 392.4605,-239.8253"/>
+<text text-anchor="start" x="388.5" y="-373.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +write_bandwidth_bytes</text>
+<text text-anchor="middle" x="451" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_per_cycle</text>
+<text text-anchor="middle" x="451" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+read_latency_cycles</text>
+<text text-anchor="middle" x="451" y="-340.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+size_hint_bytes</text>
+<text text-anchor="middle" x="451" y="-329.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+clock_frequency_hz</text>
+<text text-anchor="middle" x="451" y="-318.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+write_latency_cycles</text>
+<text text-anchor="start" x="388.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+read_bandwidth_bytes</text>
+<text text-anchor="middle" x="451" y="-296.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_per_cycle</text>
 </g>
 <!-- Node10 -->
 <g id="node8" class="node">
 <title>Node10</title>
 <g id="a_node8"><a xlink:href="classtvm_1_1IntImm.html" target="_top" xlink:title="Managed reference class to IntImmNode. ">
-<polygon fill="#ffffff" stroke="#000000" points="345.5,-1026.5 345.5,-1105.5 499.5,-1105.5 499.5,-1026.5 345.5,-1026.5"/>
-<text text-anchor="middle" x="422.5" y="-1093.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::IntImm</text>
-<polyline fill="none" stroke="#000000" points="345.5,-1086.5 499.5,-1086.5 "/>
-<text text-anchor="middle" x="422.5" y="-1074.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="345.5,-1067.5 499.5,-1067.5 "/>
-<text text-anchor="start" x="353.5" y="-1055.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IntImm()</text>
-<text text-anchor="start" x="353.5" y="-1044.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="353.5" y="-1033.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
+<polygon fill="#ffffff" stroke="#000000" points="345.5,-1059.5 345.5,-1138.5 499.5,-1138.5 499.5,-1059.5 345.5,-1059.5"/>
+<text text-anchor="middle" x="422.5" y="-1126.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::IntImm</text>
+<polyline fill="none" stroke="#000000" points="345.5,-1119.5 499.5,-1119.5 "/>
+<text text-anchor="middle" x="422.5" y="-1107.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="345.5,-1100.5 499.5,-1100.5 "/>
+<text text-anchor="start" x="353.5" y="-1088.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IntImm()</text>
+<text text-anchor="start" x="353.5" y="-1077.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="353.5" y="-1066.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node9 -->
 <g id="edge8" class="edge">
 <title>Node10&#45;&gt;Node9</title>
-<path fill="none" stroke="#191970" d="M419.6908,-1016.2995C415.2652,-937.9997 406.6195,-785.0372 401.2257,-689.6088"/>
-<polygon fill="none" stroke="#191970" points="416.2019,-1016.596 420.2608,-1026.3825 423.1908,-1016.2009 416.2019,-1016.596"/>
+<path fill="none" stroke="#191970" d="M419.6908,-1049.2995C415.2652,-970.9997 406.6195,-818.0372 401.2257,-722.6088"/>
+<polygon fill="none" stroke="#191970" points="416.2019,-1049.596 420.2608,-1059.3825 423.1908,-1049.2009 416.2019,-1049.596"/>
 </g>
 <!-- Node11 -->
 <g id="node9" class="node">
 <title>Node11</title>
 <g id="a_node9"><a xlink:href="classtvm_1_1PrimExpr.html" target="_top" xlink:title="Reference to PrimExprNode. ">
-<polygon fill="#ffffff" stroke="#000000" points="345.5,-1321.5 345.5,-1422.5 499.5,-1422.5 499.5,-1321.5 345.5,-1321.5"/>
-<text text-anchor="middle" x="422.5" y="-1410.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PrimExpr</text>
-<polyline fill="none" stroke="#000000" points="345.5,-1403.5 499.5,-1403.5 "/>
-<text text-anchor="middle" x="422.5" y="-1391.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="345.5,-1384.5 499.5,-1384.5 "/>
-<text text-anchor="start" x="353.5" y="-1372.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ PrimExpr()</text>
-<text text-anchor="start" x="353.5" y="-1361.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ PrimExpr()</text>
-<text text-anchor="start" x="353.5" y="-1350.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ dtype()</text>
-<text text-anchor="start" x="353.5" y="-1339.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="353.5" y="-1328.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
+<polygon fill="#ffffff" stroke="#000000" points="345.5,-1354.5 345.5,-1455.5 499.5,-1455.5 499.5,-1354.5 345.5,-1354.5"/>
+<text text-anchor="middle" x="422.5" y="-1443.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PrimExpr</text>
+<polyline fill="none" stroke="#000000" points="345.5,-1436.5 499.5,-1436.5 "/>
+<text text-anchor="middle" x="422.5" y="-1424.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="345.5,-1417.5 499.5,-1417.5 "/>
+<text text-anchor="start" x="353.5" y="-1405.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ PrimExpr()</text>
+<text text-anchor="start" x="353.5" y="-1394.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ PrimExpr()</text>
+<text text-anchor="start" x="353.5" y="-1383.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ dtype()</text>
+<text text-anchor="start" x="353.5" y="-1372.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="353.5" y="-1361.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
 </a>
 </g>
 </g>
 <!-- Node11&#45;&gt;Node10 -->
 <g id="edge9" class="edge">
 <title>Node11&#45;&gt;Node10</title>
-<path fill="none" stroke="#191970" d="M422.5,-1311.2154C422.5,-1250.2455 422.5,-1158.1129 422.5,-1105.8668"/>
-<polygon fill="none" stroke="#191970" points="419.0001,-1311.4703 422.5,-1321.4703 426.0001,-1311.4704 419.0001,-1311.4703"/>
+<path fill="none" stroke="#191970" d="M422.5,-1344.2154C422.5,-1283.2455 422.5,-1191.1129 422.5,-1138.8668"/>
+<polygon fill="none" stroke="#191970" points="419.0001,-1344.4703 422.5,-1354.4703 426.0001,-1344.4704 419.0001,-1344.4703"/>
 </g>
 <!-- Node12&#45;&gt;Node11 -->
 <g id="edge10" class="edge">
... 4349 lines suppressed ...