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 2023/04/06 18:42:47 UTC

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

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 e26fea9faf deploying docs (apache/tvm@5239ec05e9d248cbdd3f00dab713678cde7a6377)
e26fea9faf is described below

commit e26fea9faf6b309c396f318a325a284118610d0f
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Thu Apr 6 18:42:39 2023 +0000

    deploying docs (apache/tvm@5239ec05e9d248cbdd3f00dab713678cde7a6377)
---
 docs/_images/sphx_glr_micro_train_001.png          |  Bin 307018 -> 322594 bytes
 docs/_images/sphx_glr_micro_train_thumb.png        |  Bin 22335 -> 23763 bytes
 .../how_to/compile_models/from_darknet.rst.txt     |    2 +-
 .../how_to/compile_models/from_mxnet.rst.txt       |    2 +-
 .../how_to/compile_models/from_oneflow.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_adreno.rst.txt   |    7 +-
 .../deploy_model_on_adreno_tvmc.rst.txt            |    2 +-
 .../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       |   22 +-
 .../extend_tvm/bring_your_own_datatypes.rst.txt    |    2 +-
 .../how_to/extend_tvm/sg_execution_times.rst.txt   |    8 +-
 .../how_to/extend_tvm/use_pass_instrument.rst.txt  |   16 +-
 .../optimize_operators/opt_conv_cuda.rst.txt       |    2 +-
 .../optimize_operators/opt_conv_tensorcore.rst.txt |    2 +-
 .../how_to/optimize_operators/opt_gemm.rst.txt     |   16 +-
 .../optimize_operators/sg_execution_times.rst.txt  |    8 +-
 .../sg_execution_times.rst.txt                     |   14 +-
 .../tune_conv2d_layer_cuda.rst.txt                 | 1994 +++++++++-----------
 .../tune_network_cuda.rst.txt                      |    4 +-
 .../tune_network_x86.rst.txt                       |    4 +-
 .../tune_sparse_x86.rst.txt                        |  152 +-
 .../tune_with_autotvm/sg_execution_times.rst.txt   |   10 +-
 .../tune_with_autotvm/tune_conv2d_cuda.rst.txt     |  569 +++++-
 .../work_with_microtvm/micro_autotune.rst.txt      |   18 +-
 .../work_with_microtvm/micro_pytorch.rst.txt       |    4 +-
 .../how_to/work_with_microtvm/micro_train.rst.txt  |   18 +-
 .../work_with_microtvm/sg_execution_times.rst.txt  |   14 +-
 .../work_with_relay/sg_execution_times.rst.txt     |   10 +-
 .../how_to/work_with_schedules/intrin_math.rst.txt |    2 +-
 .../work_with_schedules/sg_execution_times.rst.txt |   18 +-
 .../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     |    4 +-
 docs/_sources/tutorial/autotvm_matmul_x86.rst.txt  |   20 +-
 docs/_sources/tutorial/autotvm_relay_x86.rst.txt   |   60 +-
 .../tutorial/cross_compilation_and_rpc.rst.txt     |    2 +-
 docs/_sources/tutorial/intro_topi.rst.txt          |    2 +-
 docs/_sources/tutorial/sg_execution_times.rst.txt  |   18 +-
 .../tutorial/tensor_expr_get_started.rst.txt       |   40 +-
 docs/commit_hash                                   |    2 +-
 docs/genindex.html                                 |    2 +
 docs/how_to/compile_models/from_darknet.html       |    2 +-
 docs/how_to/compile_models/from_mxnet.html         |    2 +-
 docs/how_to/compile_models/from_oneflow.html       |   17 +-
 docs/how_to/compile_models/from_pytorch.html       |   11 +-
 docs/how_to/compile_models/from_tensorflow.html    |    2 +-
 docs/how_to/compile_models/sg_execution_times.html |   22 +-
 .../deploy_models/deploy_model_on_adreno.html      |    3 +-
 .../deploy_models/deploy_model_on_adreno_tvmc.html |   37 +-
 .../deploy_models/deploy_model_on_android.html     |    2 +-
 .../deploy_object_detection_pytorch.html           |   61 +-
 docs/how_to/deploy_models/deploy_prequantized.html |    9 +-
 .../deploy_models/deploy_prequantized_tflite.html  |    4 +-
 docs/how_to/deploy_models/deploy_quantized.html    |    2 +-
 docs/how_to/deploy_models/deploy_ssd_gluoncv.html  |   40 +-
 docs/how_to/deploy_models/sg_execution_times.html  |   22 +-
 .../extend_tvm/bring_your_own_datatypes.html       |    2 +-
 docs/how_to/extend_tvm/sg_execution_times.html     |    8 +-
 docs/how_to/extend_tvm/use_pass_instrument.html    |   16 +-
 docs/how_to/optimize_operators/opt_conv_cuda.html  |    2 +-
 .../optimize_operators/opt_conv_tensorcore.html    |    2 +-
 docs/how_to/optimize_operators/opt_gemm.html       |   16 +-
 .../optimize_operators/sg_execution_times.html     |    8 +-
 .../sg_execution_times.html                        |   14 +-
 .../tune_conv2d_layer_cuda.html                    | 1994 +++++++++-----------
 .../tune_with_autoscheduler/tune_network_cuda.html |    4 +-
 .../tune_with_autoscheduler/tune_network_x86.html  |    4 +-
 .../tune_with_autoscheduler/tune_sparse_x86.html   |  152 +-
 .../tune_with_autotvm/sg_execution_times.html      |   10 +-
 .../how_to/tune_with_autotvm/tune_conv2d_cuda.html |  569 +++++-
 docs/how_to/work_with_microtvm/micro_autotune.html |   18 +-
 docs/how_to/work_with_microtvm/micro_pytorch.html  |    4 +-
 docs/how_to/work_with_microtvm/micro_train.html    |   16 +-
 .../work_with_microtvm/sg_execution_times.html     |   14 +-
 .../how_to/work_with_relay/sg_execution_times.html |   10 +-
 docs/how_to/work_with_schedules/intrin_math.html   |    2 +-
 .../work_with_schedules/sg_execution_times.html    |   18 +-
 docs/objects.inv                                   |  Bin 24763 -> 24771 bytes
 .../classtvm_1_1tir_1_1ScheduleNode-members.html   |  131 +-
 .../doxygen/classtvm_1_1tir_1_1ScheduleNode.html   |   38 +
 ...lasstvm_1_1tir_1_1ScheduleNode__coll__graph.svg |    2 +-
 ...stvm_1_1tir_1_1ScheduleNode__inherit__graph.svg |    2 +-
 docs/reference/api/doxygen/database_8h_source.html |    2 +-
 docs/reference/api/doxygen/functions_func_g.html   |    9 +-
 docs/reference/api/doxygen/functions_func_s.html   |    6 +-
 docs/reference/api/doxygen/functions_func_u.html   |    2 +-
 docs/reference/api/doxygen/functions_g.html        |    7 +-
 docs/reference/api/doxygen/functions_l.html        |    2 +-
 docs/reference/api/doxygen/functions_m.html        |    2 +-
 docs/reference/api/doxygen/functions_s.html        |    8 +-
 docs/reference/api/doxygen/functions_v.html        |    8 +-
 .../api/doxygen/measure__candidate_8h_source.html  |    2 +-
 docs/reference/api/doxygen/postproc_8h_source.html |    2 +-
 .../api/doxygen/schedule__rule_8h_source.html      |    2 +-
 docs/reference/api/doxygen/search/all_11.js        |    2 +-
 docs/reference/api/doxygen/search/all_14.js        |   14 +-
 docs/reference/api/doxygen/search/all_16.js        |    4 +-
 docs/reference/api/doxygen/search/all_17.js        |    4 +-
 docs/reference/api/doxygen/search/all_18.js        |    2 +-
 docs/reference/api/doxygen/search/all_8.js         |    1 +
 docs/reference/api/doxygen/search/all_d.js         |    2 +-
 docs/reference/api/doxygen/search/all_e.js         |    6 +-
 docs/reference/api/doxygen/search/functions_10.js  |    2 +-
 docs/reference/api/doxygen/search/functions_13.js  |    6 +-
 docs/reference/api/doxygen/search/functions_15.js  |    2 +-
 docs/reference/api/doxygen/search/functions_16.js  |    2 +-
 docs/reference/api/doxygen/search/functions_7.js   |    1 +
 docs/reference/api/doxygen/search/functions_d.js   |    4 +-
 .../doxygen/tir_2schedule_2schedule_8h_source.html |    4 +-
 docs/reference/api/doxygen/trace_8h_source.html    |    2 +-
 docs/reference/api/python/auto_scheduler.html      |    4 +-
 docs/reference/api/python/tir.html                 |   98 +-
 .../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 +-
 docs/reference/api/typedoc/classes/instance.html   |   58 +-
 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 +-
 .../api/typedoc/classes/runtimecontext.html        |   22 +-
 docs/reference/api/typedoc/classes/scalar.html     |    6 +-
 docs/reference/api/typedoc/classes/tvmarray.html   |   16 +-
 docs/reference/api/typedoc/classes/tvmobject.html  |   12 +-
 .../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              |  124 +-
 .../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       |    4 +-
 docs/tutorial/autotvm_matmul_x86.html              |   20 +-
 docs/tutorial/autotvm_relay_x86.html               |  268 +--
 docs/tutorial/cross_compilation_and_rpc.html       |    2 +-
 docs/tutorial/intro_topi.html                      |    2 +-
 docs/tutorial/sg_execution_times.html              |   18 +-
 docs/tutorial/tensor_expr_get_started.html         |   40 +-
 164 files changed, 4016 insertions(+), 3536 deletions(-)

diff --git a/docs/_images/sphx_glr_micro_train_001.png b/docs/_images/sphx_glr_micro_train_001.png
index 117ca26f92..4241e968ab 100644
Binary files a/docs/_images/sphx_glr_micro_train_001.png and b/docs/_images/sphx_glr_micro_train_001.png differ
diff --git a/docs/_images/sphx_glr_micro_train_thumb.png b/docs/_images/sphx_glr_micro_train_thumb.png
index f942f0e17d..b902e38929 100644
Binary files a/docs/_images/sphx_glr_micro_train_thumb.png and b/docs/_images/sphx_glr_micro_train_thumb.png differ
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 bbf319b915..e7537d1e19 100644
--- a/docs/_sources/how_to/compile_models/from_darknet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_darknet.rst.txt
@@ -318,7 +318,7 @@ The process is no different from other examples.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  24.372 seconds)
+   **Total running time of the script:** ( 1 minutes  22.950 seconds)
 
 
 .. _sphx_glr_download_how_to_compile_models_from_darknet.py:
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 b00e5b7eae..e6aaff96a1 100644
--- a/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
@@ -116,7 +116,7 @@ In this section, we download a pretrained imagenet model and classify an image.
 
  .. code-block:: none
 
-    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip2288ded7-afcb-4aa8-8ef5-c9dabc8fc1d8 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zipf99c1b85-012b-4980-be7f-9b3aefbd2168 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 e6dcac007e..504a6759d6 100644
--- a/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
@@ -121,7 +121,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]
     15%|#5        | 6.33M/41.5M [00:00<00:00, 60.1MB/s]
     29%|##9       | 12.1M/41.5M [00:00<00:00, 37.5MB/s]
     39%|###8      | 16.1M/41.5M [00:00<00:01, 26.3MB/s]
     54%|#####3    | 22.3M/41.5M [00:00<00:00, 21.2MB/s]
     60%|#####9    | 24.7M/41.5M [00:01<00:00, 19.9MB/s]
     77%|#######7  | 32.0M/41.5M [00:01<00:00, 23.7MB/s]
     85%|########4 | 35.3M/41.5M [00:01<00:00, 25.5MB/s]
     96%|#########6| 40.0M/41.5M [00:01<00:00, 28.7MB/s]
    100%|##########| 41.5M/41.5M [00:01<00:00, 27.4MB/s]
+
      0%|          | 0.00/41.5M [00:00<?, ?B/s]
     15%|#5        | 6.33M/41.5M [00:00<00:00, 49.3MB/s]
     27%|##6       | 11.0M/41.5M [00:00<00:01, 30.5MB/s]
     35%|###4      | 14.3M/41.5M [00:00<00:00, 31.1MB/s]
     42%|####2     | 17.5M/41.5M [00:00<00:00, 29.9MB/s]
     58%|#####7    | 24.0M/41.5M [00:00<00:00, 34.1MB/s]
     77%|#######7  | 32.0M/41.5M [00:00<00:00, 39.7MB/s]
     92%|#########2| 38.3M/41.5M [00:01<00:00, 30.7MB/s]
    100%|##########| 41.5M/41.5M [00:01<00:00, 33.7MB/s]
 
 
 
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 deb28cb833..b162d491a9 100644
--- a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
@@ -101,7 +101,7 @@ Load a pretrained PyTorch model
     /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing `weights=ResNet18_Weights.IMAGENET1K_V1`. You can also use `weights=ResNet18_Weights.DEFAULT` to get the most up-to-date weights.
       warnings.warn(msg)
     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]
     18%|#7        | 7.99M/44.7M [00:00<00:00, 54.3MB/s]
     39%|###8      | 17.4M/44.7M [00:00<00:00, 75.5MB/s]
     58%|#####8    | 26.1M/44.7M [00:00<00:00, 81.3MB/s]
     76%|#######6  | 34.1M/44.7M [00:00<00:00, 69.3MB/s]
     92%|#########2| 41.1M/44.7M [00:00<00:00, 65.7MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 70.4MB/s]
+
      0%|          | 0.00/44.7M [00:00<?, ?B/s]
     18%|#7        | 7.99M/44.7M [00:00<00:00, 56.6MB/s]
     36%|###5      | 16.0M/44.7M [00:00<00:00, 61.3MB/s]
     72%|#######1  | 32.0M/44.7M [00:00<00:00, 86.3MB/s]
     90%|########9 | 40.1M/44.7M [00:00<00:00, 84.4MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 70.7MB/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 f9ce1abe47..b28a39f08d 100644
--- a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
@@ -430,7 +430,7 @@ Run the corresponding model on tensorflow
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  33.207 seconds)
+   **Total running time of the script:** ( 1 minutes  33.011 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 1603319123..3781a510a5 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
 =================
-**07:02.563** total execution time for **how_to_compile_models** files:
+**06:56.534** total execution time for **how_to_compile_models** files:
 
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:33.207 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:33.011 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)       | 01:24.372 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)       | 01:22.950 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)         | 00:57.844 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)         | 00:56.989 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)       | 00:39.671 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)       | 00:38.695 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)         | 00:33.672 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)         | 00:32.820 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)           | 00:31.054 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)           | 00:30.848 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)         | 00:28.246 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)         | 00:28.464 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)       | 00:26.959 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)       | 00:26.885 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)           | 00:24.735 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)           | 00:23.139 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)             | 00:02.803 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)             | 00:02.733 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt b/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt
index b19a72801c..65a93874fe 100644
--- a/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt
@@ -637,18 +637,13 @@ well as provides information about the model's performance
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-     3339.2031    3338.9055    3342.2977    3337.2060      1.5223   
+     2558.9181    2558.5411    2562.7793    2557.7647      1.3580   
                
 
 
 
 
 
-.. rst-class:: sphx-glr-timing
-
-   **Total running time of the script:** ( 1 minutes  5.522 seconds)
-
-
 .. _sphx_glr_download_how_to_deploy_models_deploy_model_on_adreno.py:
 
 .. only:: html
diff --git a/docs/_sources/how_to/deploy_models/deploy_model_on_adreno_tvmc.rst.txt b/docs/_sources/how_to/deploy_models/deploy_model_on_adreno_tvmc.rst.txt
index d04761980e..f927f12ad7 100644
--- a/docs/_sources/how_to/deploy_models/deploy_model_on_adreno_tvmc.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_model_on_adreno_tvmc.rst.txt
@@ -127,7 +127,7 @@ Make a Keras Resnet50 Model
  .. code-block:: none
 
     Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/resnet/resnet50_weights_tf_dim_ordering_tf_kernels.h5
-
         8192/102967424 [..............................] - ETA: 0s
      7413760/102967424 [=>............................] - ETA: 0s
     12394496/102967424 [==>...........................] - ETA: 0s
     16769024/102967424 [===>..........................] - ETA: 0s
     23511040/102967424 [=====>........................] - ETA: 0s
     25444352/102967424 [======>.......................] - ETA: 0s
     33546240/102967424 [========>.....................] - ETA: 0s
     35741696/102967424 [=========>....................] - ETA: 0s
 
     43909120/102967424 [===========>..................] - ETA: 0s
     50323456/102967424 [=============>................] - ETA: 0s
     56500224/102967424 [===============>..............] - ETA: 0s
     60907520/102967424 [================>.............] - ETA: 0s
     67239936/102967424 [==================>...........] - ETA: 0s
     73064448/102967424 [====================>.........] - ETA: 0s
     78389248/102967424 [=====================>........] - ETA: 0s
     83361792/102967424 [=======================>......] -
  ETA: 0s
     88416256/102967424 [========================>.....] - ETA: 0s
     92266496/102967424 [=========================>....] - ETA: 0s
     94461952/102967424 [==========================>...] - ETA: 0s
     96608256/102967424 [===========================>..] - ETA: 0s
    100433920/102967424 [============================>.] - ETA: 0s
    102967424/102967424 [==============================] - 1s 0us/step
+
         8192/102967424 [..............................] - ETA: 0s
      7643136/102967424 [=>............................] - ETA: 0s
     12689408/102967424 [==>...........................] - ETA: 0s
     17350656/102967424 [====>.........................] - ETA: 0s
     22708224/102967424 [=====>........................] - ETA: 0s
     25157632/102967424 [======>.......................] - ETA: 0s
     30605312/102967424 [=======>......................] - ETA: 0s
     38526976/102967424 [==========>...................] - ETA: 0s
 
     40189952/102967424 [==========>...................] - ETA: 0s
     44130304/102967424 [===========>..................] - ETA: 0s
     52625408/102967424 [==============>...............] - ETA: 0s
     64823296/102967424 [=================>............] - ETA: 0s
     67313664/102967424 [==================>...........] - ETA: 0s
     74899456/102967424 [====================>.........] - ETA: 0s
     79986688/102967424 [======================>.......] - ETA: 0s
     83886080/102967424 [=======================>......] -
  ETA: 0s
     89325568/102967424 [=========================>....] - ETA: 0s
     92266496/102967424 [=========================>....] - ETA: 0s
    100646912/102967424 [============================>.] - ETA: 0s
    102850560/102967424 [============================>.] - ETA: 0s
    102967424/102967424 [==============================] - 1s 0us/step
 
 
 
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 731f9c2922..1b4f6c13a2 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
@@ -437,7 +437,7 @@ Execute on TVM
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      16.8593      17.0326      17.2877      16.2326       0.4023   
+      15.7801      15.7841      15.9218      15.6153       0.0960   
                
 
 
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 994f79c8d3..0febd6ba83 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
@@ -130,7 +130,7 @@ Load pre-trained maskrcnn from torchvision and do tracing
     /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing `weights=MaskRCNN_ResNet50_FPN_Weights.COCO_V1`. You can also use `weights=MaskRCNN_ResNet50_FPN_Weights.DEFAULT` to get the most up-to-date weights.
       warnings.warn(msg)
     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]
      4%|3         | 6.30M/170M [00:00<00:02, 65.3MB/s]
      7%|7         | 12.5M/170M [00:00<00:03, 44.3MB/s]
     10%|#         | 17.1M/170M [00:00<00:06, 26.0MB/s]
     12%|#1        | 20.3M/170M [00:00<00:05, 26.7MB/s]
     14%|#4        | 24.0M/170M [00:00<00:06, 21.9MB/s]
     19%|#8        | 32.0M/170M [00:01<00:05, 28.4MB/s]
     24%|##3       | 40.0M/170M [00:01<00:04, 32.8MB/s]
     27%|##7       | 46.3M/170M [00:01<00:04, 27.3MB/s]
     29%|##8       | 49.2M/170M [00:01<00:04, 26.9MB/s]
     33%|###3      | 56.1M/170M [00:01<00:03, 35.0MB/s]
     37%|###6      | 62.3M/170M [00:02<00:02, 38.3MB/s]
     39%|###9      | 66.5M/170M [00:02<00:02, 37.6MB/s]
     42%|####2     | 72.0M/170M [00:02<00:02, 37.6MB/s]
     46%|####6     | 78.3M/170M [00:02<00:02, 41.2MB/s]
     49%|####8     | 82.4M/170M [00:02<00:02, 36.1MB/s]
     51%|#####     | 86.3M/170M [00:02<00:02, 31.5MB/s]
     53%|#####2    | 89.5M/170M [00:02<00:02, 30.3MB/
 s]
     56%|#####5    | 94.3M/170M [00:03<00:02, 32.7MB/s]
     60%|######    | 102M/170M [00:03<00:01, 36.3MB/s] 
     62%|######2   | 106M/170M [00:03<00:02, 30.7MB/s]
     66%|######5   | 112M/170M [00:03<00:01, 35.2MB/s]
     71%|#######   | 120M/170M [00:03<00:01, 41.5MB/s]
     74%|#######4  | 126M/170M [00:03<00:01, 35.1MB/s]
     76%|#######6  | 130M/170M [00:04<00:01, 31.4MB/s]
     80%|########  | 136M/170M [00:04<00:01, 32.9MB/s]
     85%|########4 | 144M/170M [00:04<00:00, 36.7MB/s]
     89%|########9 | 152M/170M [00:04<00:00, 40.3MB/s]
     93%|#########3| 158M/170M [00:04<00:00, 42.7MB/s]
     96%|#########5| 162M/170M [00:04<00:00, 39.1MB/s]
     99%|#########8| 168M/170M [00:05<00:00, 41.7MB/s]
    100%|##########| 170M/170M [00:05<00:00, 35.1MB/s]
+
      0%|          | 0.00/170M [00:00<?, ?B/s]
      4%|3         | 6.30M/170M [00:00<00:02, 60.4MB/s]
      8%|7         | 13.0M/170M [00:00<00:02, 65.7MB/s]
     11%|#1        | 19.2M/170M [00:00<00:03, 50.1MB/s]
     14%|#4        | 24.3M/170M [00:00<00:03, 47.1MB/s]
     18%|#7        | 30.3M/170M [00:00<00:02, 51.5MB/s]
     22%|##1       | 37.3M/170M [00:00<00:02, 58.1MB/s]
     25%|##5       | 43.1M/170M [00:00<00:02, 58.7MB/s]
     29%|##8       | 48.9M/170M [00:00<00:02, 46.7MB/s]
     33%|###2      | 56.0M/170M [00:01<00:02, 52.3MB/s]
     37%|###6      | 62.3M/170M [00:01<00:02, 49.1MB/s]
     40%|###9      | 67.3M/170M [00:01<00:02, 48.6MB/s]
     42%|####2     | 72.1M/170M [00:01<00:02, 46.1MB/s]
     47%|####7     | 80.0M/170M [00:01<00:01, 52.1MB/s]
     51%|#####     | 86.3M/170M [00:01<00:01, 52.3MB/s]
     54%|#####3    | 91.4M/170M [00:01<00:01, 49.1MB/s]
     57%|#####6    | 96.1M/170M [00:02<00:01, 44.3MB/s]
     61%|######    | 103M/170M [00:02<00:01, 51.4MB/s
 ] 
     64%|######3   | 108M/170M [00:02<00:01, 49.8MB/s]
     67%|######6   | 113M/170M [00:02<00:01, 48.1MB/s]
     69%|######9   | 118M/170M [00:02<00:01, 48.2MB/s]
     72%|#######2  | 122M/170M [00:02<00:01, 38.7MB/s]
     75%|#######5  | 128M/170M [00:02<00:01, 38.4MB/s]
     80%|########  | 136M/170M [00:02<00:00, 43.9MB/s]
     85%|########4 | 144M/170M [00:03<00:00, 48.2MB/s]
     89%|########9 | 152M/170M [00:03<00:00, 47.2MB/s]
     94%|#########4| 160M/170M [00:03<00:00, 49.8MB/s]
     99%|#########8| 168M/170M [00:03<00:00, 56.9MB/s]
    100%|##########| 170M/170M [00:03<00:00, 50.3MB/s]
     /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torch/nn/functional.py:3897: 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)
     /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/detection/anchor_utils.py:124: 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').
@@ -299,7 +299,7 @@ Get boxes with score larger than 0.9
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 3 minutes  47.683 seconds)
+   **Total running time of the script:** ( 3 minutes  37.665 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 c6fb857254..7868e5d5e0 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
@@ -227,7 +227,7 @@ training. Other models require a full post training calibration.
     /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing `weights=MobileNet_V2_Weights.IMAGENET1K_V1`. You can also use `weights=MobileNet_V2_Weights.DEFAULT` to get the most up-to-date weights.
       warnings.warn(msg)
     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]
     47%|####6     | 6.30M/13.6M [00:00<00:00, 50.4MB/s]
     82%|########2 | 11.1M/13.6M [00:00<00:00, 39.1MB/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 35.1MB/s]
+
      0%|          | 0.00/13.6M [00:00<?, ?B/s]
     59%|#####8    | 7.99M/13.6M [00:00<00:00, 35.4MB/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 48.5MB/s]
 
 
 
@@ -409,7 +409,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.5986      90.5090      94.8426      90.1934       0.4970   
+      90.3574      90.3433      90.8663      90.0979       0.1445   
                
 
 
@@ -458,7 +458,7 @@ TODO
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  19.802 seconds)
+   **Total running time of the script:** ( 1 minutes  17.818 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 8ffa31fb2a..fad492c9f5 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
@@ -423,7 +423,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.7283     120.6278     122.4289     119.9723      0.4042   
+      120.9266     120.9304     122.1458     119.3036      0.4708   
                
 
 
@@ -460,7 +460,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  29.499 seconds)
+   **Total running time of the script:** ( 2 minutes  40.023 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 f5e9798262..f10a53d74a 100644
--- a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
@@ -257,7 +257,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  50.366 seconds)
+   **Total running time of the script:** ( 1 minutes  43.356 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 7f8bb29ac9..ed7a01025e 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
@@ -170,7 +170,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]
      1%|          | 1236/132723 [00:00<00:10, 12214.32KB/s]
      3%|2         | 3766/132723 [00:00<00:06, 19864.11KB/s]
      7%|6         | 8905/132723 [00:00<00:03, 34216.20KB/s]
     12%|#2        | 16414/132723 [00:00<00:02, 50322.03KB/s]
     18%|#8        | 23941/132723 [00:00<00:01, 59302.54KB/s]
     24%|##3       | 31498/132723 [00:00<00:01, 64825.43KB/s]
     29%|##8       | 38401/132723 [00:00<00:01, 66197.25KB/s]
     35%|###4      | 46063/132723 [00:00<00:01, 69512.43KB/s]
     41%|####      | 53770/132723 [00:00<00:01, 71873.10KB/s]
     46%|####6     | 61403/132723 [00:01<00:00, 73247.67KB/s]
     52%|#####2    | 69149/132723 [00:01<00:00, 74534.49KB/s]
     58%|#####7    | 76884/132723 [00:01<00:00, 75388.12KB/s]
     64%|######3   | 84424/132723 [00:01<00:00, 67462.54KB/s]
     69%|######8   | 91325/132723 [00:01<00:00, 59714.93KB/s]
     73%|#######3  | 97540/132723 [00:01<00:00, 55724.87KB/s]
     78%|#######7  | 1
 03302/132723 [00:01<00:00, 43836.11KB/s]
     84%|########3 | 110833/132723 [00:01<00:00, 50797.08KB/s]
     88%|########7 | 116628/132723 [00:02<00:00, 52514.65KB/s]
     92%|#########2| 122326/132723 [00:02<00:00, 53585.64KB/s]
     98%|#########8| 130358/132723 [00:02<00:00, 60724.57KB/s]
    100%|##########| 132723/132723 [00:02<00:00, 58656.95KB/s]
+
      0%|          | 0/132723 [00:00<?, ?KB/s]
      1%|1         | 1331/132723 [00:00<00:09, 13179.86KB/s]
      3%|3         | 4243/132723 [00:00<00:05, 22480.18KB/s]
      8%|7         | 10614/132723 [00:00<00:02, 41245.65KB/s]
     15%|#4        | 19323/132723 [00:00<00:01, 59306.31KB/s]
     21%|##1       | 28084/132723 [00:00<00:01, 69498.00KB/s]
     28%|##7       | 36873/132723 [00:00<00:01, 75743.83KB/s]
     35%|###4      | 45803/132723 [00:00<00:01, 80169.49KB/s]
     41%|####1     | 54648/132723 [00:00<00:00, 82801.16KB/s]
     48%|####7     | 63499/132723 [00:00<00:00, 84583.76KB/s]
     55%|#####4    | 72437/132723 [00:01<00:00, 86060.90KB/s]
     61%|######1   | 81299/132723 [00:01<00:00, 86834.87KB/s]
     68%|######7   | 90111/132723 [00:01<00:00, 87224.18KB/s]
     75%|#######4  | 98994/132723 [00:01<00:00, 87708.56KB/s]
     81%|########1 | 107822/132723 [00:01<00:00, 87879.02KB/s]
     88%|########7 | 116664/132723 [00:01<00:00, 88034.69KB/s]
     95%|#########4
 | 125468/132723 [00:01<00:00, 87954.46KB/s]
    100%|##########| 132723/132723 [00:01<00:00, 78681.29KB/s]
 
 
 
@@ -246,7 +246,7 @@ Display result
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 4 minutes  5.269 seconds)
+   **Total running time of the script:** ( 3 minutes  59.144 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 916579866a..def5abe5ac 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,28 +5,28 @@
 
 Computation times
 =================
-**17:13.916** total execution time for **how_to_deploy_models** files:
+**16:47.218** total execution time for **how_to_deploy_models** files:
 
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)                           | 04:05.269 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)                           | 03:59.144 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:47.683 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:37.665 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)           | 02:29.499 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)           | 02:40.023 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)                               | 01:50.366 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)                               | 01:43.356 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)                         | 01:19.802 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)                         | 01:17.818 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_adreno.py` (``deploy_model_on_adreno.py``)                   | 01:05.522 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_adreno.py` (``deploy_model_on_adreno.py``)                   | 00:55.481 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_adreno_tvmc.py` (``deploy_model_on_adreno_tvmc.py``)         | 00:52.658 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_adreno_tvmc.py` (``deploy_model_on_adreno_tvmc.py``)         | 00:52.112 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)                 | 00:45.109 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)                 | 00:43.673 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``)                       | 00:29.246 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``)                       | 00:29.292 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)                       | 00:28.755 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)                       | 00:28.649 | 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 011e989265..9a453c84e8 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.zip02a2260f-9058-42f4-9a1f-43fc46fb0b87 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+    Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip44b787e6-68dc-44b3-ba48-7ecf045ac893 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 a4b2d8817d..a98d55c55b 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:57.310** total execution time for **how_to_extend_tvm** files:
+**00:55.245** 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:53.295 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``) | 00:51.380 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)           | 00:02.880 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)           | 00:02.784 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)                     | 00:01.127 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)                     | 00:01.074 | 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 47eafec125..673250fb57 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
@@ -220,10 +220,10 @@ profile the execution time of each passes.
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 22693us [22693us] (48.52%; 48.52%)
-    FoldScaleAxis: 24081us [9us] (51.48%; 51.48%)
-            FoldConstant: 24072us [1791us] (51.46%; 99.96%)
-                    InferType: 22280us [22280us] (47.63%; 92.56%)
+    InferType: 23061us [23061us] (48.72%; 48.72%)
+    FoldScaleAxis: 24273us [10us] (51.28%; 51.28%)
+            FoldConstant: 24264us [1756us] (51.26%; 99.96%)
+                    InferType: 22507us [22507us] (47.55%; 92.76%)
 
 
 
@@ -262,10 +262,10 @@ Refer to following sections and :py:func:`tvm.instrument.pass_instrument` for th
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 22481us [22481us] (48.39%; 48.39%)
-    FoldScaleAxis: 23979us [8us] (51.61%; 51.61%)
-            FoldConstant: 23971us [1844us] (51.60%; 99.97%)
-                    InferType: 22127us [22127us] (47.63%; 92.31%)
+    InferType: 22352us [22352us] (47.49%; 47.49%)
+    FoldScaleAxis: 24719us [7us] (52.51%; 52.51%)
+            FoldConstant: 24712us [1821us] (52.50%; 99.97%)
+                    InferType: 22891us [22891us] (48.63%; 92.63%)
 
 
 
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 aeb790e36a..23e0d58fa5 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
@@ -331,7 +331,7 @@ latency of convolution.
 
  .. code-block:: none
 
-    Convolution: 53.537921 ms
+    Convolution: 34.283519 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 7c800ea7ef..e499428f14 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
@@ -598,7 +598,7 @@ be able to run on our build server
 
  .. code-block:: none
 
-    conv2d with tensor core: 12.219993 ms
+    conv2d with tensor core: 11.150541 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 943c77ff50..94ba234059 100644
--- a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
@@ -134,8 +134,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 
  .. code-block:: none
 
-    Numpy running time: 0.019174
-    Baseline: 3.210235
+    Numpy running time: 0.018940
+    Baseline: 3.198221
 
 
 
@@ -227,7 +227,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 
  .. code-block:: none
 
-    Opt1: 0.325425
+    Opt1: 0.290675
 
 
 
@@ -318,7 +318,7 @@ In this tutorial, we chose to vectorize the inner loop row data since it is cach
 
  .. code-block:: none
 
-    Opt2: 0.354215
+    Opt2: 0.339132
 
 
 
@@ -406,7 +406,7 @@ the access pattern for A matrix is more cache friendly.
 
  .. code-block:: none
 
-    Opt3: 0.119072
+    Opt3: 0.118303
 
 
 
@@ -523,7 +523,7 @@ flattening.
 
  .. code-block:: none
 
-    Opt4: 0.108427
+    Opt4: 0.110241
 
 
 
@@ -635,7 +635,7 @@ write to C when all the block results are ready.
 
  .. code-block:: none
 
-    Opt5: 0.111316
+    Opt5: 0.111996
 
 
 
@@ -748,7 +748,7 @@ Furthermore, we can also utilize multi-core processors to do the thread-level pa
 
  .. code-block:: none
 
-    Opt6: 0.145005
+    Opt6: 0.147561
 
 
 
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 30678c6aef..f76c5b53a2 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:35.404** total execution time for **how_to_optimize_operators** files:
+**00:34.824** total execution time for **how_to_optimize_operators** files:
 
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)                       | 00:32.372 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)                       | 00:31.823 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.914 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.863 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)             | 00:01.117 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)             | 00:01.138 | 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 b8b98fa272..d8b2cf4f5f 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
 =================
-**10:17.948** total execution time for **how_to_tune_with_autoscheduler** files:
+**10:09.517** 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``) | 06:18.063 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 06:13.990 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)             | 01:45.063 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)             | 01:43.127 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)           | 01:12.634 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)           | 01:11.538 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)               | 00:33.356 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)               | 00:32.857 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)             | 00:14.675 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)             | 00:14.256 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)           | 00:14.157 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)           | 00:13.750 | 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 9b1d48d958..5d0d8334cf 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
@@ -243,585 +243,500 @@ cooperative fetching, unrolling and operator fusion.
         @T.prim_func
         def main(data: T.Buffer((1, 512, 7, 7), "float32"), kernel: T.Buffer((512, 512, 3, 3), "float32"), bias: T.Buffer((1, 512, 1, 1), "float32"), compute: T.Buffer((1, 512, 7, 7), "float32")):
             T.func_attr({"from_legacy_te_schedule": T.bool(True), "global_symbol": "main", "tir.noalias": T.bool(True)})
-            blockIdx_x = T.launch_thread("blockIdx.x", 32)
-            conv2d_nchw = T.allocate([14], "float32", "local")
-            pad_temp_shared = T.allocate([324], "float32", "shared")
-            kernel_shared = T.allocate([576], "float32", "shared")
-            threadIdx_x = T.launch_thread("threadIdx.x", 56)
-            conv2d_nchw_1 = T.Buffer((4,), data=conv2d_nchw, scope="local", align=8)
+            blockIdx_x = T.launch_thread("blockIdx.x", 8)
+            conv2d_nchw = T.allocate([28], "float32", "local")
+            pad_temp_shared = T.allocate([1296], "float32", "shared")
+            kernel_shared = T.allocate([9216], "float32", "shared")
+            threadIdx_x = T.launch_thread("threadIdx.x", 112)
+            conv2d_nchw_1 = T.Buffer((196,), data=conv2d_nchw, scope="local", align=32)
             conv2d_nchw_1[0] = T.float32(0)
-            conv2d_nchw_1[2] = T.float32(0)
-            conv2d_nchw_1[4] = T.float32(0)
-            conv2d_nchw_1[6] = T.float32(0)
-            conv2d_nchw_1[8] = T.float32(0)
-            conv2d_nchw_1[10] = T.float32(0)
-            conv2d_nchw_1[12] = T.float32(0)
+            conv2d_nchw_1[14] = T.float32(0)
             conv2d_nchw_1[1] = T.float32(0)
+            conv2d_nchw_1[15] = T.float32(0)
+            conv2d_nchw_1[2] = T.float32(0)
+            conv2d_nchw_1[16] = T.float32(0)
             conv2d_nchw_1[3] = T.float32(0)
+            conv2d_nchw_1[17] = T.float32(0)
+            conv2d_nchw_1[4] = T.float32(0)
+            conv2d_nchw_1[18] = T.float32(0)
             conv2d_nchw_1[5] = T.float32(0)
+            conv2d_nchw_1[19] = T.float32(0)
+            conv2d_nchw_1[6] = T.float32(0)
+            conv2d_nchw_1[20] = T.float32(0)
             conv2d_nchw_1[7] = T.float32(0)
+            conv2d_nchw_1[21] = T.float32(0)
+            conv2d_nchw_1[8] = T.float32(0)
+            conv2d_nchw_1[22] = T.float32(0)
             conv2d_nchw_1[9] = T.float32(0)
+            conv2d_nchw_1[23] = T.float32(0)
+            conv2d_nchw_1[10] = T.float32(0)
+            conv2d_nchw_1[24] = T.float32(0)
             conv2d_nchw_1[11] = T.float32(0)
+            conv2d_nchw_1[25] = T.float32(0)
+            conv2d_nchw_1[12] = T.float32(0)
+            conv2d_nchw_1[26] = T.float32(0)
             conv2d_nchw_1[13] = T.float32(0)
-            for rc_outer_outer in range(128):
-                cse_var_2: T.int32 = rc_outer_outer * 196
-                cse_var_1: T.int32 = rc_outer_outer * 36
+            conv2d_nchw_1[27] = T.float32(0)
+            for rc_outer_outer in range(32):
+                cse_var_2: T.int32 = rc_outer_outer * 784
+                cse_var_1: T.int32 = rc_outer_outer * 144
                 threadIdx_x_1 = T.env_thread("threadIdx.x")
-                pad_temp_shared_1 = T.Buffer((324,), data=pad_temp_shared, scope="shared")
+                pad_temp_shared_1 = T.Buffer((1296,), data=pad_temp_shared, scope="shared")
                 data_1 = T.Buffer((25088,), data=data.data)
-                with T.launch_thread(threadIdx_x_1, 56):
-                    pad_temp_shared_1[threadIdx_x_1] = T.if_then_else(9 <= threadIdx_x_1 and 1 <= threadIdx_x_1 % 9 and threadIdx_x_1 % 9 < 8, data_1[cse_var_2 + threadIdx_x_1 // 9 * 7 + threadIdx_x_1 % 9 - 8], T.float32(0))
-                with T.launch_thread(threadIdx_x_1, 56):
-                    pad_temp_shared_1[threadIdx_x_1 + 56] = T.if_then_else(9 <= (threadIdx_x_1 + 56) % 81 and (threadIdx_x_1 + 56) % 81 < 72 and 1 <= (threadIdx_x_1 + 2) % 9 and (threadIdx_x_1 + 2) % 9 < 8, data_1[cse_var_2 + (threadIdx_x_1 + 56) // 81 * 49 + (threadIdx_x_1 + 56) % 81 // 9 * 7 + (threadIdx_x_1 + 2) % 9 - 8], T.float32(0))
-                with T.launch_thread(threadIdx_x_1, 56):
+                with T.launch_thread(threadIdx_x_1, 112):
+                    pad_temp_shared_1[threadIdx_x_1] = T.if_then_else(9 <= threadIdx_x_1 % 81 and threadIdx_x_1 % 81 < 72 and 1 <= threadIdx_x_1 % 9 and threadIdx_x_1 % 9 < 8, data_1[cse_var_2 + threadIdx_x_1 // 81 * 49 + threadIdx_x_1 % 81 // 9 * 7 + threadIdx_x_1 % 9 - 8], T.float32(0))
+                with T.launch_thread(threadIdx_x_1, 112):
                     pad_temp_shared_1[threadIdx_x_1 + 112] = T.if_then_else(9 <= (threadIdx_x_1 + 31) % 81 and (threadIdx_x_1 + 31) % 81 < 72 and 1 <= (threadIdx_x_1 + 4) % 9 and (threadIdx_x_1 + 4) % 9 < 8, data_1[cse_var_2 + (threadIdx_x_1 + 112) // 81 * 49 + (threadIdx_x_1 + 31) % 81 // 9 * 7 + (threadIdx_x_1 + 4) % 9 - 8], T.float32(0))
-                with T.launch_thread(threadIdx_x_1, 56):
-                    pad_temp_shared_1[threadIdx_x_1 + 168] = T.if_then_else(3 <= threadIdx_x_1 and 1 <= (threadIdx_x_1 + 6) % 9 and (threadIdx_x_1 + 6) % 9 < 8, data_1[cse_var_2 + (threadIdx_x_1 + 168) // 81 * 49 + (threadIdx_x_1 + 6) // 9 * 7 + (threadIdx_x_1 + 6) % 9 - 8], T.float32(0))
-                with T.launch_thread(threadIdx_x_1, 56):
+                with T.launch_thread(threadIdx_x_1, 112):
                     pad_temp_shared_1[threadIdx_x_1 + 224] = T.if_then_else(9 <= (threadIdx_x_1 + 62) % 81 and (threadIdx_x_1 + 62) % 81 < 72 and 1 <= (threadIdx_x_1 + 8) % 9 and (threadIdx_x_1 + 8) % 9 < 8, data_1[cse_var_2 + (threadIdx_x_1 + 224) // 81 * 49 + (threadIdx_x_1 + 62) % 81 // 9 * 7 + (threadIdx_x_1 + 8) % 9 - 8], T.float32(0))
-                with T.launch_thread(threadIdx_x_1, 56):
-                    if T.likely(threadIdx_x_1 < 44):
-                        pad_temp_shared_1[threadIdx_x_1 + 280] = T.if_then_else(threadIdx_x_1 < 35 and 1 <= (threadIdx_x_1 + 1) % 9 and (threadIdx_x_1 + 1) % 9 < 8, data_1[cse_var_2 + (threadIdx_x_1 + 280) // 81 * 49 + (threadIdx_x_1 + 37) // 9 * 7 + (threadIdx_x_1 + 1) % 9 - 8], T.float32(0))
+                with T.launch_thread(threadIdx_x_1, 112):
+                    pad_temp_shared_1[threadIdx_x_1 + 336] = T.if_then_else(9 <= (threadIdx_x_1 + 12) % 81 and (threadIdx_x_1 + 12) % 81 < 72 and 1 <= (threadIdx_x_1 + 3) % 9 and (threadIdx_x_1 + 3) % 9 < 8, data_1[cse_var_2 + (threadIdx_x_1 + 336) // 81 * 49 + (threadIdx_x_1 + 12) % 81 // 9 * 7 + (threadIdx_x_1 + 3) % 9 - 8], T.float32(0))
+                with T.launch_thread(threadIdx_x_1, 112):
+                    pad_temp_shared_1[threadIdx_x_1 + 448] = T.if_then_else(9 <= (threadIdx_x_1 + 43) % 81 and (threadIdx_x_1 + 43) % 81 < 72 and 1 <= (threadIdx_x_1 + 7) % 9 and (threadIdx_x_1 + 7) % 9 < 8, data_1[cse_var_2 + (threadIdx_x_1 + 448) // 81 * 49 + (threadIdx_x_1 + 43) % 81 // 9 * 7 + (threadIdx_x_1 + 7) % 9 - 8], T.float32(0))
+                with T.launch_thread(threadIdx_x_1, 112):
+                    pad_temp_shared_1[threadIdx_x_1 + 560] = T.if_then_else(9 <= (threadIdx_x_1 + 74) % 81 and (threadIdx_x_1 + 74) % 81 < 72 and 1 <= (threadIdx_x_1 + 2) % 9 and (threadIdx_x_1 + 2) % 9 < 8, data_1[cse_var_2 + (threadIdx_x_1 + 560) // 81 * 49 + (threadIdx_x_1 + 74) % 81 // 9 * 7 + (threadIdx_x_1 + 2) % 9 - 8], T.float32(0))
+                with T.launch_thread(threadIdx_x_1, 112):
+                    pad_temp_shared_1[threadIdx_x_1 + 672] = T.if_then_else(9 <= (threadIdx_x_1 + 24) % 81 and (threadIdx_x_1 + 24) % 81 < 72 and 1 <= (threadIdx_x_1 + 6) % 9 and (threadIdx_x_1 + 6) % 9 < 8, data_1[cse_var_2 + (threadIdx_x_1 + 672) // 81 * 49 + (threadIdx_x_1 + 24) % 81 // 9 * 7 + (threadIdx_x_1 + 6) % 9 - 8], T.float32(0))
+                with T.launch_thread(threadIdx_x_1, 112):
+                    pad_temp_shared_1[threadIdx_x_1 + 784] = T.if_then_else(9 <= (threadIdx_x_1 + 55) % 81 and (threadIdx_x_1 + 55) % 81 < 72 and 1 <= (threadIdx_x_1 + 1) % 9 and (threadIdx_x_1 + 1) % 9 < 8, data_1[cse_var_2 + (threadIdx_x_1 + 784) // 81 * 49 + (threadIdx_x_1 + 55) % 81 // 9 * 7 + (threadIdx_x_1 + 1) % 9 - 8], T.float32(0))
+                with T.launch_thread(threadIdx_x_1, 112):
+                    pad_temp_shared_1[threadIdx_x_1 + 896] = T.if_then_else(9 <= (threadIdx_x_1 + 5) % 81 and (threadIdx_x_1 + 5) % 81 < 72 and 1 <= (threadIdx_x_1 + 5) % 9 and (threadIdx_x_1 + 5) % 9 < 8, data_1[cse_var_2 + (threadIdx_x_1 + 896) // 81 * 49 + (threadIdx_x_1 + 5) % 81 // 9 * 7 + (threadIdx_x_1 + 5) % 9 - 8], T.float32(0))
+                with T.launch_thread(threadIdx_x_1, 112):
+                    pad_temp_shared_1[threadIdx_x_1 + 1008] = T.if_then_else(1 <= (threadIdx_x_1 // 9 + 4) % 9 and (threadIdx_x_1 + 36) % 81 < 72 and 1 <= threadIdx_x_1 % 9 and threadIdx_x_1 % 9 < 8, data_1[cse_var_2 + (threadIdx_x_1 + 1008) // 81 * 49 + (threadIdx_x_1 // 9 + 4) % 9 * 7 + threadIdx_x_1 % 9 - 8], T.float32(0))
+                with T.launch_thread(threadIdx_x_1, 112):
+                    pad_temp_shared_1[threadIdx_x_1 + 1120] = T.if_then_else(9 <= (threadIdx_x_1 + 67) % 81 and (threadIdx_x_1 + 67) % 81 < 72 and 1 <= (threadIdx_x_1 + 4) % 9 and (threadIdx_x_1 + 4) % 9 < 8, data_1[cse_var_2 + (threadIdx_x_1 + 1120) // 81 * 49 + (threadIdx_x_1 + 67) % 81 // 9 * 7 + (threadIdx_x_1 + 4) % 9 - 8], T.float32(0))
+                with T.launch_thread(threadIdx_x_1, 112):
+                    if T.likely(threadIdx_x_1 < 64):
+                        pad_temp_shared_1[threadIdx_x_1 + 1232] = T.if_then_else(threadIdx_x_1 < 55 and 1 <= (threadIdx_x_1 + 8) % 9 and (threadIdx_x_1 + 8) % 9 < 8, data_1[cse_var_2 + (threadIdx_x_1 + 1232) // 81 * 49 + (threadIdx_x_1 + 17) // 9 * 7 + (threadIdx_x_1 + 8) % 9 - 8], T.float32(0))
                 threadIdx_x_2 = T.env_thread("threadIdx.x")
-                kernel_shared_1 = T.Buffer((576,), data=kernel_shared, scope="shared")
+                kernel_shared_1 = T.Buffer((9216,), data=kernel_shared, scope="shared")
                 kernel_1 = T.Buffer((2359296,), data=kernel.data)
-                with T.launch_thread(threadIdx_x_2, 56):
-                    kernel_shared_1[threadIdx_x_2] = kernel_1[blockIdx_x * 73728 + threadIdx_x_2 // 36 * 4608 + cse_var_1 + threadIdx_x_2 % 36]
-                with T.launch_thread(threadIdx_x_2, 56):
-                    kernel_shared_1[threadIdx_x_2 + 56] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 56) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 20) % 36 // 3 * 3 + (threadIdx_x_2 + 2) % 3]
-                with T.launch_thread(threadIdx_x_2, 56):
-                    kernel_shared_1[threadIdx_x_2 + 112] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 112) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 4) % 36 // 3 * 3 + (threadIdx_x_2 + 1) % 3]
-                with T.launch_thread(threadIdx_x_2, 56):
-                    kernel_shared_1[threadIdx_x_2 + 168] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 168) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 // 3 + 8) % 12 * 3 + threadIdx_x_2 % 3]
-                with T.launch_thread(threadIdx_x_2, 56):
-                    kernel_shared_1[threadIdx_x_2 + 224] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 224) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 8) % 36 // 3 * 3 + (threadIdx_x_2 + 2) % 3]
-                with T.launch_thread(threadIdx_x_2, 56):
-                    kernel_shared_1[threadIdx_x_2 + 280] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 280) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 28) % 36 // 3 * 3 + (threadIdx_x_2 + 1) % 3]
-                with T.launch_thread(threadIdx_x_2, 56):
-                    kernel_shared_1[threadIdx_x_2 + 336] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 336) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 // 3 + 4) % 12 * 3 + threadIdx_x_2 % 3]
-                with T.launch_thread(threadIdx_x_2, 56):
-                    kernel_shared_1[threadIdx_x_2 + 392] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 392) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 32) % 36 // 3 * 3 + (threadIdx_x_2 + 2) % 3]
-                with T.launch_thread(threadIdx_x_2, 56):
-                    kernel_shared_1[threadIdx_x_2 + 448] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 448) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 16) % 36 // 3 * 3 + (threadIdx_x_2 + 1) % 3]
-                with T.launch_thread(threadIdx_x_2, 56):
-                    kernel_shared_1[threadIdx_x_2 + 504] = kernel_1[blockIdx_x * 73728 + threadIdx_x_2 // 36 * 4608 + cse_var_1 + threadIdx_x_2 % 36 + 64512]
-                with T.launch_thread(threadIdx_x_2, 56):
-                    if T.likely(threadIdx_x_2 < 16):
-                        kernel_shared_1[threadIdx_x_2 + 560] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 560) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 20) // 3 * 3 + (threadIdx_x_2 + 2) % 3]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7] * kernel_shared_1[threadIdx_x // 7 * 72]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 72]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 72]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 72]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 72]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 72]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 72]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7] * kernel_shared_1[threadIdx_x // 7 * 72 + 36]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 72 + 36]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 72 + 36]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 72 + 36]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 72 + 36]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 72 + 36]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 72 + 36]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 1] * kernel_shared_1[threadIdx_x // 7 * 72 + 1]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 72 + 1]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 72 + 1]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 72 + 1]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 72 + 1]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 72 + 1]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 72 + 1]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 1] * kernel_shared_1[threadIdx_x // 7 * 72 + 37]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 72 + 37]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 72 + 37]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 72 + 37]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 72 + 37]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 72 + 37]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 72 + 37]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 2] * kernel_shared_1[threadIdx_x // 7 * 72 + 2]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 72 + 2]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 72 + 2]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 72 + 2]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 72 + 2]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 72 + 2]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 72 + 2]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 2] * kernel_shared_1[threadIdx_x // 7 * 72 + 38]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 72 + 38]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 72 + 38]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 72 + 38]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 72 + 38]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 72 + 38]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 72 + 38]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 81] * kernel_shared_1[threadIdx_x // 7 * 72 + 9]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 90] * kernel_shared_1[threadIdx_x // 7 * 72 + 9]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 99] * kernel_shared_1[threadIdx_x // 7 * 72 + 9]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 108] * kernel_shared_1[threadIdx_x // 7 * 72 + 9]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 117] * kernel_shared_1[threadIdx_x // 7 * 72 + 9]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 126] * kernel_shared_1[threadIdx_x // 7 * 72 + 9]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 135] * kernel_shared_1[threadIdx_x // 7 * 72 + 9]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 81] * kernel_shared_1[threadIdx_x // 7 * 72 + 45]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 90] * kernel_shared_1[threadIdx_x // 7 * 72 + 45]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 99] * kernel_shared_1[threadIdx_x // 7 * 72 + 45]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 108] * kernel_shared_1[threadIdx_x // 7 * 72 + 45]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 117] * kernel_shared_1[threadIdx_x // 7 * 72 + 45]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 126] * kernel_shared_1[threadIdx_x // 7 * 72 + 45]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 135] * kernel_shared_1[threadIdx_x // 7 * 72 + 45]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 82] * kernel_shared_1[threadIdx_x // 7 * 72 + 10]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 91] * kernel_shared_1[threadIdx_x // 7 * 72 + 10]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 100] * kernel_shared_1[threadIdx_x // 7 * 72 + 10]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 109] * kernel_shared_1[threadIdx_x // 7 * 72 + 10]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 118] * kernel_shared_1[threadIdx_x // 7 * 72 + 10]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 127] * kernel_shared_1[threadIdx_x // 7 * 72 + 10]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 136] * kernel_shared_1[threadIdx_x // 7 * 72 + 10]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 82] * kernel_shared_1[threadIdx_x // 7 * 72 + 46]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 91] * kernel_shared_1[threadIdx_x // 7 * 72 + 46]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 100] * kernel_shared_1[threadIdx_x // 7 * 72 + 46]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 109] * kernel_shared_1[threadIdx_x // 7 * 72 + 46]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 118] * kernel_shared_1[threadIdx_x // 7 * 72 + 46]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 127] * kernel_shared_1[threadIdx_x // 7 * 72 + 46]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 136] * kernel_shared_1[threadIdx_x // 7 * 72 + 46]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 83] * kernel_shared_1[threadIdx_x // 7 * 72 + 11]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 92] * kernel_shared_1[threadIdx_x // 7 * 72 + 11]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 101] * kernel_shared_1[threadIdx_x // 7 * 72 + 11]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 110] * kernel_shared_1[threadIdx_x // 7 * 72 + 11]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 119] * kernel_shared_1[threadIdx_x // 7 * 72 + 11]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 128] * kernel_shared_1[threadIdx_x // 7 * 72 + 11]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 137] * kernel_shared_1[threadIdx_x // 7 * 72 + 11]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 83] * kernel_shared_1[threadIdx_x // 7 * 72 + 47]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 92] * kernel_shared_1[threadIdx_x // 7 * 72 + 47]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 101] * kernel_shared_1[threadIdx_x // 7 * 72 + 47]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 110] * kernel_shared_1[threadIdx_x // 7 * 72 + 47]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 119] * kernel_shared_1[threadIdx_x // 7 * 72 + 47]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 128] * kernel_shared_1[threadIdx_x // 7 * 72 + 47]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 137] * kernel_shared_1[threadIdx_x // 7 * 72 + 47]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 72 + 3]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 72 + 3]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 72 + 3]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 72 + 3]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 72 + 3]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 72 + 3]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 72 + 3]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 72 + 39]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 72 + 39]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 72 + 39]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 72 + 39]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 72 + 39]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 72 + 39]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 72 + 39]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 72 + 4]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 72 + 4]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 72 + 4]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 72 + 4]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 72 + 4]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 72 + 4]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 72 + 4]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 72 + 40]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 72 + 40]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 72 + 40]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 72 + 40]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 72 + 40]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 72 + 40]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 72 + 40]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 72 + 5]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 72 + 5]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 72 + 5]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 72 + 5]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 72 + 5]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 72 + 5]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 72 + 5]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 72 + 41]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 72 + 41]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 72 + 41]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 72 + 41]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 72 + 41]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 72 + 41]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 72 + 41]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 90] * kernel_shared_1[threadIdx_x // 7 * 72 + 12]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 99] * kernel_shared_1[threadIdx_x // 7 * 72 + 12]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 108] * kernel_shared_1[threadIdx_x // 7 * 72 + 12]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 117] * kernel_shared_1[threadIdx_x // 7 * 72 + 12]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 126] * kernel_shared_1[threadIdx_x // 7 * 72 + 12]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 135] * kernel_shared_1[threadIdx_x // 7 * 72 + 12]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 144] * kernel_shared_1[threadIdx_x // 7 * 72 + 12]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 90] * kernel_shared_1[threadIdx_x // 7 * 72 + 48]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 99] * kernel_shared_1[threadIdx_x // 7 * 72 + 48]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 108] * kernel_shared_1[threadIdx_x // 7 * 72 + 48]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 117] * kernel_shared_1[threadIdx_x // 7 * 72 + 48]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 126] * kernel_shared_1[threadIdx_x // 7 * 72 + 48]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 135] * kernel_shared_1[threadIdx_x // 7 * 72 + 48]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 144] * kernel_shared_1[threadIdx_x // 7 * 72 + 48]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 91] * kernel_shared_1[threadIdx_x // 7 * 72 + 13]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 100] * kernel_shared_1[threadIdx_x // 7 * 72 + 13]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 109] * kernel_shared_1[threadIdx_x // 7 * 72 + 13]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 118] * kernel_shared_1[threadIdx_x // 7 * 72 + 13]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 127] * kernel_shared_1[threadIdx_x // 7 * 72 + 13]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 136] * kernel_shared_1[threadIdx_x // 7 * 72 + 13]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 145] * kernel_shared_1[threadIdx_x // 7 * 72 + 13]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 91] * kernel_shared_1[threadIdx_x // 7 * 72 + 49]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 100] * kernel_shared_1[threadIdx_x // 7 * 72 + 49]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 109] * kernel_shared_1[threadIdx_x // 7 * 72 + 49]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 118] * kernel_shared_1[threadIdx_x // 7 * 72 + 49]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 127] * kernel_shared_1[threadIdx_x // 7 * 72 + 49]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 136] * kernel_shared_1[threadIdx_x // 7 * 72 + 49]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 145] * kernel_shared_1[threadIdx_x // 7 * 72 + 49]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 92] * kernel_shared_1[threadIdx_x // 7 * 72 + 14]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 101] * kernel_shared_1[threadIdx_x // 7 * 72 + 14]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 110] * kernel_shared_1[threadIdx_x // 7 * 72 + 14]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 119] * kernel_shared_1[threadIdx_x // 7 * 72 + 14]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 128] * kernel_shared_1[threadIdx_x // 7 * 72 + 14]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 137] * kernel_shared_1[threadIdx_x // 7 * 72 + 14]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 146] * kernel_shared_1[threadIdx_x // 7 * 72 + 14]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 92] * kernel_shared_1[threadIdx_x // 7 * 72 + 50]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 101] * kernel_shared_1[threadIdx_x // 7 * 72 + 50]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 110] * kernel_shared_1[threadIdx_x // 7 * 72 + 50]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 119] * kernel_shared_1[threadIdx_x // 7 * 72 + 50]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 128] * kernel_shared_1[threadIdx_x // 7 * 72 + 50]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 137] * kernel_shared_1[threadIdx_x // 7 * 72 + 50]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 146] * kernel_shared_1[threadIdx_x // 7 * 72 + 50]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 72 + 6]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 72 + 6]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 72 + 6]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 72 + 6]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 72 + 6]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 72 + 6]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 72] * kernel_shared_1[threadIdx_x // 7 * 72 + 6]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 72 + 42]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 72 + 42]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 72 + 42]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 72 + 42]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 72 + 42]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 72 + 42]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 72] * kernel_shared_1[threadIdx_x // 7 * 72 + 42]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 72 + 7]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 72 + 7]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 72 + 7]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 72 + 7]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 72 + 7]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 72 + 7]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 73] * kernel_shared_1[threadIdx_x // 7 * 72 + 7]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 72 + 43]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 72 + 43]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 72 + 43]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 72 + 43]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 72 + 43]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 72 + 43]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 73] * kernel_shared_1[threadIdx_x // 7 * 72 + 43]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 72 + 8]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 72 + 8]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 72 + 8]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 72 + 8]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 72 + 8]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 72 + 8]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 74] * kernel_shared_1[threadIdx_x // 7 * 72 + 8]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 72 + 44]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 72 + 44]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 72 + 44]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 72 + 44]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 72 + 44]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 72 + 44]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 74] * kernel_shared_1[threadIdx_x // 7 * 72 + 44]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 99] * kernel_shared_1[threadIdx_x // 7 * 72 + 15]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 108] * kernel_shared_1[threadIdx_x // 7 * 72 + 15]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 117] * kernel_shared_1[threadIdx_x // 7 * 72 + 15]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 126] * kernel_shared_1[threadIdx_x // 7 * 72 + 15]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 135] * kernel_shared_1[threadIdx_x // 7 * 72 + 15]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 144] * kernel_shared_1[threadIdx_x // 7 * 72 + 15]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 153] * kernel_shared_1[threadIdx_x // 7 * 72 + 15]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 99] * kernel_shared_1[threadIdx_x // 7 * 72 + 51]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 108] * kernel_shared_1[threadIdx_x // 7 * 72 + 51]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 117] * kernel_shared_1[threadIdx_x // 7 * 72 + 51]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 126] * kernel_shared_1[threadIdx_x // 7 * 72 + 51]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 135] * kernel_shared_1[threadIdx_x // 7 * 72 + 51]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 144] * kernel_shared_1[threadIdx_x // 7 * 72 + 51]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 153] * kernel_shared_1[threadIdx_x // 7 * 72 + 51]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 100] * kernel_shared_1[threadIdx_x // 7 * 72 + 16]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 109] * kernel_shared_1[threadIdx_x // 7 * 72 + 16]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 118] * kernel_shared_1[threadIdx_x // 7 * 72 + 16]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 127] * kernel_shared_1[threadIdx_x // 7 * 72 + 16]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 136] * kernel_shared_1[threadIdx_x // 7 * 72 + 16]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 145] * kernel_shared_1[threadIdx_x // 7 * 72 + 16]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 154] * kernel_shared_1[threadIdx_x // 7 * 72 + 16]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 100] * kernel_shared_1[threadIdx_x // 7 * 72 + 52]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 109] * kernel_shared_1[threadIdx_x // 7 * 72 + 52]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 118] * kernel_shared_1[threadIdx_x // 7 * 72 + 52]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 127] * kernel_shared_1[threadIdx_x // 7 * 72 + 52]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 136] * kernel_shared_1[threadIdx_x // 7 * 72 + 52]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 145] * kernel_shared_1[threadIdx_x // 7 * 72 + 52]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 154] * kernel_shared_1[threadIdx_x // 7 * 72 + 52]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 101] * kernel_shared_1[threadIdx_x // 7 * 72 + 17]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 110] * kernel_shared_1[threadIdx_x // 7 * 72 + 17]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 119] * kernel_shared_1[threadIdx_x // 7 * 72 + 17]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 128] * kernel_shared_1[threadIdx_x // 7 * 72 + 17]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 137] * kernel_shared_1[threadIdx_x // 7 * 72 + 17]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 146] * kernel_shared_1[threadIdx_x // 7 * 72 + 17]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 155] * kernel_shared_1[threadIdx_x // 7 * 72 + 17]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 101] * kernel_shared_1[threadIdx_x // 7 * 72 + 53]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 110] * kernel_shared_1[threadIdx_x // 7 * 72 + 53]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 119] * kernel_shared_1[threadIdx_x // 7 * 72 + 53]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 128] * kernel_shared_1[threadIdx_x // 7 * 72 + 53]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 137] * kernel_shared_1[threadIdx_x // 7 * 72 + 53]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 146] * kernel_shared_1[threadIdx_x // 7 * 72 + 53]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 155] * kernel_shared_1[threadIdx_x // 7 * 72 + 53]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 162] * kernel_shared_1[threadIdx_x // 7 * 72 + 18]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 171] * kernel_shared_1[threadIdx_x // 7 * 72 + 18]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 180] * kernel_shared_1[threadIdx_x // 7 * 72 + 18]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 189] * kernel_shared_1[threadIdx_x // 7 * 72 + 18]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 198] * kernel_shared_1[threadIdx_x // 7 * 72 + 18]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 207] * kernel_shared_1[threadIdx_x // 7 * 72 + 18]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 216] * kernel_shared_1[threadIdx_x // 7 * 72 + 18]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 162] * kernel_shared_1[threadIdx_x // 7 * 72 + 54]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 171] * kernel_shared_1[threadIdx_x // 7 * 72 + 54]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 180] * kernel_shared_1[threadIdx_x // 7 * 72 + 54]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 189] * kernel_shared_1[threadIdx_x // 7 * 72 + 54]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 198] * kernel_shared_1[threadIdx_x // 7 * 72 + 54]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 207] * kernel_shared_1[threadIdx_x // 7 * 72 + 54]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 216] * kernel_shared_1[threadIdx_x // 7 * 72 + 54]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 163] * kernel_shared_1[threadIdx_x // 7 * 72 + 19]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 172] * kernel_shared_1[threadIdx_x // 7 * 72 + 19]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 181] * kernel_shared_1[threadIdx_x // 7 * 72 + 19]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 190] * kernel_shared_1[threadIdx_x // 7 * 72 + 19]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 199] * kernel_shared_1[threadIdx_x // 7 * 72 + 19]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 208] * kernel_shared_1[threadIdx_x // 7 * 72 + 19]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 217] * kernel_shared_1[threadIdx_x // 7 * 72 + 19]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 163] * kernel_shared_1[threadIdx_x // 7 * 72 + 55]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 172] * kernel_shared_1[threadIdx_x // 7 * 72 + 55]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 181] * kernel_shared_1[threadIdx_x // 7 * 72 + 55]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 190] * kernel_shared_1[threadIdx_x // 7 * 72 + 55]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 199] * kernel_shared_1[threadIdx_x // 7 * 72 + 55]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 208] * kernel_shared_1[threadIdx_x // 7 * 72 + 55]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 217] * kernel_shared_1[threadIdx_x // 7 * 72 + 55]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 164] * kernel_shared_1[threadIdx_x // 7 * 72 + 20]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 173] * kernel_shared_1[threadIdx_x // 7 * 72 + 20]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 182] * kernel_shared_1[threadIdx_x // 7 * 72 + 20]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 191] * kernel_shared_1[threadIdx_x // 7 * 72 + 20]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 200] * kernel_shared_1[threadIdx_x // 7 * 72 + 20]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 209] * kernel_shared_1[threadIdx_x // 7 * 72 + 20]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 218] * kernel_shared_1[threadIdx_x // 7 * 72 + 20]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 164] * kernel_shared_1[threadIdx_x // 7 * 72 + 56]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 173] * kernel_shared_1[threadIdx_x // 7 * 72 + 56]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 182] * kernel_shared_1[threadIdx_x // 7 * 72 + 56]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 191] * kernel_shared_1[threadIdx_x // 7 * 72 + 56]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 200] * kernel_shared_1[threadIdx_x // 7 * 72 + 56]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 209] * kernel_shared_1[threadIdx_x // 7 * 72 + 56]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 218] * kernel_shared_1[threadIdx_x // 7 * 72 + 56]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 243] * kernel_shared_1[threadIdx_x // 7 * 72 + 27]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 252] * kernel_shared_1[threadIdx_x // 7 * 72 + 27]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 261] * kernel_shared_1[threadIdx_x // 7 * 72 + 27]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 270] * kernel_shared_1[threadIdx_x // 7 * 72 + 27]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 279] * kernel_shared_1[threadIdx_x // 7 * 72 + 27]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 288] * kernel_shared_1[threadIdx_x // 7 * 72 + 27]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 297] * kernel_shared_1[threadIdx_x // 7 * 72 + 27]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 243] * kernel_shared_1[threadIdx_x // 7 * 72 + 63]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 252] * kernel_shared_1[threadIdx_x // 7 * 72 + 63]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 261] * kernel_shared_1[threadIdx_x // 7 * 72 + 63]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 270] * kernel_shared_1[threadIdx_x // 7 * 72 + 63]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 279] * kernel_shared_1[threadIdx_x // 7 * 72 + 63]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 288] * kernel_shared_1[threadIdx_x // 7 * 72 + 63]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 297] * kernel_shared_1[threadIdx_x // 7 * 72 + 63]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 244] * kernel_shared_1[threadIdx_x // 7 * 72 + 28]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 253] * kernel_shared_1[threadIdx_x // 7 * 72 + 28]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 262] * kernel_shared_1[threadIdx_x // 7 * 72 + 28]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 271] * kernel_shared_1[threadIdx_x // 7 * 72 + 28]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 280] * kernel_shared_1[threadIdx_x // 7 * 72 + 28]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 289] * kernel_shared_1[threadIdx_x // 7 * 72 + 28]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 298] * kernel_shared_1[threadIdx_x // 7 * 72 + 28]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 244] * kernel_shared_1[threadIdx_x // 7 * 72 + 64]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 253] * kernel_shared_1[threadIdx_x // 7 * 72 + 64]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 262] * kernel_shared_1[threadIdx_x // 7 * 72 + 64]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 271] * kernel_shared_1[threadIdx_x // 7 * 72 + 64]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 280] * kernel_shared_1[threadIdx_x // 7 * 72 + 64]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 289] * kernel_shared_1[threadIdx_x // 7 * 72 + 64]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 298] * kernel_shared_1[threadIdx_x // 7 * 72 + 64]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 245] * kernel_shared_1[threadIdx_x // 7 * 72 + 29]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 254] * kernel_shared_1[threadIdx_x // 7 * 72 + 29]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 263] * kernel_shared_1[threadIdx_x // 7 * 72 + 29]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 272] * kernel_shared_1[threadIdx_x // 7 * 72 + 29]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 281] * kernel_shared_1[threadIdx_x // 7 * 72 + 29]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 290] * kernel_shared_1[threadIdx_x // 7 * 72 + 29]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 299] * kernel_shared_1[threadIdx_x // 7 * 72 + 29]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 245] * kernel_shared_1[threadIdx_x // 7 * 72 + 65]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 254] * kernel_shared_1[threadIdx_x // 7 * 72 + 65]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 263] * kernel_shared_1[threadIdx_x // 7 * 72 + 65]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 272] * kernel_shared_1[threadIdx_x // 7 * 72 + 65]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 281] * kernel_shared_1[threadIdx_x // 7 * 72 + 65]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 290] * kernel_shared_1[threadIdx_x // 7 * 72 + 65]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 299] * kernel_shared_1[threadIdx_x // 7 * 72 + 65]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 171] * kernel_shared_1[threadIdx_x // 7 * 72 + 21]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 180] * kernel_shared_1[threadIdx_x // 7 * 72 + 21]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 189] * kernel_shared_1[threadIdx_x // 7 * 72 + 21]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 198] * kernel_shared_1[threadIdx_x // 7 * 72 + 21]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 207] * kernel_shared_1[threadIdx_x // 7 * 72 + 21]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 216] * kernel_shared_1[threadIdx_x // 7 * 72 + 21]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 225] * kernel_shared_1[threadIdx_x // 7 * 72 + 21]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 171] * kernel_shared_1[threadIdx_x // 7 * 72 + 57]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 180] * kernel_shared_1[threadIdx_x // 7 * 72 + 57]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 189] * kernel_shared_1[threadIdx_x // 7 * 72 + 57]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 198] * kernel_shared_1[threadIdx_x // 7 * 72 + 57]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 207] * kernel_shared_1[threadIdx_x // 7 * 72 + 57]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 216] * kernel_shared_1[threadIdx_x // 7 * 72 + 57]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 225] * kernel_shared_1[threadIdx_x // 7 * 72 + 57]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 172] * kernel_shared_1[threadIdx_x // 7 * 72 + 22]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 181] * kernel_shared_1[threadIdx_x // 7 * 72 + 22]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 190] * kernel_shared_1[threadIdx_x // 7 * 72 + 22]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 199] * kernel_shared_1[threadIdx_x // 7 * 72 + 22]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 208] * kernel_shared_1[threadIdx_x // 7 * 72 + 22]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 217] * kernel_shared_1[threadIdx_x // 7 * 72 + 22]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 226] * kernel_shared_1[threadIdx_x // 7 * 72 + 22]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 172] * kernel_shared_1[threadIdx_x // 7 * 72 + 58]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 181] * kernel_shared_1[threadIdx_x // 7 * 72 + 58]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 190] * kernel_shared_1[threadIdx_x // 7 * 72 + 58]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 199] * kernel_shared_1[threadIdx_x // 7 * 72 + 58]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 208] * kernel_shared_1[threadIdx_x // 7 * 72 + 58]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 217] * kernel_shared_1[threadIdx_x // 7 * 72 + 58]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 226] * kernel_shared_1[threadIdx_x // 7 * 72 + 58]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 173] * kernel_shared_1[threadIdx_x // 7 * 72 + 23]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 182] * kernel_shared_1[threadIdx_x // 7 * 72 + 23]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 191] * kernel_shared_1[threadIdx_x // 7 * 72 + 23]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 200] * kernel_shared_1[threadIdx_x // 7 * 72 + 23]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 209] * kernel_shared_1[threadIdx_x // 7 * 72 + 23]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 218] * kernel_shared_1[threadIdx_x // 7 * 72 + 23]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 227] * kernel_shared_1[threadIdx_x // 7 * 72 + 23]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 173] * kernel_shared_1[threadIdx_x // 7 * 72 + 59]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 182] * kernel_shared_1[threadIdx_x // 7 * 72 + 59]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 191] * kernel_shared_1[threadIdx_x // 7 * 72 + 59]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 200] * kernel_shared_1[threadIdx_x // 7 * 72 + 59]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 209] * kernel_shared_1[threadIdx_x // 7 * 72 + 59]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 218] * kernel_shared_1[threadIdx_x // 7 * 72 + 59]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 227] * kernel_shared_1[threadIdx_x // 7 * 72 + 59]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 252] * kernel_shared_1[threadIdx_x // 7 * 72 + 30]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 261] * kernel_shared_1[threadIdx_x // 7 * 72 + 30]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 270] * kernel_shared_1[threadIdx_x // 7 * 72 + 30]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 279] * kernel_shared_1[threadIdx_x // 7 * 72 + 30]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 288] * kernel_shared_1[threadIdx_x // 7 * 72 + 30]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 297] * kernel_shared_1[threadIdx_x // 7 * 72 + 30]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 306] * kernel_shared_1[threadIdx_x // 7 * 72 + 30]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 252] * kernel_shared_1[threadIdx_x // 7 * 72 + 66]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 261] * kernel_shared_1[threadIdx_x // 7 * 72 + 66]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 270] * kernel_shared_1[threadIdx_x // 7 * 72 + 66]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 279] * kernel_shared_1[threadIdx_x // 7 * 72 + 66]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 288] * kernel_shared_1[threadIdx_x // 7 * 72 + 66]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 297] * kernel_shared_1[threadIdx_x // 7 * 72 + 66]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 306] * kernel_shared_1[threadIdx_x // 7 * 72 + 66]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 253] * kernel_shared_1[threadIdx_x // 7 * 72 + 31]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 262] * kernel_shared_1[threadIdx_x // 7 * 72 + 31]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 271] * kernel_shared_1[threadIdx_x // 7 * 72 + 31]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 280] * kernel_shared_1[threadIdx_x // 7 * 72 + 31]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 289] * kernel_shared_1[threadIdx_x // 7 * 72 + 31]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 298] * kernel_shared_1[threadIdx_x // 7 * 72 + 31]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 307] * kernel_shared_1[threadIdx_x // 7 * 72 + 31]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 253] * kernel_shared_1[threadIdx_x // 7 * 72 + 67]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 262] * kernel_shared_1[threadIdx_x // 7 * 72 + 67]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 271] * kernel_shared_1[threadIdx_x // 7 * 72 + 67]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 280] * kernel_shared_1[threadIdx_x // 7 * 72 + 67]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 289] * kernel_shared_1[threadIdx_x // 7 * 72 + 67]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 298] * kernel_shared_1[threadIdx_x // 7 * 72 + 67]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 307] * kernel_shared_1[threadIdx_x // 7 * 72 + 67]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 254] * kernel_shared_1[threadIdx_x // 7 * 72 + 32]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 263] * kernel_shared_1[threadIdx_x // 7 * 72 + 32]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 272] * kernel_shared_1[threadIdx_x // 7 * 72 + 32]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 281] * kernel_shared_1[threadIdx_x // 7 * 72 + 32]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 290] * kernel_shared_1[threadIdx_x // 7 * 72 + 32]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 299] * kernel_shared_1[threadIdx_x // 7 * 72 + 32]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 308] * kernel_shared_1[threadIdx_x // 7 * 72 + 32]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 254] * kernel_shared_1[threadIdx_x // 7 * 72 + 68]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 263] * kernel_shared_1[threadIdx_x // 7 * 72 + 68]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 272] * kernel_shared_1[threadIdx_x // 7 * 72 + 68]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 281] * kernel_shared_1[threadIdx_x // 7 * 72 + 68]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 290] * kernel_shared_1[threadIdx_x // 7 * 72 + 68]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 299] * kernel_shared_1[threadIdx_x // 7 * 72 + 68]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 308] * kernel_shared_1[threadIdx_x // 7 * 72 + 68]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 180] * kernel_shared_1[threadIdx_x // 7 * 72 + 24]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 189] * kernel_shared_1[threadIdx_x // 7 * 72 + 24]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 198] * kernel_shared_1[threadIdx_x // 7 * 72 + 24]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 207] * kernel_shared_1[threadIdx_x // 7 * 72 + 24]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 216] * kernel_shared_1[threadIdx_x // 7 * 72 + 24]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 225] * kernel_shared_1[threadIdx_x // 7 * 72 + 24]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 234] * kernel_shared_1[threadIdx_x // 7 * 72 + 24]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 180] * kernel_shared_1[threadIdx_x // 7 * 72 + 60]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 189] * kernel_shared_1[threadIdx_x // 7 * 72 + 60]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 198] * kernel_shared_1[threadIdx_x // 7 * 72 + 60]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 207] * kernel_shared_1[threadIdx_x // 7 * 72 + 60]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 216] * kernel_shared_1[threadIdx_x // 7 * 72 + 60]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 225] * kernel_shared_1[threadIdx_x // 7 * 72 + 60]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 234] * kernel_shared_1[threadIdx_x // 7 * 72 + 60]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 181] * kernel_shared_1[threadIdx_x // 7 * 72 + 25]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 190] * kernel_shared_1[threadIdx_x // 7 * 72 + 25]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 199] * kernel_shared_1[threadIdx_x // 7 * 72 + 25]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 208] * kernel_shared_1[threadIdx_x // 7 * 72 + 25]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 217] * kernel_shared_1[threadIdx_x // 7 * 72 + 25]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 226] * kernel_shared_1[threadIdx_x // 7 * 72 + 25]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 235] * kernel_shared_1[threadIdx_x // 7 * 72 + 25]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 181] * kernel_shared_1[threadIdx_x // 7 * 72 + 61]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 190] * kernel_shared_1[threadIdx_x // 7 * 72 + 61]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 199] * kernel_shared_1[threadIdx_x // 7 * 72 + 61]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 208] * kernel_shared_1[threadIdx_x // 7 * 72 + 61]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 217] * kernel_shared_1[threadIdx_x // 7 * 72 + 61]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 226] * kernel_shared_1[threadIdx_x // 7 * 72 + 61]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 235] * kernel_shared_1[threadIdx_x // 7 * 72 + 61]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 182] * kernel_shared_1[threadIdx_x // 7 * 72 + 26]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 191] * kernel_shared_1[threadIdx_x // 7 * 72 + 26]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 200] * kernel_shared_1[threadIdx_x // 7 * 72 + 26]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 209] * kernel_shared_1[threadIdx_x // 7 * 72 + 26]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 218] * kernel_shared_1[threadIdx_x // 7 * 72 + 26]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 227] * kernel_shared_1[threadIdx_x // 7 * 72 + 26]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 236] * kernel_shared_1[threadIdx_x // 7 * 72 + 26]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 182] * kernel_shared_1[threadIdx_x // 7 * 72 + 62]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 191] * kernel_shared_1[threadIdx_x // 7 * 72 + 62]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 200] * kernel_shared_1[threadIdx_x // 7 * 72 + 62]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 209] * kernel_shared_1[threadIdx_x // 7 * 72 + 62]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 218] * kernel_shared_1[threadIdx_x // 7 * 72 + 62]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 227] * kernel_shared_1[threadIdx_x // 7 * 72 + 62]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 236] * kernel_shared_1[threadIdx_x // 7 * 72 + 62]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 261] * kernel_shared_1[threadIdx_x // 7 * 72 + 33]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 270] * kernel_shared_1[threadIdx_x // 7 * 72 + 33]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 279] * kernel_shared_1[threadIdx_x // 7 * 72 + 33]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 288] * kernel_shared_1[threadIdx_x // 7 * 72 + 33]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 297] * kernel_shared_1[threadIdx_x // 7 * 72 + 33]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 306] * kernel_shared_1[threadIdx_x // 7 * 72 + 33]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 315] * kernel_shared_1[threadIdx_x // 7 * 72 + 33]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 261] * kernel_shared_1[threadIdx_x // 7 * 72 + 69]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 270] * kernel_shared_1[threadIdx_x // 7 * 72 + 69]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 279] * kernel_shared_1[threadIdx_x // 7 * 72 + 69]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 288] * kernel_shared_1[threadIdx_x // 7 * 72 + 69]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 297] * kernel_shared_1[threadIdx_x // 7 * 72 + 69]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 306] * kernel_shared_1[threadIdx_x // 7 * 72 + 69]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 315] * kernel_shared_1[threadIdx_x // 7 * 72 + 69]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 262] * kernel_shared_1[threadIdx_x // 7 * 72 + 34]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 271] * kernel_shared_1[threadIdx_x // 7 * 72 + 34]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 280] * kernel_shared_1[threadIdx_x // 7 * 72 + 34]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 289] * kernel_shared_1[threadIdx_x // 7 * 72 + 34]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 298] * kernel_shared_1[threadIdx_x // 7 * 72 + 34]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 307] * kernel_shared_1[threadIdx_x // 7 * 72 + 34]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 316] * kernel_shared_1[threadIdx_x // 7 * 72 + 34]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 262] * kernel_shared_1[threadIdx_x // 7 * 72 + 70]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 271] * kernel_shared_1[threadIdx_x // 7 * 72 + 70]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 280] * kernel_shared_1[threadIdx_x // 7 * 72 + 70]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 289] * kernel_shared_1[threadIdx_x // 7 * 72 + 70]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 298] * kernel_shared_1[threadIdx_x // 7 * 72 + 70]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 307] * kernel_shared_1[threadIdx_x // 7 * 72 + 70]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 316] * kernel_shared_1[threadIdx_x // 7 * 72 + 70]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 263] * kernel_shared_1[threadIdx_x // 7 * 72 + 35]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 272] * kernel_shared_1[threadIdx_x // 7 * 72 + 35]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 281] * kernel_shared_1[threadIdx_x // 7 * 72 + 35]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 290] * kernel_shared_1[threadIdx_x // 7 * 72 + 35]
-                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 299] * kernel_shared_1[threadIdx_x // 7 * 72 + 35]
-                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 308] * kernel_shared_1[threadIdx_x // 7 * 72 + 35]
-                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 317] * kernel_shared_1[threadIdx_x // 7 * 72 + 35]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 263] * kernel_shared_1[threadIdx_x // 7 * 72 + 71]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 272] * kernel_shared_1[threadIdx_x // 7 * 72 + 71]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 281] * kernel_shared_1[threadIdx_x // 7 * 72 + 71]
-                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 290] * kernel_shared_1[threadIdx_x // 7 * 72 + 71]
-                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 299] * kernel_shared_1[threadIdx_x // 7 * 72 + 71]
-                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 308] * kernel_shared_1[threadIdx_x // 7 * 72 + 71]
-                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 317] * kernel_shared_1[threadIdx_x // 7 * 72 + 71]
-            for i1_inner in range(2):
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 112] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 112) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 224] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 224) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 336] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 336) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 448] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 448) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 560] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 560) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 672] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 672) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 784] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 784) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 896] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 896) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 1008] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 32256]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 1120] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1120) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 1232] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1232) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 1344] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1344) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 1456] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1456) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 1568] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1568) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 1680] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1680) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 1792] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1792) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 1904] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1904) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 2016] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 64512]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 2128] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2128) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 2240] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2240) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 2352] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2352) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 2464] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2464) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 2576] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2576) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 2688] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2688) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 2800] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2800) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 2912] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2912) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 3024] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 96768]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 3136] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3136) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 3248] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3248) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 3360] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3360) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 3472] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3472) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 3584] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3584) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 3696] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3696) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 3808] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3808) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 3920] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3920) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 4032] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 129024]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 4144] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4144) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 4256] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4256) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 4368] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4368) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 4480] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4480) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 4592] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4592) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 4704] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4704) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 4816] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4816) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 4928] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4928) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 5040] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 161280]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 5152] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5152) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 5264] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5264) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 5376] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5376) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 5488] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5488) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 5600] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5600) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 5712] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5712) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 5824] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5824) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 5936] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5936) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 6048] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 193536]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 6160] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6160) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 6272] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6272) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 6384] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6384) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 6496] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6496) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 6608] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6608) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 6720] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6720) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 6832] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6832) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 6944] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6944) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 7056] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 225792]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 7168] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7168) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 7280] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7280) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 7392] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7392) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 7504] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7504) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 7616] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7616) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 7728] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7728) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 7840] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7840) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 7952] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7952) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 8064] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 258048]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 8176] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8176) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 8288] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8288) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 8400] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8400) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 8512] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8512) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 8624] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8624) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 8736] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8736) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 8848] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8848) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 8960] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8960) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    kernel_shared_1[threadIdx_x_2 + 9072] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 290304]
+                with T.launch_thread(threadIdx_x_2, 112):
+                    if T.likely(threadIdx_x_2 < 32):
+                        kernel_shared_1[threadIdx_x_2 + 9184] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 9184) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 112]
+                for rc_inner in range(16):
+                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9]
+                    conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4608]
+                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9]
+                    conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4608]
+                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9]
+                    conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4608]
+                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9]
+                    conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4608]
+                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9]
+                    conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4608]
+                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9]
+                    conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4608]
+                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9]
+                    conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4608]
+                    conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 144]
+                    conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4752]
+                    conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 144]
+                    conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4752]
+                    conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 144]
+                    conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4752]
+                    conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 144]
+                    conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4752]
+                    conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 144]
+                    conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4752]
+                    conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 144]
+                    conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4752]
+                    conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 144]
+                    conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4752]
+                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 1] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 1]
+                    conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 1] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4609]
+                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 1]
+                    conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4609]
+                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 1]
+                    conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4609]
+                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 1]
+                    conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4609]
+                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 1]
+                    conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4609]
+                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 1]
+                    conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4609]
+                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 1]
+                    conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4609]
+                    conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 1] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 145]
+                    conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 1] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4753]
+                    conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 145]
+                    conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4753]
+                    conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 145]
+                    conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4753]
+                    conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 145]
+                    conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4753]
+                    conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 145]
+                    conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4753]
+                    conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 145]
+                    conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4753]
+                    conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 145]
+                    conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4753]
+                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 2] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 2]
+                    conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 2] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4610]
+                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 2]
+                    conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4610]
+                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 2]
+                    conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4610]
+                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 2]
+                    conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4610]
+                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 2]
+                    conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4610]
+                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 2]
+                    conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4610]
+                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 2]
+                    conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4610]
+                    conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 2] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 146]
+                    conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 2] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4754]
+                    conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 146]
+                    conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4754]
+                    conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 146]
+                    conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4754]
+                    conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 146]
+                    conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4754]
+                    conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 146]
+                    conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4754]
+                    conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 146]
+                    conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4754]
+                    conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 146]
+                    conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4754]
+                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 3]
+                    conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4611]
+                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 3]
+                    conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4611]
+                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 3]
+                    conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4611]
+                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 3]
+                    conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4611]
+                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 3]
+                    conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4611]
+                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 3]
+                    conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4611]
+                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 3]
+                    conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4611]
+                    conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 147]
+                    conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4755]
+                    conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 147]
+                    conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4755]
+                    conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 147]
+                    conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4755]
+                    conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 147]
+                    conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4755]
+                    conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 147]
+                    conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4755]
+                    conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 147]
+                    conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4755]
+                    conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 147]
+                    conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4755]
+                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4]
+                    conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4612]
+                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4]
+                    conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4612]
+                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4]
+                    conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4612]
+                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4]
+                    conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4612]
+                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4]
+                    conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4612]
+                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4]
+                    conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4612]
+                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4]
+                    conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4612]
+                    conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 148]
+                    conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4756]
+                    conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 148]
+                    conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4756]
+                    conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 148]
+                    conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4756]
+                    conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 148]
+                    conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4756]
+                    conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 148]
+                    conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4756]
+                    conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 148]
+                    conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4756]
+                    conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 148]
+                    conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4756]
+                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 5]
+                    conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4613]
+                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 5]
+                    conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4613]
+                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 5]
+                    conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4613]
+                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 5]
+                    conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4613]
+                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 5]
+                    conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4613]
+                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 5]
+                    conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4613]
+                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 5]
+                    conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4613]
+                    conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 149]
+                    conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4757]
+                    conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 149]
+                    conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4757]
+                    conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 149]
+                    conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4757]
+                    conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 149]
+                    conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4757]
+                    conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 149]
+                    conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4757]
+                    conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 149]
+                    conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4757]
+                    conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 149]
+                    conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4757]
+                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 6]
+                    conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4614]
+                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 6]
+                    conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4614]
+                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 6]
+                    conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4614]
+                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 6]
+                    conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4614]
+                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 6]
+                    conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4614]
+                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 6]
+                    conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4614]
+                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 72] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 6]
+                    conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 72] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4614]
+                    conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 150]
+                    conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4758]
+                    conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 150]
+                    conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4758]
+                    conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 150]
+                    conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4758]
+                    conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 150]
+                    conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4758]
+                    conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 150]
+                    conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4758]
+                    conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 150]
+                    conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4758]
+                    conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 72] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 150]
+                    conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 72] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4758]
+                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 7]
+                    conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4615]
+                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 7]
+                    conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4615]
+                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 7]
+                    conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4615]
+                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 7]
+                    conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4615]
+                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 7]
+                    conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4615]
+                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 7]
+                    conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4615]
+                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 73] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 7]
+                    conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 73] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4615]
+                    conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 151]
+                    conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4759]
+                    conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 151]
+                    conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4759]
+                    conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 151]
+                    conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4759]
+                    conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 151]
+                    conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4759]
+                    conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 151]
+                    conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4759]
+                    conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 151]
+                    conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4759]
+                    conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 73] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 151]
+                    conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 73] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4759]
+                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 8]
+                    conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4616]
+                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 8]
+                    conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4616]
+                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 8]
+                    conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4616]
+                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 8]
+                    conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4616]
+                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 8]
+                    conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4616]
+                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 8]
+                    conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4616]
+                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 74] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 8]
+                    conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 74] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4616]
+                    conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 152]
+                    conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4760]
+                    conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 152]
+                    conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4760]
+                    conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 152]
+                    conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4760]
+                    conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 152]
+                    conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4760]
+                    conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 152]
+                    conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4760]
+                    conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 152]
+                    conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4760]
+                    conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 74] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 152]
+                    conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 74] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4760]
+            for i1_inner, i2_inner in T.grid(2, 7):
+                cse_var_3: T.int32 = i1_inner * 7 + i2_inner
                 compute_1 = T.Buffer((25088,), data=compute.data)
                 bias_1 = T.Buffer((512,), data=bias.data)
-                compute_1[blockIdx_x * 784 + threadIdx_x // 7 * 98 + i1_inner * 49 + threadIdx_x % 7] = T.max(conv2d_nchw_1[i1_inner] + bias_1[blockIdx_x * 16 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
-                compute_1[blockIdx_x * 784 + threadIdx_x // 7 * 98 + i1_inner * 49 + threadIdx_x % 7 + 7] = T.max(conv2d_nchw_1[i1_inner + 2] + bias_1[blockIdx_x * 16 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
-                compute_1[blockIdx_x * 784 + threadIdx_x // 7 * 98 + i1_inner * 49 + threadIdx_x % 7 + 14] = T.max(conv2d_nchw_1[i1_inner + 4] + bias_1[blockIdx_x * 16 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
-                compute_1[blockIdx_x * 784 + threadIdx_x // 7 * 98 + i1_inner * 49 + threadIdx_x % 7 + 21] = T.max(conv2d_nchw_1[i1_inner + 6] + bias_1[blockIdx_x * 16 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
-                compute_1[blockIdx_x * 784 + threadIdx_x // 7 * 98 + i1_inner * 49 + threadIdx_x % 7 + 28] = T.max(conv2d_nchw_1[i1_inner + 8] + bias_1[blockIdx_x * 16 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
-                compute_1[blockIdx_x * 784 + threadIdx_x // 7 * 98 + i1_inner * 49 + threadIdx_x % 7 + 35] = T.max(conv2d_nchw_1[i1_inner + 10] + bias_1[blockIdx_x * 16 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
-                compute_1[blockIdx_x * 784 + threadIdx_x // 7 * 98 + i1_inner * 49 + threadIdx_x % 7 + 42] = T.max(conv2d_nchw_1[i1_inner + 12] + bias_1[blockIdx_x * 16 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
+                compute_1[blockIdx_x * 3136 + threadIdx_x // 7 * 98 + i1_inner * 49 + i2_inner * 7 + threadIdx_x % 7] = T.max(conv2d_nchw_1[cse_var_3] + bias_1[blockIdx_x * 64 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
+                compute_1[blockIdx_x * 3136 + threadIdx_x // 7 * 98 + i1_inner * 49 + i2_inner * 7 + threadIdx_x % 7 + 1568] = T.max(conv2d_nchw_1[cse_var_3 + 14] + bias_1[blockIdx_x * 64 + threadIdx_x // 7 * 2 + i1_inner + 32], T.float32(0))
 
 
 
@@ -871,7 +786,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 0.262 ms
+    Execution time of this operator: 0.360 ms
 
 
 
@@ -921,20 +836,20 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     conv2d_nchw_nn_o_o_o_o, conv2d_nchw_nn_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_o_i, factor=1)
     conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=2)
     conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=1)
-    conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=8)
-    conv2d_nchw_ff_o_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_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=16)
+    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=2)
+    conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=7)
     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=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=7)
+    conv2d_nchw_yy_o_o_o_o, conv2d_nchw_yy_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_o_i, factor=1)
     conv2d_nchw_xx_o_i, conv2d_nchw_xx_i = s[conv2d_nchw].split(conv2d_nchw_xx, factor=1)
     conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=1)
     conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=7)
     conv2d_nchw_xx_o_o_o_o, conv2d_nchw_xx_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_o_i, factor=1)
-    conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=2)
-    conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=2)
-    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_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=16)
+    conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=1)
+    conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=3)
+    conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=1)
     conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=3)
     conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=1)
     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 [...]
@@ -942,11 +857,11 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     compute_i0_o_o_i, compute_i0_o_i = s[compute].split(compute_i0_o_i, factor=1)
     compute_i0_o_o_o, compute_i0_o_o_i = s[compute].split(compute_i0_o_o_i, factor=1)
     compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=2)
-    compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=8)
-    compute_i1_o_o_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_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=16)
+    compute_i1_o_o_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=2)
+    compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, 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=7)
+    compute_i2_o_o_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=1)
     compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=1)
     compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=7)
     compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=1)
@@ -968,12 +883,12 @@ 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=112)
     s[kernel_shared].bind(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
     pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[pad_temp_shared].fuse(pad_temp_shared_ax0, pad_temp_shared_ax1, pad_temp_shared_ax2, pad_temp_shared_ax3)
     pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
     s[pad_temp_shared].vectorize(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-    pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=56)
+    pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=112)
     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", 512)
     s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "unroll_explicit", True)
@@ -1000,561 +915,400 @@ 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[14];
-      __shared__ float pad_temp_shared[324];
-      __shared__ float kernel_shared[576];
+    extern "C" __global__ void __launch_bounds__(112) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
+      float conv2d_nchw[28];
+      __shared__ float pad_temp_shared[1296];
+      __shared__ float kernel_shared[9216];
       conv2d_nchw[0] = 0.000000e+00f;
-      conv2d_nchw[2] = 0.000000e+00f;
-      conv2d_nchw[4] = 0.000000e+00f;
-      conv2d_nchw[6] = 0.000000e+00f;
-      conv2d_nchw[8] = 0.000000e+00f;
-      conv2d_nchw[10] = 0.000000e+00f;
-      conv2d_nchw[12] = 0.000000e+00f;
+      conv2d_nchw[14] = 0.000000e+00f;
       conv2d_nchw[1] = 0.000000e+00f;
+      conv2d_nchw[15] = 0.000000e+00f;
+      conv2d_nchw[2] = 0.000000e+00f;
+      conv2d_nchw[16] = 0.000000e+00f;
       conv2d_nchw[3] = 0.000000e+00f;
+      conv2d_nchw[17] = 0.000000e+00f;
+      conv2d_nchw[4] = 0.000000e+00f;
+      conv2d_nchw[18] = 0.000000e+00f;
       conv2d_nchw[5] = 0.000000e+00f;
+      conv2d_nchw[19] = 0.000000e+00f;
+      conv2d_nchw[6] = 0.000000e+00f;
+      conv2d_nchw[20] = 0.000000e+00f;
       conv2d_nchw[7] = 0.000000e+00f;
+      conv2d_nchw[21] = 0.000000e+00f;
+      conv2d_nchw[8] = 0.000000e+00f;
+      conv2d_nchw[22] = 0.000000e+00f;
       conv2d_nchw[9] = 0.000000e+00f;
+      conv2d_nchw[23] = 0.000000e+00f;
+      conv2d_nchw[10] = 0.000000e+00f;
+      conv2d_nchw[24] = 0.000000e+00f;
       conv2d_nchw[11] = 0.000000e+00f;
+      conv2d_nchw[25] = 0.000000e+00f;
+      conv2d_nchw[12] = 0.000000e+00f;
+      conv2d_nchw[26] = 0.000000e+00f;
       conv2d_nchw[13] = 0.000000e+00f;
-      for (int rc_outer_outer = 0; rc_outer_outer < 128; ++rc_outer_outer) {
+      conv2d_nchw[27] = 0.000000e+00f;
+      for (int rc_outer_outer = 0; rc_outer_outer < 32; ++rc_outer_outer) {
         __syncthreads();
-        pad_temp_shared[((int)threadIdx.x)] = ((((9 <= ((int)threadIdx.x)) && (1 <= (((int)threadIdx.x) % 9))) && ((((int)threadIdx.x) % 9) < 8)) ? data[((((rc_outer_outer * 196) + ((((int)threadIdx.x) / 9) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 56)] = (((((9 <= ((((int)threadIdx.x) + 56) % 81)) && (((((int)threadIdx.x) + 56) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 2) % 9))) && (((((int)threadIdx.x) + 2) % 9) < 8)) ? data[(((((rc_outer_outer * 196) + (((((int)threadIdx.x) + 56) / 81) * 49)) + ((((((int)threadIdx.x) + 56) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 2) % 9)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 112)] = (((((9 <= ((((int)threadIdx.x) + 31) % 81)) && (((((int)threadIdx.x) + 31) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 4) % 9))) && (((((int)threadIdx.x) + 4) % 9) < 8)) ? data[(((((rc_outer_outer * 196) + (((((int)threadIdx.x) + 112) / 81) * 49)) + ((((((int)threadIdx.x) + 31) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 4) % 9)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 168)] = ((((3 <= ((int)threadIdx.x)) && (1 <= ((((int)threadIdx.x) + 6) % 9))) && (((((int)threadIdx.x) + 6) % 9) < 8)) ? data[(((((rc_outer_outer * 196) + (((((int)threadIdx.x) + 168) / 81) * 49)) + (((((int)threadIdx.x) + 6) / 9) * 7)) + ((((int)threadIdx.x) + 6) % 9)) - 8)] : 0.000000e+00f);
-        pad_temp_shared[(((int)threadIdx.x) + 224)] = (((((9 <= ((((int)threadIdx.x) + 62) % 81)) && (((((int)threadIdx.x) + 62) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 8) % 9))) && (((((int)threadIdx.x) + 8) % 9) < 8)) ? data[(((((rc_outer_outer * 196) + (((((int)threadIdx.x) + 224) / 81) * 49)) + ((((((int)threadIdx.x) + 62) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 8) % 9)) - 8)] : 0.000000e+00f);
-        if (((int)threadIdx.x) < 44) {
-          pad_temp_shared[(((int)threadIdx.x) + 280)] = ((((((int)threadIdx.x) < 35) && (1 <= ((((int)threadIdx.x) + 1) % 9))) && (((((int)threadIdx.x) + 1) % 9) < 8)) ? data[(((((rc_outer_outer * 196) + (((((int)threadIdx.x) + 280) / 81) * 49)) + (((((int)threadIdx.x) + 37) / 9) * 7)) + ((((int)threadIdx.x) + 1) % 9)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[((int)threadIdx.x)] = (((((9 <= (((int)threadIdx.x) % 81)) && ((((int)threadIdx.x) % 81) < 72)) && (1 <= (((int)threadIdx.x) % 9))) && ((((int)threadIdx.x) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 81) * 49)) + (((((int)threadIdx.x) % 81) / 9) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 112)] = (((((9 <= ((((int)threadIdx.x) + 31) % 81)) && (((((int)threadIdx.x) + 31) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 4) % 9))) && (((((int)threadIdx.x) + 4) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 112) / 81) * 49)) + ((((((int)threadIdx.x) + 31) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 4) % 9)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 224)] = (((((9 <= ((((int)threadIdx.x) + 62) % 81)) && (((((int)threadIdx.x) + 62) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 8) % 9))) && (((((int)threadIdx.x) + 8) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 224) / 81) * 49)) + ((((((int)threadIdx.x) + 62) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 8) % 9)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 336)] = (((((9 <= ((((int)threadIdx.x) + 12) % 81)) && (((((int)threadIdx.x) + 12) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 3) % 9))) && (((((int)threadIdx.x) + 3) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 336) / 81) * 49)) + ((((((int)threadIdx.x) + 12) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 3) % 9)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 448)] = (((((9 <= ((((int)threadIdx.x) + 43) % 81)) && (((((int)threadIdx.x) + 43) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 7) % 9))) && (((((int)threadIdx.x) + 7) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 448) / 81) * 49)) + ((((((int)threadIdx.x) + 43) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 7) % 9)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 560)] = (((((9 <= ((((int)threadIdx.x) + 74) % 81)) && (((((int)threadIdx.x) + 74) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 2) % 9))) && (((((int)threadIdx.x) + 2) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 560) / 81) * 49)) + ((((((int)threadIdx.x) + 74) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 2) % 9)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 672)] = (((((9 <= ((((int)threadIdx.x) + 24) % 81)) && (((((int)threadIdx.x) + 24) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 6) % 9))) && (((((int)threadIdx.x) + 6) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 672) / 81) * 49)) + ((((((int)threadIdx.x) + 24) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 6) % 9)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 784)] = (((((9 <= ((((int)threadIdx.x) + 55) % 81)) && (((((int)threadIdx.x) + 55) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 1) % 9))) && (((((int)threadIdx.x) + 1) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 784) / 81) * 49)) + ((((((int)threadIdx.x) + 55) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 1) % 9)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 896)] = (((((9 <= ((((int)threadIdx.x) + 5) % 81)) && (((((int)threadIdx.x) + 5) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 5) % 9))) && (((((int)threadIdx.x) + 5) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 896) / 81) * 49)) + ((((((int)threadIdx.x) + 5) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 5) % 9)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 1008)] = (((((1 <= (((((int)threadIdx.x) / 9) + 4) % 9)) && (((((int)threadIdx.x) + 36) % 81) < 72)) && (1 <= (((int)threadIdx.x) % 9))) && ((((int)threadIdx.x) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 1008) / 81) * 49)) + ((((((int)threadIdx.x) / 9) + 4) % 9) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
+        pad_temp_shared[(((int)threadIdx.x) + 1120)] = (((((9 <= ((((int)threadIdx.x) + 67) % 81)) && (((((int)threadIdx.x) + 67) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 4) % 9))) && (((((int)threadIdx.x) + 4) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 1120) / 81) * 49)) + ((((((int)threadIdx.x) + 67) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 4) % 9)) - 8)] : 0.000000e+00f);
+        if (((int)threadIdx.x) < 64) {
+          pad_temp_shared[(((int)threadIdx.x) + 1232)] = ((((((int)threadIdx.x) < 55) && (1 <= ((((int)threadIdx.x) + 8) % 9))) && (((((int)threadIdx.x) + 8) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 1232) / 81) * 49)) + (((((int)threadIdx.x) + 17) / 9) * 7)) + ((((int)threadIdx.x) + 8) % 9)) - 8)] : 0.000000e+00f);
         }
-        kernel_shared[((int)threadIdx.x)] = kernel[((((((int)blockIdx.x) * 73728) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 56)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 56) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 112)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 112) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 4) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 168)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 168) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) / 3) + 8) % 12) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 224)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 224) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 8) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 280)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 280) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 336)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 336) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) / 3) + 4) % 12) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 392)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 392) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 448) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 504)] = kernel[(((((((int)blockIdx.x) * 73728) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 64512)];
-        if (((int)threadIdx.x) < 16) {
-          kernel_shared[(((int)threadIdx.x) + 560)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 560) / 36) * 4608)) + (rc_outer_outer * 36)) + (((((int)threadIdx.x) + 20) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+        kernel_shared[((int)threadIdx.x)] = kernel[(((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x))];
+        kernel_shared[(((int)threadIdx.x) + 112)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 112) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 224)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 224) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 336)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 336) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 448) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+        kernel_shared[(((int)threadIdx.x) + 560)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 560) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 672)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 672) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 784)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 784) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 896) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+        kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32256)];
+        kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1120) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 1232)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1232) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1344) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 1456)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1456) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+        kernel_shared[(((int)threadIdx.x) + 1568)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1568) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 1680)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1680) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1792) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 1904)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1904) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+        kernel_shared[(((int)threadIdx.x) + 2016)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 64512)];
+        kernel_shared[(((int)threadIdx.x) + 2128)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2128) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2240) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 2352)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2352) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 2464)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2464) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+        kernel_shared[(((int)threadIdx.x) + 2576)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2576) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2688) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 2800)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2800) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 2912)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2912) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+        kernel_shared[(((int)threadIdx.x) + 3024)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 96768)];
+        kernel_shared[(((int)threadIdx.x) + 3136)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3136) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 3248)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3248) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 3360)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3360) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 3472)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3472) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+        kernel_shared[(((int)threadIdx.x) + 3584)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3584) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 3696)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3696) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 3808)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3808) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 3920)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3920) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+        kernel_shared[(((int)threadIdx.x) + 4032)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 129024)];
+        kernel_shared[(((int)threadIdx.x) + 4144)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4144) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 4256)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4256) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 4368)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4368) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 4480)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4480) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+        kernel_shared[(((int)threadIdx.x) + 4592)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4592) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 4704)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4704) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 4816)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4816) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 4928)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4928) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+        kernel_shared[(((int)threadIdx.x) + 5040)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 161280)];
+        kernel_shared[(((int)threadIdx.x) + 5152)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5152) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 5264)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5264) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 5376)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5376) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 5488)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5488) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+        kernel_shared[(((int)threadIdx.x) + 5600)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5600) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 5712)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5712) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 5824)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5824) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 5936)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5936) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+        kernel_shared[(((int)threadIdx.x) + 6048)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 193536)];
+        kernel_shared[(((int)threadIdx.x) + 6160)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6160) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 6272)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6272) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 6384)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6384) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 6496)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6496) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+        kernel_shared[(((int)threadIdx.x) + 6608)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6608) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 6720)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6720) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 6832)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6832) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 6944)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6944) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+        kernel_shared[(((int)threadIdx.x) + 7056)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 225792)];
+        kernel_shared[(((int)threadIdx.x) + 7168)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7168) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 7280)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7280) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 7392)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7392) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 7504)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7504) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+        kernel_shared[(((int)threadIdx.x) + 7616)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7616) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 7728)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7728) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 7840)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7840) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 7952)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7952) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+        kernel_shared[(((int)threadIdx.x) + 8064)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 258048)];
+        kernel_shared[(((int)threadIdx.x) + 8176)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8176) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 8288)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8288) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 8400)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8400) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 8512)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8512) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+        kernel_shared[(((int)threadIdx.x) + 8624)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8624) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 8736)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8736) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 8848)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8848) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+        kernel_shared[(((int)threadIdx.x) + 8960)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8960) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+        kernel_shared[(((int)threadIdx.x) + 9072)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 290304)];
+        if (((int)threadIdx.x) < 32) {
+          kernel_shared[(((int)threadIdx.x) + 9184)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 9184) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 112)];
         }
         __syncthreads();
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((int)threadIdx.x) % 7)] * kernel_shared[((((int)threadIdx.x) / 7) * 72)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 9)] * kernel_shared[((((int)threadIdx.x) / 7) * 72)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 18)] * kernel_shared[((((int)threadIdx.x) / 7) * 72)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 27)] * kernel_shared[((((int)threadIdx.x) / 7) * 72)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 36)] * kernel_shared[((((int)threadIdx.x) / 7) * 72)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 45)] * kernel_shared[((((int)threadIdx.x) / 7) * 72)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 54)] * kernel_shared[((((int)threadIdx.x) / 7) * 72)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((int)threadIdx.x) % 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 36)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 9)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 36)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 36)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 36)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 36)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 36)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 36)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 1)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 10)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 1)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 19)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 1)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 1)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 37)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 1)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 46)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 1)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 1)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 37)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 10)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 37)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 19)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 37)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 37)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 37)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 37)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 46)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 37)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 37)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 2)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 11)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 2)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 20)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 2)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 2)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 38)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 2)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 47)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 2)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 2)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 38)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 11)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 38)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 20)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 38)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 38)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 38)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 38)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 47)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 38)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 38)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 9)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 90)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 9)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 99)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 9)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 9)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 117)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 9)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 9)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 9)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 45)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 90)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 45)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 99)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 45)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 45)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 117)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 45)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 45)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 45)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 10)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 91)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 10)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 100)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 10)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 10)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 118)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 10)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 10)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 10)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 46)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 91)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 46)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 100)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 46)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 46)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 118)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 46)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 46)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 46)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 11)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 92)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 11)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 101)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 11)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 11)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 119)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 11)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 11)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 11)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 47)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 92)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 47)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 101)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 47)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 47)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 119)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 47)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 47)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 47)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 9)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 3)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 3)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 3)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 3)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 3)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 3)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 3)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 9)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 39)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 39)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 39)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 39)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 39)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 39)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 39)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 10)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 4)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 19)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 4)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 4)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 37)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 4)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 46)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 4)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 4)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 4)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 10)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 40)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 19)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 40)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 40)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 37)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 40)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 46)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 40)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 40)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 40)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 11)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 5)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 20)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 5)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 5)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 38)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 5)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 47)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 5)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 5)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 5)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 11)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 41)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 20)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 41)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 41)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 38)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 41)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 47)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 41)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 41)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 41)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 90)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 12)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 99)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 12)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 12)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 117)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 12)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 12)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 12)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 144)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 12)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 90)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 48)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 99)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 48)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 48)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 117)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 48)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 48)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 48)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 144)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 48)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 91)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 13)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 100)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 13)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 13)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 118)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 13)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 13)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 13)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 145)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 13)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 91)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 49)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 100)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 49)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 49)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 118)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 49)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 49)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 49)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 145)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 49)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 92)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 14)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 101)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 14)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 14)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 119)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 14)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 14)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 14)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 146)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 14)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 92)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 50)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 101)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 50)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 50)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 119)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 50)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 50)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 50)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 146)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 50)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 6)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 6)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 6)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 6)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 6)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 6)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 72)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 6)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 42)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 42)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 42)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 42)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 42)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 42)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 72)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 42)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 19)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 7)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 7)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 37)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 7)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 46)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 7)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 7)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 7)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 73)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 7)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 19)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 43)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 43)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 37)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 43)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 46)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 43)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 43)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 43)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 73)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 43)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 20)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 8)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 8)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 38)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 8)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 47)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 8)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 8)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 8)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 74)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 8)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 20)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 44)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 44)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 38)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 44)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 47)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 44)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 44)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 44)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 74)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 44)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 99)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 15)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 15)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 117)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 15)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 15)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 15)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 144)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 15)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 153)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 15)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 99)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 51)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 51)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 117)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 51)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 51)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 51)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 144)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 51)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 153)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 51)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 100)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 16)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 16)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 118)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 16)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 16)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 16)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 145)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 16)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 154)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 16)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 100)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 52)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 52)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 118)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 52)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 52)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 52)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 145)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 52)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 154)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 52)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 101)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 17)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 17)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 119)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 17)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 17)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 17)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 146)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 17)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 155)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 17)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 101)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 53)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 53)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 119)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 53)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 53)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 53)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 146)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 53)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 155)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 53)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 162)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 18)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 171)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 18)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 180)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 18)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 18)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 198)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 18)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 207)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 18)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 216)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 18)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 162)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 54)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 171)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 54)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 180)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 54)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 54)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 198)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 54)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 207)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 54)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 216)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 54)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 163)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 19)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 172)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 19)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 181)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 19)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 19)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 199)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 19)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 208)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 19)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 217)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 19)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 163)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 55)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 172)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 55)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 181)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 55)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 55)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 199)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 55)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 208)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 55)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 217)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 55)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 164)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 20)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 173)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 20)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 182)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 20)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 20)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 200)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 20)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 209)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 20)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 218)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 20)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 164)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 56)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 173)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 56)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 182)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 56)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 56)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 200)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 56)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 209)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 56)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 218)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 56)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 243)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 27)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 27)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 261)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 27)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 270)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 27)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 279)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 27)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 288)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 27)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 297)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 27)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 243)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 63)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 63)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 261)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 63)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 270)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 63)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 279)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 63)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 288)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 63)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 297)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 63)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 244)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 28)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 28)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 262)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 28)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 271)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 28)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 280)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 28)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 289)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 28)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 298)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 28)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 244)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 64)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 64)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 262)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 64)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 271)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 64)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 280)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 64)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 289)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 64)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 298)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 64)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 245)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 29)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 29)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 263)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 29)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 272)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 29)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 281)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 29)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 290)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 29)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 299)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 29)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 245)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 65)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 65)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 263)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 65)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 272)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 65)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 281)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 65)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 290)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 65)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 299)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 65)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 171)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 21)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 180)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 21)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 21)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 198)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 21)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 207)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 21)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 216)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 21)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 225)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 21)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 171)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 57)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 180)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 57)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 57)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 198)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 57)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 207)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 57)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 216)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 57)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 225)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 57)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 172)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 22)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 181)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 22)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 22)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 199)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 22)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 208)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 22)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 217)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 22)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 226)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 22)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 172)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 58)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 181)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 58)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 58)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 199)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 58)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 208)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 58)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 217)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 58)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 226)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 58)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 173)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 23)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 182)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 23)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 23)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 200)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 23)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 209)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 23)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 218)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 23)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 227)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 23)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 173)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 59)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 182)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 59)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 59)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 200)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 59)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 209)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 59)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 218)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 59)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 227)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 59)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 30)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 261)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 30)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 270)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 30)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 279)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 30)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 288)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 30)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 297)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 30)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 306)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 30)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 66)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 261)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 66)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 270)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 66)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 279)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 66)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 288)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 66)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 297)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 66)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 306)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 66)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 31)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 262)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 31)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 271)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 31)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 280)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 31)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 289)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 31)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 298)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 31)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 307)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 31)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 67)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 262)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 67)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 271)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 67)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 280)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 67)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 289)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 67)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 298)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 67)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 307)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 67)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 32)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 263)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 32)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 272)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 32)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 281)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 32)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 290)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 32)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 299)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 32)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 308)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 32)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 68)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 263)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 68)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 272)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 68)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 281)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 68)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 290)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 68)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 299)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 68)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 308)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 68)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 180)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 24)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 24)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 198)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 24)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 207)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 24)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 216)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 24)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 225)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 24)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 234)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 24)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 180)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 60)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 60)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 198)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 60)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 207)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 60)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 216)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 60)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 225)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 60)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 234)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 60)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 181)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 25)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 25)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 199)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 25)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 208)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 25)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 217)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 25)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 226)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 25)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 235)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 25)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 181)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 61)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 61)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 199)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 61)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 208)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 61)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 217)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 61)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 226)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 61)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 235)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 61)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 182)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 26)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 26)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 200)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 26)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 209)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 26)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 218)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 26)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 227)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 26)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 236)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 26)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 182)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 62)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 62)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 200)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 62)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 209)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 62)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 218)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 62)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 227)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 62)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 236)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 62)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 261)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 33)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 270)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 33)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 279)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 33)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 288)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 33)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 297)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 33)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 306)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 33)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 33)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 261)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 69)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 270)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 69)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 279)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 69)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 288)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 69)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 297)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 69)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 306)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 69)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 69)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 262)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 34)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 271)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 34)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 280)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 34)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 289)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 34)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 298)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 34)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 307)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 34)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 34)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 262)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 70)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 271)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 70)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 280)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 70)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 289)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 70)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 298)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 70)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 307)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 70)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 70)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 263)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 35)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 272)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 35)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 281)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 35)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 290)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 35)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 299)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 35)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 308)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 35)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 35)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 263)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 71)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 272)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 71)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 281)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 71)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 290)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 71)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 299)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 71)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 308)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 71)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 71)]));
+        for (int rc_inner = 0; rc_inner < 16; ++rc_inner) {
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((rc_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9))]));
+          conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[((rc_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4608)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9))]));
+          conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4608)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9))]));
+          conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4608)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9))]));
+          conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4608)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9))]));
+          conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4608)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9))]));
+          conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4608)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9))]));
+          conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4608)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((rc_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 144)]));
+          conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[((rc_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4752)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 144)]));
+          conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4752)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 144)]));
+          conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4752)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 144)]));
+          conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4752)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 144)]));
+          conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4752)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 144)]));
+          conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4752)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 144)]));
+          conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4752)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 1)]));
+          conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4609)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 1)]));
+          conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4609)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 1)]));
+          conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4609)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 1)]));
+          conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4609)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 1)]));
+          conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4609)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 1)]));
+          conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4609)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 1)]));
+          conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4609)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 145)]));
+          conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4753)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 145)]));
+          conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4753)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 145)]));
+          conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4753)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 145)]));
+          conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4753)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 145)]));
+          conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4753)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 145)]));
+          conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4753)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 145)]));
+          conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4753)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 2)]));
+          conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4610)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 2)]));
+          conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4610)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 2)]));
+          conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4610)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 2)]));
+          conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4610)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 2)]));
+          conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4610)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 2)]));
+          conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4610)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 2)]));
+          conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4610)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 146)]));
+          conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4754)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 146)]));
+          conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4754)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 146)]));
+          conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4754)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 146)]));
+          conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4754)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 146)]));
+          conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4754)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 146)]));
+          conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4754)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 146)]));
+          conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4754)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 3)]));
+          conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4611)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 3)]));
+          conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4611)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 3)]));
+          conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4611)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 3)]));
+          conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4611)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 3)]));
+          conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4611)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 3)]));
+          conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4611)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 3)]));
+          conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4611)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 147)]));
+          conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4755)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 147)]));
+          conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4755)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 147)]));
+          conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4755)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 147)]));
+          conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4755)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 147)]));
+          conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4755)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 147)]));
+          conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4755)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 147)]));
+          conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4755)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4)]));
+          conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4612)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4)]));
+          conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4612)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4)]));
+          conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4612)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4)]));
+          conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4612)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4)]));
+          conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4612)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4)]));
+          conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4612)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4)]));
+          conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4612)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 148)]));
+          conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4756)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 148)]));
+          conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4756)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 148)]));
+          conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4756)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 148)]));
+          conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4756)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 148)]));
+          conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4756)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 148)]));
+          conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4756)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 148)]));
+          conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4756)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 5)]));
+          conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4613)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 5)]));
+          conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4613)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 5)]));
+          conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4613)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 5)]));
+          conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4613)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 5)]));
+          conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4613)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 5)]));
+          conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4613)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 5)]));
+          conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4613)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 149)]));
+          conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4757)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 149)]));
+          conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4757)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 149)]));
+          conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4757)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 149)]));
+          conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4757)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 149)]));
+          conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4757)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 149)]));
+          conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4757)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 149)]));
+          conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4757)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 6)]));
+          conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4614)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 6)]));
+          conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4614)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 6)]));
+          conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4614)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 6)]));
+          conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4614)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 6)]));
+          conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4614)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 6)]));
+          conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4614)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 6)]));
+          conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4614)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 150)]));
+          conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4758)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 150)]));
+          conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4758)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 150)]));
+          conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4758)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 150)]));
+          conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4758)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 150)]));
+          conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4758)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 150)]));
+          conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4758)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 150)]));
+          conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4758)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 7)]));
+          conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4615)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 7)]));
+          conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4615)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 7)]));
+          conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4615)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 7)]));
+          conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4615)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 7)]));
+          conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4615)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 7)]));
+          conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4615)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 7)]));
+          conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4615)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 151)]));
+          conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4759)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 151)]));
+          conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4759)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 151)]));
+          conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4759)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 151)]));
+          conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4759)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 151)]));
+          conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4759)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 151)]));
+          conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4759)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 151)]));
+          conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4759)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 8)]));
+          conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4616)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 8)]));
+          conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4616)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 8)]));
+          conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4616)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 8)]));
+          conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4616)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 8)]));
+          conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4616)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 8)]));
+          conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4616)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 8)]));
+          conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4616)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 152)]));
+          conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4760)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 152)]));
+          conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4760)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 152)]));
+          conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4760)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 152)]));
+          conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4760)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 152)]));
+          conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4760)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 152)]));
+          conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4760)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 152)]));
+          conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4760)]));
+        }
       }
       for (int i1_inner = 0; i1_inner < 2; ++i1_inner) {
-        compute[((((((int)blockIdx.x) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7))] = max((conv2d_nchw[i1_inner] + bias[(((((int)blockIdx.x) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
-        compute[(((((((int)blockIdx.x) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 7)] = max((conv2d_nchw[(i1_inner + 2)] + bias[(((((int)blockIdx.x) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
-        compute[(((((((int)blockIdx.x) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 14)] = max((conv2d_nchw[(i1_inner + 4)] + bias[(((((int)blockIdx.x) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
-        compute[(((((((int)blockIdx.x) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 21)] = max((conv2d_nchw[(i1_inner + 6)] + bias[(((((int)blockIdx.x) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
-        compute[(((((((int)blockIdx.x) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 28)] = max((conv2d_nchw[(i1_inner + 8)] + bias[(((((int)blockIdx.x) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
-        compute[(((((((int)blockIdx.x) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 35)] = max((conv2d_nchw[(i1_inner + 10)] + bias[(((((int)blockIdx.x) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
-        compute[(((((((int)blockIdx.x) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 42)] = max((conv2d_nchw[(i1_inner + 12)] + bias[(((((int)blockIdx.x) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
+        for (int i2_inner = 0; i2_inner < 7; ++i2_inner) {
+          compute[(((((((int)blockIdx.x) * 3136) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (i2_inner * 7)) + (((int)threadIdx.x) % 7))] = max((conv2d_nchw[((i1_inner * 7) + i2_inner)] + bias[(((((int)blockIdx.x) * 64) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
+          compute[((((((((int)blockIdx.x) * 3136) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (i2_inner * 7)) + (((int)threadIdx.x) % 7)) + 1568)] = max((conv2d_nchw[(((i1_inner * 7) + i2_inner) + 14)] + bias[((((((int)blockIdx.x) * 64) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner) + 32)]), 0.000000e+00f);
+        }
       }
     }
 
@@ -1614,7 +1368,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:** ( 6 minutes  18.063 seconds)
+   **Total running time of the script:** ( 6 minutes  13.990 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 f0ad2e53dc..6b8f1762a3 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
@@ -647,7 +647,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)  
-       8.1097       8.1039       8.1265       8.0986       0.0121   
+       8.0991       8.0963       8.1155       8.0854       0.0124   
                
 
 
@@ -675,7 +675,7 @@ Other Tips
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  12.634 seconds)
+   **Total running time of the script:** ( 1 minutes  11.538 seconds)
 
 
 .. _sphx_glr_download_how_to_tune_with_autoscheduler_tune_network_cuda.py:
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 bf573d343a..2bcb54e756 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
@@ -666,7 +666,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)  
-      757.1253     757.3586     758.0833     755.9341      0.8928   
+      752.8227     753.6648     754.0578     750.7456      1.4775   
                
 
 
@@ -694,7 +694,7 @@ Other Tips
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  45.063 seconds)
+   **Total running time of the script:** ( 1 minutes  43.127 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 4245528b78..e14302e9d7 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
@@ -389,87 +389,75 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
         @T.prim_func
         def main(placeholder: T.Buffer((128, 256), "float32"), placeholder_1: T.Buffer((4916, 16, 1), "float32"), placeholder_2: T.Buffer((4916,), "int32"), placeholder_3: T.Buffer((33,), "int32"), placeholder_4: T.Buffer((128, 512), "float32"), compute: T.Buffer((128, 512), "float32")):
             T.func_attr({"from_legacy_te_schedule": T.bool(True), "global_symbol": "main", "tir.noalias": T.bool(True)})
-            for i0_outer_i1_outer_fused in T.parallel(64):
-                compute_1 = T.allocate([1024], "float32", "global")
-                compute_2 = T.Buffer((1024,), data=compute_1)
-                for i_inner_init in range(64):
-                    cse_var_1: T.int32 = i_inner_init * 16
-                    compute_2[cse_var_1] = T.float32(0)
-                    compute_2[cse_var_1 + 1] = T.float32(0)
-                    compute_2[cse_var_1 + 2] = T.float32(0)
-                    compute_2[cse_var_1 + 3] = T.float32(0)
-                    compute_2[cse_var_1 + 4] = T.float32(0)
-                    compute_2[cse_var_1 + 5] = T.float32(0)
-                    compute_2[cse_var_1 + 6] = T.float32(0)
-                    compute_2[cse_var_1 + 7] = T.float32(0)
-                    compute_2[cse_var_1 + 8] = T.float32(0)
-                    compute_2[cse_var_1 + 9] = T.float32(0)
-                    compute_2[cse_var_1 + 10] = T.float32(0)
-                    compute_2[cse_var_1 + 11] = T.float32(0)
-                    compute_2[cse_var_1 + 12] = T.float32(0)
-                    compute_2[cse_var_1 + 13] = T.float32(0)
-                    compute_2[cse_var_1 + 14] = T.float32(0)
-                    compute_2[cse_var_1 + 15] = T.float32(0)
-                for elem_idx, i_inner in T.grid(T.Let(placeholder_5[cse_var_2 + 1] - placeholder_5[cse_var_2], where={cse_var_2: i0_outer_i1_outer_fused % 32}), 64):
-                    cse_var_2 = T.int32()
-                    placeholder_5 = T.Buffer((33,), "int32", data=placeholder_3.data)
-                    cse_var_3: T.int32 = i0_outer_i1_outer_fused % 32
-                    placeholder_6 = T.Buffer((78656,), data=placeholder_1.data)
-                    placeholder_7 = T.Buffer((32768,), data=placeholder.data)
-                    placeholder_8 = T.Buffer((4916,), "int32", data=placeholder_2.data)
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_4: T.int32 = i_inner * 16
-                        compute_2[cse_var_4] = compute_2[cse_var_4] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_5: T.int32 = i_inner * 16 + 1
-                        compute_2[cse_var_5] = compute_2[cse_var_5] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 1] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_6: T.int32 = i_inner * 16 + 2
-                        compute_2[cse_var_6] = compute_2[cse_var_6] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 2] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_7: T.int32 = i_inner * 16 + 3
-                        compute_2[cse_var_7] = compute_2[cse_var_7] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 3] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_8: T.int32 = i_inner * 16 + 4
-                        compute_2[cse_var_8] = compute_2[cse_var_8] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 4] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_9: T.int32 = i_inner * 16 + 5
-                        compute_2[cse_var_9] = compute_2[cse_var_9] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 5] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_10: T.int32 = i_inner * 16 + 6
-                        compute_2[cse_var_10] = compute_2[cse_var_10] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 6] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_11: T.int32 = i_inner * 16 + 7
-                        compute_2[cse_var_11] = compute_2[cse_var_11] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 7] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_12: T.int32 = i_inner * 16 + 8
-                        compute_2[cse_var_12] = compute_2[cse_var_12] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 8] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_13: T.int32 = i_inner * 16 + 9
-                        compute_2[cse_var_13] = compute_2[cse_var_13] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 9] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_14: T.int32 = i_inner * 16 + 10
-                        compute_2[cse_var_14] = compute_2[cse_var_14] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 10] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_15: T.int32 = i_inner * 16 + 11
-                        compute_2[cse_var_15] = compute_2[cse_var_15] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 11] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_16: T.int32 = i_inner * 16 + 12
-                        compute_2[cse_var_16] = compute_2[cse_var_16] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 12] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_17: T.int32 = i_inner * 16 + 13
-                        compute_2[cse_var_17] = compute_2[cse_var_17] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 13] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_18: T.int32 = i_inner * 16 + 14
-                        compute_2[cse_var_18] = compute_2[cse_var_18] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 14] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                    if T.likely(elem_idx < placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                        cse_var_19: T.int32 = i_inner * 16 + 15
-                        compute_2[cse_var_19] = compute_2[cse_var_19] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 15] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                for i0_inner, i1_inner in T.grid(64, 16):
-                    cse_var_20: T.int32 = i0_outer_i1_outer_fused // 32 * 32768 + i0_inner * 512 + i0_outer_i1_outer_fused % 32 * 16 + i1_inner
-                    compute_3 = T.Buffer((65536,), data=compute.data)
-                    placeholder_5 = T.Buffer((65536,), data=placeholder_4.data)
-                    compute_3[cse_var_20] = T.max(compute_2[i0_inner * 16 + i1_inner] + placeholder_5[cse_var_20], T.float32(0))
+            for i0_outer in T.parallel(2):
+                compute_1 = T.allocate([2048], "float32", "global")
+                for i1_outer in range(16):
+                    compute_2 = T.Buffer((2048,), data=compute_1)
+                    for nb_j_inner in range(2):
+                        for i_inner_init in range(64):
+                            cse_var_1: T.int32 = i_inner_init * 32 + nb_j_inner * 16
+                            compute_2[cse_var_1] = T.float32(0)
+                            compute_2[cse_var_1 + 1] = T.float32(0)
+                            compute_2[cse_var_1 + 2] = T.float32(0)
+                            compute_2[cse_var_1 + 3] = T.float32(0)
+                            compute_2[cse_var_1 + 4] = T.float32(0)
+                            compute_2[cse_var_1 + 5] = T.float32(0)
+                            compute_2[cse_var_1 + 6] = T.float32(0)
+                            compute_2[cse_var_1 + 7] = T.float32(0)
+                            compute_2[cse_var_1 + 8] = T.float32(0)
+                            compute_2[cse_var_1 + 9] = T.float32(0)
+                            compute_2[cse_var_1 + 10] = T.float32(0)
+                            compute_2[cse_var_1 + 11] = T.float32(0)
+                            compute_2[cse_var_1 + 12] = T.float32(0)
+                            compute_2[cse_var_1 + 13] = T.float32(0)
+                            compute_2[cse_var_1 + 14] = T.float32(0)
+                            compute_2[cse_var_1 + 15] = T.float32(0)
+                        for elem_idx, i_inner in T.grid(T.Let(placeholder_5[cse_var_2 + 1] - placeholder_5[cse_var_2], where={cse_var_2: i1_outer * 2 + nb_j_inner}), 64):
+                            cse_var_2 = T.int32()
+                            placeholder_5 = T.Buffer((33,), "int32", data=placeholder_3.data)
+                            cse_var_21: T.int32 = elem_idx * 16
+                            cse_var_20: T.int32 = i1_outer * 2 + nb_j_inner
+                            cse_var_19: T.int32 = i0_outer * 16384 + i_inner * 256
+                            cse_var_18: T.int32 = i_inner * 32 + nb_j_inner * 16
+                            cse_var_17: T.int32 = cse_var_18 + 9
+                            cse_var_16: T.int32 = cse_var_18 + 8
+                            cse_var_15: T.int32 = cse_var_18 + 7
+                            cse_var_14: T.int32 = cse_var_18 + 6
+                            cse_var_13: T.int32 = cse_var_18 + 5
+                            cse_var_12: T.int32 = cse_var_18 + 4
+                            cse_var_11: T.int32 = cse_var_18 + 3
+                            cse_var_10: T.int32 = cse_var_18 + 2
+                            cse_var_9: T.int32 = cse_var_18 + 15
+                            cse_var_8: T.int32 = cse_var_18 + 14
+                            cse_var_7: T.int32 = cse_var_18 + 13
+                            cse_var_6: T.int32 = cse_var_18 + 12
+                            cse_var_5: T.int32 = cse_var_18 + 11
+                            cse_var_4: T.int32 = cse_var_18 + 10
+                            cse_var_3: T.int32 = cse_var_18 + 1
+                            placeholder_6 = T.Buffer((78656,), data=placeholder_1.data)
+                            placeholder_7 = T.Buffer((32768,), data=placeholder.data)
+                            placeholder_8 = T.Buffer((4916,), "int32", data=placeholder_2.data)
+                            compute_2[cse_var_18] = compute_2[cse_var_18] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_3] = compute_2[cse_var_3] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 1] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_10] = compute_2[cse_var_10] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 2] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_11] = compute_2[cse_var_11] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 3] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_12] = compute_2[cse_var_12] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 4] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_13] = compute_2[cse_var_13] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 5] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_14] = compute_2[cse_var_14] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 6] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_15] = compute_2[cse_var_15] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 7] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_16] = compute_2[cse_var_16] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 8] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_17] = compute_2[cse_var_17] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 9] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_4] = compute_2[cse_var_4] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 10] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_5] = compute_2[cse_var_5] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 11] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_6] = compute_2[cse_var_6] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 12] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_7] = compute_2[cse_var_7] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 13] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_8] = compute_2[cse_var_8] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 14] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                            compute_2[cse_var_9] = compute_2[cse_var_9] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 15] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                    for i0_inner in range(64):
+                        cse_var_22: T.int32 = i0_outer * 32768 + i0_inner * 512 + i1_outer * 32
+                        compute_3 = T.Buffer((65536,), data=compute.data)
+                        placeholder_5 = T.Buffer((65536,), data=placeholder_4.data)
+                        compute_3[cse_var_22:cse_var_22 + 32] = T.max(compute_2[i0_inner * 32:i0_inner * 32 + 32] + placeholder_5[cse_var_22:cse_var_22 + 32], T.Broadcast(T.float32(0), 32))
 
 
 
@@ -519,7 +507,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 1.833 ms
+    Execution time of this operator: 1.802 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 ca7678570a..a86fcf9c39 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,16 +5,16 @@
 
 Computation times
 =================
-**00:52.087** total execution time for **how_to_tune_with_autotvm** files:
+**00:47.201** 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:52.053 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)           | 00:47.166 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)               | 00:00.020 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)               | 00:00.022 | 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 |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_arm.py` (``tune_relay_arm.py``)               | 00:00.005 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_arm.py` (``tune_relay_arm.py``)               | 00:00.004 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``) | 00:00.005 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``) | 00:00.004 | 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 98be0600a5..f0dd0a21e8 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
@@ -390,26 +390,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 2, 16]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8427052
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 2, 256]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 256, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2388758
     No: 2   GFLOPS: 0.00/0.00       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
-        return self.__get_result()
-      File "/usr/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result
-        raise self._exception
-      File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
-        result = self.fn(*self.args, **self.kwargs)
-      File "/workspace/python/tvm/contrib/popen_pool.py", line 432, in <lambda>
-        worker = lambda *args: self._worker_run(*args)
-      File "/workspace/python/tvm/contrib/popen_pool.py", line 401, in _worker_run
-        return proc.recv()
-      File "/workspace/python/tvm/contrib/popen_pool.py", line 309, in recv
-        raise TimeoutError()
-    TimeoutError
-
-            [('tile_f', [-1, 16, 2, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 32]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7115914
-    No: 3   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -531,9 +513,9 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 1, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 256]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5605986
-    No: 4   GFLOPS: 196.02/196.02   result: MeasureResult(costs=(0.001180978640776699,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.347785472869873, timestamp=1680791867.4511259)        [('tile_f', [-1, 2, 1, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3605901
-    No: 5   GFLOPS: 0.00/196.02     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 8, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 64, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6798376
+    No: 3   GFLOPS: 9.40/9.40       result: MeasureResult(costs=(0.024635136833333335,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.562204360961914, timestamp=1680803428.0066042)        [('tile_f', [-1, 8, 16, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8009137
+    No: 4   GFLOPS: 0.00/9.40       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -655,9 +637,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 4, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 64, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,3315329
-    No: 6   GFLOPS: 12.97/196.02    result: MeasureResult(costs=(0.017844907,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.8059096336364746, timestamp=1680791872.012286) [('tile_f', [-1, 4, 1, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,1882377
-    No: 7   GFLOPS: 0.00/196.02     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 4, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 512, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9133037
+    No: 5   GFLOPS: 0.00/9.40       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -779,8 +760,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 16]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6377537
-    No: 8   GFLOPS: 0.00/196.02     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 8, 4, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 512]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2321242
+    No: 6   GFLOPS: 0.00/9.40       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -902,11 +883,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 2, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 8, 16]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10199656
-    No: 9   GFLOPS: 3.17/196.02     result: MeasureResult(costs=(0.07298224625000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.868351936340332, timestamp=1680791878.1871245) [('tile_f', [-1, 4, 1, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 32]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4021437
-    No: 10  GFLOPS: 37.33/196.02    result: MeasureResult(costs=(0.006201108588235294,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.279516935348511, timestamp=1680791879.0818)   [('tile_f', [-1, 4, 4, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 64, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3541194
-    No: 11  GFLOPS: 200.88/200.88   result: MeasureResult(costs=(0.0011524482517985609,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.287382125854492, timestamp=1680791880.2233808)       [('tile_f', [-1, 2, 8, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 16]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3804362
-    No: 12  GFLOPS: 0.00/200.88     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 16, 8, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 512, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6808465
+    No: 7   GFLOPS: 0.00/9.40       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1028,8 +1006,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 128]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5405349
-    No: 13  GFLOPS: 0.00/200.88     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 16, 16]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 64, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9317402
+    No: 8   GFLOPS: 0.00/9.40       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1151,8 +1129,9 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 128, 2]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 32, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,985918
-    No: 14  GFLOPS: 0.00/200.88     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 2, 128]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 512]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4065594
+    No: 9   GFLOPS: 9.48/9.48       result: MeasureResult(costs=(0.02441596216666667,), error_no=MeasureErrorNo.NO_ERROR, all_cost=9.508664846420288, timestamp=1680803440.8370838) [('tile_f', [-1, 2, 2, 32]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4849211
+    No: 10  GFLOPS: 0.00/9.48       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1274,8 +1253,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 256]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,189986
-    No: 15  GFLOPS: 0.00/200.88     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 32, 2, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 16, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10083769
+    No: 11  GFLOPS: 0.00/9.48       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1397,9 +1376,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 8, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8405666
-    No: 16  GFLOPS: 7.47/200.88     result: MeasureResult(costs=(0.03098060775,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.5830678939819336, timestamp=1680791884.0616179)      [('tile_f', [-1, 4, 1, 16]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,5006
-    No: 17  GFLOPS: 0.00/200.88     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 32, 1, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 64]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2491385
+    No: 12  GFLOPS: 0.00/9.48       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1521,8 +1499,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 128, 1, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 64, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8415282
-    No: 18  GFLOPS: 0.00/200.88     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 16, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 32]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5566086
+    No: 13  GFLOPS: 0.00/9.48       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1644,9 +1622,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 128, 2, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 128, 4]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,674811
-    No: 19  GFLOPS: 11.67/200.88    result: MeasureResult(costs=(0.019845755166666666,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.0372462272644043, timestamp=1680791886.3012998)       [('tile_f', [-1, 64, 2, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5714736
-    No: 20  GFLOPS: 0.00/200.88     result: Traceback (most recent call last):
+    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, 7, 1, 1]), ('tile_rc', [-1, 1, 512]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2708616
+    No: 14  GFLOPS: 0.00/9.48       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1768,7 +1745,501 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 8, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7331361
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 32, 2, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 512, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7391189
+    No: 15  GFLOPS: 175.28/175.28   result: MeasureResult(costs=(0.00132072,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.587515115737915, timestamp=1680803445.678157)   [('tile_f', [-1, 1, 8, 2]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 8, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8567099
+    No: 16  GFLOPS: 0.00/175.28     result: Traceback (most recent call last):
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+        func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+        func = build(s, args, target=target, runtime=runtime)
+      File "/workspace/python/tvm/driver/build_module.py", line 227, in build
+        input_mod = lower(inputs, args, name=name, binds=binds)
+      File "/workspace/python/tvm/driver/build_module.py", line 134, in lower
+        return ffi.lower_schedule(inp, args, name, binds, simple_mode)
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 276, in tvm._ffi._cy3.core.FuncCall
+      File "tvm/_ffi/_cython/./base.pxi", line 181, in tvm._ffi._cy3.core.CHECK_CALL
+    tvm._ffi.base.TVMError: Traceback (most recent call last):
+      24: TVMFuncCall
+            at ../src/runtime/c_runtime_api.cc:477
+      23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      22: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      21: operator()
+            at ../include/tvm/runtime/packed_func.h:1734
+      20: unpack_call<tvm::IRModule, 5, tvm::<lambda(tvm::te::Schedule, const tvm::runtime::Array<tvm::runtime::ObjectRef>&, const tvm::runtime::String&, const tvm::runtime::Map<tvm::te::Tensor, tvm::tir::Buffer>&, bool)> >
+            at ../include/tvm/runtime/packed_func.h:1674
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1634
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1649
+      13: operator()
+            at ../src/driver/driver_api.cc:402
+      12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, tvm::GlobalVarSupply, bool)
+            at ../src/driver/driver_api.cc:388
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:283
+      10: tvm::transform::Pass::operator()(tvm::IRModule) const
+            at ../src/ir/transform.cc:258
+      9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:451
+      7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/tir/ir/transform.cc:101
+      5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+            at ../include/tvm/runtime/packed_func.h:1753
+      4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher<tvm::tir::PrimFunc>::run<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::runtime::PackedFunc const&, tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&)
+            at ../include/tvm/runtime/packed_func.h:1697
+      3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&) const
+            at ../include/tvm/runtime/packed_func.h:1621
+      2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      1: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      0: operator()
+            at ../src/runtime/c_runtime_api.cc:534
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+        raise InstantiationError("Skipped because of invalid gpu kernel")
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+    Traceback (most recent call last):
+      24: TVMFuncCall
+            at ../src/runtime/c_runtime_api.cc:477
+      23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      22: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      21: operator()
+            at ../include/tvm/runtime/packed_func.h:1734
+      20: unpack_call<tvm::IRModule, 5, tvm::<lambda(tvm::te::Schedule, const tvm::runtime::Array<tvm::runtime::ObjectRef>&, const tvm::runtime::String&, const tvm::runtime::Map<tvm::te::Tensor, tvm::tir::Buffer>&, bool)> >
+            at ../include/tvm/runtime/packed_func.h:1674
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1634
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1649
+      13: operator()
+            at ../src/driver/driver_api.cc:402
+      12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, tvm::GlobalVarSupply, bool)
+            at ../src/driver/driver_api.cc:388
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:283
+      10: tvm::transform::Pass::operator()(tvm::IRModule) const
+            at ../src/ir/transform.cc:258
+      9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:451
+      7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/tir/ir/transform.cc:101
+      5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+            at ../include/tvm/runtime/packed_func.h:1753
+      4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher<tvm::tir::PrimFunc>::run<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::runtime::PackedFunc const&, tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&)
+            at ../include/tvm/runtime/packed_func.h:1697
+      3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&) const
+            at ../include/tvm/runtime/packed_func.h:1621
+      2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      1: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      0: operator()
+            at ../src/runtime/c_runtime_api.cc:534
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 64, 2]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 2, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8036476
+    No: 17  GFLOPS: 0.00/175.28     result: Traceback (most recent call last):
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+        func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+        func = build(s, args, target=target, runtime=runtime)
+      File "/workspace/python/tvm/driver/build_module.py", line 227, in build
+        input_mod = lower(inputs, args, name=name, binds=binds)
+      File "/workspace/python/tvm/driver/build_module.py", line 134, in lower
+        return ffi.lower_schedule(inp, args, name, binds, simple_mode)
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 276, in tvm._ffi._cy3.core.FuncCall
+      File "tvm/_ffi/_cython/./base.pxi", line 181, in tvm._ffi._cy3.core.CHECK_CALL
+    tvm._ffi.base.TVMError: Traceback (most recent call last):
+      24: TVMFuncCall
+            at ../src/runtime/c_runtime_api.cc:477
+      23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      22: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      21: operator()
+            at ../include/tvm/runtime/packed_func.h:1734
+      20: unpack_call<tvm::IRModule, 5, tvm::<lambda(tvm::te::Schedule, const tvm::runtime::Array<tvm::runtime::ObjectRef>&, const tvm::runtime::String&, const tvm::runtime::Map<tvm::te::Tensor, tvm::tir::Buffer>&, bool)> >
+            at ../include/tvm/runtime/packed_func.h:1674
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1634
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1649
+      13: operator()
+            at ../src/driver/driver_api.cc:402
+      12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, tvm::GlobalVarSupply, bool)
+            at ../src/driver/driver_api.cc:388
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:283
+      10: tvm::transform::Pass::operator()(tvm::IRModule) const
+            at ../src/ir/transform.cc:258
+      9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:451
+      7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/tir/ir/transform.cc:101
+      5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+            at ../include/tvm/runtime/packed_func.h:1753
+      4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher<tvm::tir::PrimFunc>::run<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::runtime::PackedFunc const&, tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&)
+            at ../include/tvm/runtime/packed_func.h:1697
+      3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&) const
+            at ../include/tvm/runtime/packed_func.h:1621
+      2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      1: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      0: operator()
+            at ../src/runtime/c_runtime_api.cc:534
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+        raise InstantiationError("Skipped because of invalid gpu kernel")
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+    Traceback (most recent call last):
+      24: TVMFuncCall
+            at ../src/runtime/c_runtime_api.cc:477
+      23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      22: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      21: operator()
+            at ../include/tvm/runtime/packed_func.h:1734
+      20: unpack_call<tvm::IRModule, 5, tvm::<lambda(tvm::te::Schedule, const tvm::runtime::Array<tvm::runtime::ObjectRef>&, const tvm::runtime::String&, const tvm::runtime::Map<tvm::te::Tensor, tvm::tir::Buffer>&, bool)> >
+            at ../include/tvm/runtime/packed_func.h:1674
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1634
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1649
+      13: operator()
+            at ../src/driver/driver_api.cc:402
+      12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, tvm::GlobalVarSupply, bool)
+            at ../src/driver/driver_api.cc:388
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:283
+      10: tvm::transform::Pass::operator()(tvm::IRModule) const
+            at ../src/ir/transform.cc:258
+      9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:451
+      7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/tir/ir/transform.cc:101
+      5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+            at ../include/tvm/runtime/packed_func.h:1753
+      4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher<tvm::tir::PrimFunc>::run<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::runtime::PackedFunc const&, tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&)
+            at ../include/tvm/runtime/packed_func.h:1697
+      3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&) const
+            at ../include/tvm/runtime/packed_func.h:1621
+      2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      1: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      0: operator()
+            at ../src/runtime/c_runtime_api.cc:534
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 16, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7213737
+    No: 18  GFLOPS: 26.18/175.28    result: MeasureResult(costs=(0.008842506333333335,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6490862369537354, timestamp=1680803447.536689)        [('tile_f', [-1, 4, 2, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5488705
+    No: 19  GFLOPS: 0.00/175.28     result: Traceback (most recent call last):
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+        func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+        func = build(s, args, target=target, runtime=runtime)
+      File "/workspace/python/tvm/driver/build_module.py", line 227, in build
+        input_mod = lower(inputs, args, name=name, binds=binds)
+      File "/workspace/python/tvm/driver/build_module.py", line 134, in lower
+        return ffi.lower_schedule(inp, args, name, binds, simple_mode)
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 276, in tvm._ffi._cy3.core.FuncCall
+      File "tvm/_ffi/_cython/./base.pxi", line 181, in tvm._ffi._cy3.core.CHECK_CALL
+    tvm._ffi.base.TVMError: Traceback (most recent call last):
+      24: TVMFuncCall
+            at ../src/runtime/c_runtime_api.cc:477
+      23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      22: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      21: operator()
+            at ../include/tvm/runtime/packed_func.h:1734
+      20: unpack_call<tvm::IRModule, 5, tvm::<lambda(tvm::te::Schedule, const tvm::runtime::Array<tvm::runtime::ObjectRef>&, const tvm::runtime::String&, const tvm::runtime::Map<tvm::te::Tensor, tvm::tir::Buffer>&, bool)> >
+            at ../include/tvm/runtime/packed_func.h:1674
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1634
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1649
+      13: operator()
+            at ../src/driver/driver_api.cc:402
+      12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, tvm::GlobalVarSupply, bool)
+            at ../src/driver/driver_api.cc:388
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:283
+      10: tvm::transform::Pass::operator()(tvm::IRModule) const
+            at ../src/ir/transform.cc:258
+      9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:451
+      7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/tir/ir/transform.cc:101
+      5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+            at ../include/tvm/runtime/packed_func.h:1753
+      4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher<tvm::tir::PrimFunc>::run<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::runtime::PackedFunc const&, tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&)
+            at ../include/tvm/runtime/packed_func.h:1697
+      3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&) const
+            at ../include/tvm/runtime/packed_func.h:1621
+      2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      1: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      0: operator()
+            at ../src/runtime/c_runtime_api.cc:534
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+        raise InstantiationError("Skipped because of invalid gpu kernel")
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+    Traceback (most recent call last):
+      24: TVMFuncCall
+            at ../src/runtime/c_runtime_api.cc:477
+      23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      22: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      21: operator()
+            at ../include/tvm/runtime/packed_func.h:1734
+      20: unpack_call<tvm::IRModule, 5, tvm::<lambda(tvm::te::Schedule, const tvm::runtime::Array<tvm::runtime::ObjectRef>&, const tvm::runtime::String&, const tvm::runtime::Map<tvm::te::Tensor, tvm::tir::Buffer>&, bool)> >
+            at ../include/tvm/runtime/packed_func.h:1674
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1634
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1649
+      13: operator()
+            at ../src/driver/driver_api.cc:402
+      12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, tvm::GlobalVarSupply, bool)
+            at ../src/driver/driver_api.cc:388
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:283
+      10: tvm::transform::Pass::operator()(tvm::IRModule) const
+            at ../src/ir/transform.cc:258
+      9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:451
+      7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/tir/ir/transform.cc:101
+      5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+            at ../include/tvm/runtime/packed_func.h:1753
+      4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher<tvm::tir::PrimFunc>::run<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::runtime::PackedFunc const&, tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&)
+            at ../include/tvm/runtime/packed_func.h:1697
+      3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&) const
+            at ../include/tvm/runtime/packed_func.h:1621
+      2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      1: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      0: operator()
+            at ../src/runtime/c_runtime_api.cc:534
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 1, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 512, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9905664
+    No: 20  GFLOPS: 0.00/175.28     result: Traceback (most recent call last):
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+        func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+        func = build(s, args, target=target, runtime=runtime)
+      File "/workspace/python/tvm/driver/build_module.py", line 227, in build
+        input_mod = lower(inputs, args, name=name, binds=binds)
+      File "/workspace/python/tvm/driver/build_module.py", line 134, in lower
+        return ffi.lower_schedule(inp, args, name, binds, simple_mode)
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 276, in tvm._ffi._cy3.core.FuncCall
+      File "tvm/_ffi/_cython/./base.pxi", line 181, in tvm._ffi._cy3.core.CHECK_CALL
+    tvm._ffi.base.TVMError: Traceback (most recent call last):
+      24: TVMFuncCall
+            at ../src/runtime/c_runtime_api.cc:477
+      23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      22: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      21: operator()
+            at ../include/tvm/runtime/packed_func.h:1734
+      20: unpack_call<tvm::IRModule, 5, tvm::<lambda(tvm::te::Schedule, const tvm::runtime::Array<tvm::runtime::ObjectRef>&, const tvm::runtime::String&, const tvm::runtime::Map<tvm::te::Tensor, tvm::tir::Buffer>&, bool)> >
+            at ../include/tvm/runtime/packed_func.h:1674
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1634
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1649
+      13: operator()
+            at ../src/driver/driver_api.cc:402
+      12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, tvm::GlobalVarSupply, bool)
+            at ../src/driver/driver_api.cc:388
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:283
+      10: tvm::transform::Pass::operator()(tvm::IRModule) const
+            at ../src/ir/transform.cc:258
+      9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:451
+      7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/tir/ir/transform.cc:101
+      5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+            at ../include/tvm/runtime/packed_func.h:1753
+      4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher<tvm::tir::PrimFunc>::run<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::runtime::PackedFunc const&, tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&)
+            at ../include/tvm/runtime/packed_func.h:1697
+      3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&) const
+            at ../include/tvm/runtime/packed_func.h:1621
+      2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      1: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      0: operator()
+            at ../src/runtime/c_runtime_api.cc:534
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
+        raise InstantiationError("Skipped because of invalid gpu kernel")
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+    Traceback (most recent call last):
+      24: TVMFuncCall
+            at ../src/runtime/c_runtime_api.cc:477
+      23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      22: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      21: operator()
+            at ../include/tvm/runtime/packed_func.h:1734
+      20: unpack_call<tvm::IRModule, 5, tvm::<lambda(tvm::te::Schedule, const tvm::runtime::Array<tvm::runtime::ObjectRef>&, const tvm::runtime::String&, const tvm::runtime::Map<tvm::te::Tensor, tvm::tir::Buffer>&, bool)> >
+            at ../include/tvm/runtime/packed_func.h:1674
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1634
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1634
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1649
+      13: operator()
+            at ../src/driver/driver_api.cc:402
+      12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, tvm::GlobalVarSupply, bool)
+            at ../src/driver/driver_api.cc:388
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:283
+      10: tvm::transform::Pass::operator()(tvm::IRModule) const
+            at ../src/ir/transform.cc:258
+      9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:451
+      7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/ir/transform.cc:274
+      6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
+            at ../src/tir/ir/transform.cc:101
+      5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+            at ../include/tvm/runtime/packed_func.h:1753
+      4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher<tvm::tir::PrimFunc>::run<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::runtime::PackedFunc const&, tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&)
+            at ../include/tvm/runtime/packed_func.h:1697
+      3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&) const
+            at ../include/tvm/runtime/packed_func.h:1621
+      2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+            at ../include/tvm/runtime/packed_func.h:1217
+      1: Call
+            at ../include/tvm/runtime/packed_func.h:1213
+      0: operator()
+            at ../src/runtime/c_runtime_api.cc:534
+      File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 16, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7846483
 
 
 
@@ -1823,9 +2294,9 @@ and measure running time.
     Finish loading 20 records
 
     Best config:
-    [('tile_f', [-1, 2, 8, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 16]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3804362
+    [('tile_f', [-1, 1, 8, 2]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 8, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8567099
     Finish loading 20 records
-    Time cost of this operator: 0.001506
+    Time cost of this operator: 0.001716
 
 
 
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 56a6249df5..fa27cfd7d3 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
@@ -360,10 +360,10 @@ Timing the untuned program
     ########## Build without Autotuning ##########
     Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  Measurements(us)  
     ---------                                     ---                                           --------  -------  -----              ------  -------  ----------------  
-    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  315.3     98.725   (1, 2, 10, 10, 3)  2       1        [315.3]           
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.113     0.975    (1, 6, 10, 10)     1       1        [3.113]           
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.958     0.3      (1, 1, 10, 10, 3)  1       1        [0.958]           
-    Total_time                                    -                                             319.371   -        -                  -       -        -                 
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  316.3     98.748   (1, 2, 10, 10, 3)  2       1        [316.3]           
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.042     0.95     (1, 6, 10, 10)     1       1        [3.042]           
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.969     0.303    (1, 1, 10, 10, 3)  1       1        [0.969]           
+    Total_time                                    -                                             320.311   -        -                  -       -        -                 
 
 
 
@@ -428,10 +428,10 @@ Timing the tuned program
     ########## Build with Autotuning ##########
     Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  Measurements(us)  
     ---------                                     ---                                           --------  -------  -----              ------  -------  ----------------  
-    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  100.4     97.364   (1, 6, 10, 10, 1)  2       1        [100.4]           
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.764     1.71     (1, 6, 10, 10)     1       1        [1.764]           
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.954     0.925    (1, 1, 10, 10, 3)  1       1        [0.954]           
-    Total_time                                    -                                             103.118   -        -                  -       -        -                 
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  107.2     97.628   (1, 6, 10, 10, 1)  2       1        [107.2]           
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.765     1.607    (1, 6, 10, 10)     1       1        [1.765]           
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.839     0.764    (1, 3, 10, 10, 1)  1       1        [0.839]           
+    Total_time                                    -                                             109.804   -        -                  -       -        -                 
 
 
 
@@ -439,7 +439,7 @@ Timing the tuned program
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  25.209 seconds)
+   **Total running time of the script:** ( 1 minutes  22.653 seconds)
 
 
 .. _sphx_glr_download_how_to_work_with_microtvm_micro_autotune.py:
diff --git a/docs/_sources/how_to/work_with_microtvm/micro_pytorch.rst.txt b/docs/_sources/how_to/work_with_microtvm/micro_pytorch.rst.txt
index 4fb97729b0..8e252743ca 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_pytorch.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_pytorch.rst.txt
@@ -118,7 +118,7 @@ download a cat image and preprocess it to use as the model input.
     /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torch/ao/quantization/utils.py:281: UserWarning: must run observer before calling calculate_qparams. Returning default values.
       "must run observer before calling calculate_qparams. " +
     Downloading: "https://download.pytorch.org/models/quantized/mobilenet_v2_qnnpack_37f702c5.pth" to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2_qnnpack_37f702c5.pth
-
      0%|          | 0.00/3.42M [00:00<?, ?B/s]
    100%|##########| 3.42M/3.42M [00:00<00:00, 280MB/s]
+
      0%|          | 0.00/3.42M [00:00<?, ?B/s]
    100%|##########| 3.42M/3.42M [00:00<00:00, 45.7MB/s]
     /workspace/python/tvm/relay/frontend/pytorch_utils.py:47: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
       return LooseVersion(torch_ver) > ver
     /venv/apache-tvm-py3.7/lib/python3.7/site-packages/setuptools/_distutils/version.py:346: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
@@ -324,7 +324,7 @@ Look up prediction top 1 index in 1000 class synset.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  21.090 seconds)
+   **Total running time of the script:** ( 1 minutes  18.838 seconds)
 
 
 .. _sphx_glr_download_how_to_work_with_microtvm_micro_pytorch.py:
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 4677c62dd0..30275d75ba 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
@@ -217,7 +217,7 @@ take about **2 minutes** to download the Stanford Cars, while COCO 2017 validati
  .. code-block:: none
 
 
-    '/tmp/tmpgaw1k1ib/images/random'
+    '/tmp/tmpww30hnfu/images/random'
 
 
 
@@ -308,7 +308,7 @@ objects to other stuff? We can display some examples from our datasets using ``m
 
 
 .. image-sg:: /how_to/work_with_microtvm/images/sphx_glr_micro_train_001.png
-   :alt: [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [1.0, 0.0]
+   :alt: [1.0, 0.0], [0.0, 1.0], [0.0, 1.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]
    :srcset: /how_to/work_with_microtvm/images/sphx_glr_micro_train_001.png
    :class: sphx-glr-single-img
 
@@ -317,8 +317,8 @@ objects to other stuff? We can display some examples from our datasets using ``m
 
  .. code-block:: none
 
-    /tmp/tmpgaw1k1ib/images/target contains 8144 images
-    /tmp/tmpgaw1k1ib/images/random contains 5000 images
+    /tmp/tmpww30hnfu/images/target contains 8144 images
+    /tmp/tmpww30hnfu/images/random contains 5000 images
 
 
 
@@ -493,13 +493,13 @@ the time on our validation set).
  .. code-block:: none
 
     Epoch 1/3
-    328/328 - 41s - loss: 0.2078 - accuracy: 0.9256 - val_loss: 0.1179 - val_accuracy: 0.9554 - 41s/epoch - 124ms/step
+    328/328 - 39s - loss: 0.2041 - accuracy: 0.9268 - val_loss: 0.1426 - val_accuracy: 0.9505 - 39s/epoch - 120ms/step
     Epoch 2/3
-    328/328 - 35s - loss: 0.0898 - accuracy: 0.9678 - val_loss: 0.1048 - val_accuracy: 0.9622 - 35s/epoch - 106ms/step
+    328/328 - 35s - loss: 0.1003 - accuracy: 0.9645 - val_loss: 0.1111 - val_accuracy: 0.9619 - 35s/epoch - 105ms/step
     Epoch 3/3
-    328/328 - 35s - loss: 0.0616 - accuracy: 0.9780 - val_loss: 0.0995 - val_accuracy: 0.9683 - 35s/epoch - 106ms/step
+    328/328 - 34s - loss: 0.0673 - accuracy: 0.9734 - val_loss: 0.1161 - val_accuracy: 0.9641 - 34s/epoch - 105ms/step
 
-    <keras.callbacks.History object at 0x7f12533c9810>
+    <keras.callbacks.History object at 0x7f09c81fc990>
 
 
 
@@ -860,7 +860,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:** ( 4 minutes  25.849 seconds)
+   **Total running time of the script:** ( 4 minutes  31.196 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 ab2adfea17..341b72118b 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,20 +5,20 @@
 
 Computation times
 =================
-**07:39.023** total execution time for **how_to_work_with_microtvm** files:
+**07:38.761** total execution time for **how_to_work_with_microtvm** files:
 
 +-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``)           | 04:25.849 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``)           | 04:31.196 | 0.0 MB |
 +-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)     | 01:25.209 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)     | 01:22.653 | 0.0 MB |
 +-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_pytorch.py` (``micro_pytorch.py``)       | 01:21.090 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_pytorch.py` (``micro_pytorch.py``)       | 01:18.838 | 0.0 MB |
 +-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``)               | 00:10.720 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``)               | 00:10.444 | 0.0 MB |
 +-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_custom_ide.py` (``micro_custom_ide.py``) | 00:08.431 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_custom_ide.py` (``micro_custom_ide.py``) | 00:08.081 | 0.0 MB |
 +-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)         | 00:07.725 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)         | 00:07.548 | 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 b652102116..170bd5ea9a 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,14 +5,14 @@
 
 Computation times
 =================
-**00:37.750** total execution time for **how_to_work_with_relay** files:
+**00:36.757** total execution time for **how_to_work_with_relay** files:
 
 +----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_pipeline_executor.py` (``using_pipeline_executor.py``) | 00:33.177 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_pipeline_executor.py` (``using_pipeline_executor.py``) | 00:32.268 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)           | 00:02.961 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)           | 00:02.880 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)                             | 00:01.606 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)                             | 00:01.603 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``)                 | 00:00.007 | 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 1b36fb1035..2f9c5e9f3e 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
@@ -278,7 +278,7 @@ The following example customizes CUDA lowering rule for :code:`exp`.
  .. code-block:: none
 
 
-    <function my_cuda_math_rule at 0x7f0ea6183440>
+    <function my_cuda_math_rule at 0x7f074add9d40>
 
 
 
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 e85be0b9ad..d3ba5bb89d 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:08.286** total execution time for **how_to_work_with_schedules** files:
+**00:08.294** 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:05.481 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)                 | 00:05.474 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)                     | 00:01.254 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)                     | 00:01.294 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)                     | 00:00.641 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)                     | 00:00.631 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)                               | 00:00.619 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)                               | 00:00.614 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)                     | 00:00.135 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)                     | 00:00.132 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)                               | 00:00.066 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)                               | 00:00.065 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.059 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.055 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)               | 00:00.031 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)               | 00:00.030 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
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 0b5e942f6b..5f2d687c01 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:32.449** total execution time for **topic_vta_tutorials_autotvm** files:
+**00:31.580** 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:32.442 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``) | 00:31.573 | 0.0 MB |
 +---------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``)     | 00:00.007 | 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 0375e36147..11ee5b14e0 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
@@ -293,7 +293,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 35.24s!
+    resnet18_v1 inference graph built in 33.64s!
 
 
 
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 2586091cbf..6a20a2e266 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
@@ -337,7 +337,7 @@ The compilation steps are:
 
     /workspace/python/tvm/relay/build_module.py:348: DeprecationWarning: Please use input parameter mod (tvm.IRModule) instead of deprecated parameter mod (tvm.relay.function.Function)
       DeprecationWarning,
-    yolov3-tiny inference graph built in 23.71s!
+    yolov3-tiny inference graph built in 22.85s!
 
 
 
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 7386938d42..d1d33b61ab 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:43.285** total execution time for **topic_vta_tutorials_frontend** files:
+**01:40.500** total execution time for **topic_vta_tutorials_frontend** files:
 
 +------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:52.297 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:50.554 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)           | 00:50.988 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)           | 00:49.947 | 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 af3c470467..3414211c70 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.213** total execution time for **topic_vta_tutorials_optimize** files:
+**00:03.177** total execution time for **topic_vta_tutorials_optimize** files:
 
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)         | 00:02.718 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)         | 00:02.697 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.494 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.481 | 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 3c54c19362..1798f25620 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.839** total execution time for **topic_vta_tutorials** files:
+**00:00.830** total execution time for **topic_vta_tutorials** files:
 
 +---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.432 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.429 | 0.0 MB |
 +---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.406 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.401 | 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 405f85001f..e3de40a607 100644
--- a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
@@ -318,7 +318,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 96.707 ms
+    Execution time of this operator: 93.727 ms
 
 
 
@@ -434,7 +434,7 @@ operations.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  35.410 seconds)
+   **Total running time of the script:** ( 1 minutes  36.586 seconds)
 
 
 .. _sphx_glr_download_tutorial_auto_scheduler_matmul_x86.py:
diff --git a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
index 135f33c1fc..480df20874 100644
--- a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
@@ -454,16 +454,16 @@ reduce variance, we take 5 measurements and average them.
     waiting for device...
     device available
     Get devices for measurement successfully!
-    No: 1   GFLOPS: 3.04/3.04       result: MeasureResult(costs=(0.088172148,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6689238548278809, timestamp=1680790132.3682656)        [('tile_y', [-1, 4]), ('tile_x', [-1, 4])],None,22
-    No: 2   GFLOPS: 14.78/14.78     result: MeasureResult(costs=(0.018164244,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.804436445236206, timestamp=1680790132.916784)  [('tile_y', [-1, 64]), ('tile_x', [-1, 64])],None,66
-    No: 3   GFLOPS: 1.52/14.78      result: MeasureResult(costs=(0.1764476888,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.080395221710205, timestamp=1680790137.290825) [('tile_y', [-1, 32]), ('tile_x', [-1, 4])],None,25
-    No: 4   GFLOPS: 9.21/14.78      result: MeasureResult(costs=(0.0291431112,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.7099449634552002, timestamp=1680790138.0191398)       [('tile_y', [-1, 512]), ('tile_x', [-1, 256])],None,89
-    No: 5   GFLOPS: 11.59/14.78     result: MeasureResult(costs=(0.023167668,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6388599872589111, timestamp=1680790138.7823923)        [('tile_y', [-1, 64]), ('tile_x', [-1, 512])],None,96
-    No: 6   GFLOPS: 0.50/14.78      result: MeasureResult(costs=(0.5322487524,), error_no=MeasureErrorNo.NO_ERROR, all_cost=8.777586460113525, timestamp=1680790148.8502314)        [('tile_y', [-1, 64]), ('tile_x', [-1, 1])],None,6
-    No: 7   GFLOPS: 3.33/14.78      result: MeasureResult(costs=(0.08058818079999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5520107746124268, timestamp=1680790151.6787908)        [('tile_y', [-1, 32]), ('tile_x', [-1, 8])],None,35
-    No: 8   GFLOPS: 10.97/14.78     result: MeasureResult(costs=(0.024463663,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6598129272460938, timestamp=1680790152.3343768)        [('tile_y', [-1, 64]), ('tile_x', [-1, 256])],None,86
-    No: 9   GFLOPS: 3.27/14.78      result: MeasureResult(costs=(0.0821361892,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5259058475494385, timestamp=1680790153.976875)        [('tile_y', [-1, 16]), ('tile_x', [-1, 4])],None,24
-    No: 10  GFLOPS: 0.95/14.78      result: MeasureResult(costs=(0.2812630082,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.716473817825317, timestamp=1680790158.7370381)        [('tile_y', [-1, 32]), ('tile_x', [-1, 2])],None,15
+    No: 1   GFLOPS: 10.24/10.24     result: MeasureResult(costs=(0.0262073602,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.7390856742858887, timestamp=1680801739.0798178)       [('tile_y', [-1, 16]), ('tile_x', [-1, 32])],None,54
+    No: 2   GFLOPS: 0.80/10.24      result: MeasureResult(costs=(0.3339578552,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.58829140663147, timestamp=1680801744.6909096) [('tile_y', [-1, 512]), ('tile_x', [-1, 2])],None,19
+    No: 3   GFLOPS: 8.25/10.24      result: MeasureResult(costs=(0.0325340484,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.780775785446167, timestamp=1680801746.7403245)        [('tile_y', [-1, 2]), ('tile_x', [-1, 64])],None,61
+    No: 4   GFLOPS: 10.64/10.64     result: MeasureResult(costs=(0.0252402758,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6762723922729492, timestamp=1680801748.6599727)       [('tile_y', [-1, 8]), ('tile_x', [-1, 32])],None,53
+    No: 5   GFLOPS: 3.08/10.64      result: MeasureResult(costs=(0.0870337288,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.635138988494873, timestamp=1680801750.5050821)        [('tile_y', [-1, 128]), ('tile_x', [-1, 8])],None,37
+    No: 6   GFLOPS: 12.78/12.78     result: MeasureResult(costs=(0.021003902999999997,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.678776741027832, timestamp=1680801751.1062706)        [('tile_y', [-1, 256]), ('tile_x', [-1, 128])],None,78
+    No: 7   GFLOPS: 11.54/12.78     result: MeasureResult(costs=(0.023262110199999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6071891784667969, timestamp=1680801753.0000832)       [('tile_y', [-1, 32]), ('tile_x', [-1, 512])],None,95
+    No: 8   GFLOPS: 3.15/12.78      result: MeasureResult(costs=(0.08534624119999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6156713962554932, timestamp=1680801754.6239653)        [('tile_y', [-1, 512]), ('tile_x', [-1, 16])],None,49
+    No: 9   GFLOPS: 9.71/12.78      result: MeasureResult(costs=(0.0276530636,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.650679349899292, timestamp=1680801755.3954105)        [('tile_y', [-1, 1]), ('tile_x', [-1, 512])],None,90
+    No: 10  GFLOPS: 0.90/12.78      result: MeasureResult(costs=(0.299922375,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.005521774291992, timestamp=1680801760.4501207) [('tile_y', [-1, 256]), ('tile_x', [-1, 2])],None,18
 
 
 
diff --git a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
index 398d0f7e45..4531ca451e 100644
--- a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
@@ -311,7 +311,7 @@ standard deviation.
 
  .. code-block:: none
 
-    {'mean': 520.5685730000016, 'median': 520.362483599996, 'std': 2.1258809472709643}
+    {'mean': 509.35657655999756, 'median': 508.95062829999347, 'std': 1.4660641184821586}
 
 
 
@@ -545,31 +545,31 @@ the tuning data to.
 
  .. code-block:: none
 
-
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:    7.64/  16.33 GFLOPS | Progress: (4/20) | 11.93 s
    [Task  1/25]  Current/Best:   10.98/  16.33 GFLOPS | Progress: (8/20) | 16.71 s
    [Task  1/25]  Current/Best:    3.40/  16.33 GFLOPS | Progress: (12/20) | 20.57 s
    [Task  1/25]  Current/Best:   22.80/  22.80 GFLOPS | Progress: (16/20) | 23.61 s
    [Task  1/25]  Current/Best:   15.74/  22.80 GFLOPS | Progress: (20/20) | 30.07 s Done.
-
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:   20.27/  20.27 GFLOPS | Progress: (4/20) | 4.93 s
    [Task  2/25]  Current/Best:   22.83/  22.83 GFLOPS | Progress: (8/20) | 6.94 s
    [Task  2/25]  Current/Best:   14.79/  22.83 GFLOPS | Progress: (12/20) | 8.46 s
    [Task  2/25]  Current/Best:   15.71/  22.83 GFLOPS | Progress: (16/20) | 9.96 s
    [Task  2/25]  Current/Best:   17.48/  22.83 GFLOPS | Progress: (20/20) | 11.43 s Done.
-
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  3/25]  Current/Best:    6.15/  18.09 GFLOPS | Progress: (4/20) | 5.33 s
    [Task  3/25]  Current/Best:    6.21/  18.09 GFLOPS | Progress: (8/20) | 7.90 s
    [Task  3/25]  Current/Best:    6.22/  18.09 GFLOPS | Progress: (12/20) | 10.53 s
    [Task  3/25]  Current/Best:    8.43/  19.34 GFLOPS | Progress: (16/20) | 13.06 s
    [Task  3/25]  Current/Best:   19.89/  19.89 GFLOPS | Progress: (20/20) | 15.15 s Done.
-
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:    8.32/  10.72 GFLOPS | Progress: (4/20) | 7.75 s
    [Task  4/25]  Current/Best:   12.00/  12.64 GFLOPS | Progress: (8/20) | 10.56 s
    [Task  4/25]  Current/Best:   10.92/  17.10 GFLOPS | Progress: (12/20) | 12.84 s
    [Task  4/25]  Current/Best:   11.65/  17.10 GFLOPS | Progress: (16/20) | 15.06 s
    [Task  4/25]  Current/Best:    7.77/  17.10 GFLOPS | Progress: (20/20) | 19.48 s Done.
-
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:   15.82/  15.82 GFLOPS | Progress: (4/20) | 6.42 s
    [Task  5/25]  Current/Best:    8.79/  17.77 GFLOPS | Progress: (8/20) | 8.93 s
    [Task  5/25]  Current/Best:   14.85/  17.77 GFLOPS | Progress: (12/20) | 11.27 s
    [Task  5/25]  Current/Best:    5.50/  20.38 GFLOPS | Progress: (16/20) | 13.41 s
    [Task  5/25]  Current/Best:   14.88/  20.38 GFLOPS | Progress: (20/20) | 16.01 s Done.
-
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:    9.14/  13.54 GFLOPS | Progress: (4/20) | 5.53 s
    [Task  6/25]  Current/Best:    6.88/  19.33 GFLOPS | Progress: (8/20) | 8.91 s
    [Task  6/25]  Current/Best:   14.71/  19.33 GFLOPS | Progress: (12/20) | 12.96 s
    [Task  6/25]  Current/Best:    6.64/  19.33 GFLOPS | Progress: (16/20) | 16.57 s
    [Task  6/25]  Current/Best:   17.75/  19.33 GFLOPS | Progress: (20/20) | 19.08 s Done.
-
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   18.05/  18.05 GFLOPS | Progress: (4/20) | 5.02 s
    [Task  7/25]  Current/Best:   15.69/  18.05 GFLOPS | Progress: (8/20) | 7.60 s
    [Task  7/25]  Current/Best:   18.69/  18.69 GFLOPS | Progress: (12/20) | 11.23 s
    [Task  7/25]  Current/Best:   17.54/  18.69 GFLOPS | Progress: (16/20) | 13.36 s
    [Task  7/25]  Current/Best:   11.45/  18.69 GFLOPS | Progress: (20/20) | 16.28 s Done.
-
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:    6.51/  21.06 GFLOPS | Progress: (4/20) | 5.37 s
    [Task  8/25]  Current/Best:   17.63/  21.06 GFLOPS | Progress: (8/20) | 8.29 s
    [Task  8/25]  Current/Best:    9.82/  21.06 GFLOPS | Progress: (12/20) | 12.06 s
    [Task  8/25]  Current/Best:    2.41/  21.06 GFLOPS | Progress: (16/20) | 16.32 s
    [Task  8/25]  Current/Best:   10.02/  21.06 GFLOPS | Progress: (20/20) | 24.01 s Done.
-
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:    9.87/  22.72 GFLOPS | Progress: (4/20) | 4.59 s
    [Task  9/25]  Current/Best:   18.73/  22.72 GFLOPS | Progress: (8/20) | 11.73 s
    [Task  9/25]  Current/Best:    8.00/  22.72 GFLOPS | Progress: (12/20) | 15.60 s
    [Task  9/25]  Current/Best:    9.74/  22.72 GFLOPS | Progress: (16/20) | 26.75 s
    [Task  9/25]  Current/Best:    8.64/  22.72 GFLOPS | Progress: (20/20) | 35.82 s
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:   10.19/  13.45 GFLOPS | Progress: (4/20) | 4.97 s
    [Task 10/25]  Current/Best:   10.13/  17.86 GFLOPS | Progress: (8/20) | 7.52 s
    [Task 10/25]  Current/Best:   12.32/  17.86 GFLOPS | Progress: (12/20) | 10.34 s
    [Task 10/25]  Current/Best:   20.70/  20.70 GFLOPS | Progress: (16/20) | 12.01 s Done.
-
    [Task 10/25]  Current/Best:    5.51/  20.70 GFLOPS | Progress: (20/20) | 14.00 s Done.
-
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   13.32/  23.21 GFLOPS | Progress: (4/20) | 5.37 s
    [Task 11/25]  Current/Best:   16.61/  23.21 GFLOPS | Progress: (8/20) | 8.26 s
    [Task 11/25]  Current/Best:    6.34/  23.21 GFLOPS | Progress: (12/20) | 10.97 s
    [Task 11/25]  Current/Best:   14.94/  23.21 GFLOPS | Progress: (16/20) | 13.27 s
    [Task 11/25]  Current/Best:   14.35/  23.21 GFLOPS | Progress: (20/20) | 15.69 s Done.
-
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:   14.18/  15.23 GFLOPS | Progress: (4/20) | 5.26 s
    [Task 12/25]  Current/Best:    2.96/  15.23 GFLOPS | Progress: (8/20) | 7.87 s
    [Task 12/25]  Current/Best:   10.67/  19.77 GFLOPS | Progress: (12/20) | 9.78 s
    [Task 12/25]  Current/Best:   19.63/  19.77 GFLOPS | Progress: (16/20) | 12.55 s
    [Task 12/25]  Current/Best:   13.74/  19.77 GFLOPS | Progress: (20/20) | 14.99 s Done.
-
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:   18.43/  19.22 GFLOPS | Progress: (4/20) | 5.43 s
    [Task 13/25]  Current/Best:   14.20/  19.22 GFLOPS | Progress: (8/20) | 9.33 s
    [Task 13/25]  Current/Best:   16.89/  19.22 GFLOPS | Progress: (12/20) | 12.67 s
    [Task 13/25]  Current/Best:   11.91/  19.22 GFLOPS | Progress: (16/20) | 17.49 s
    [Task 13/25]  Current/Best:   16.54/  21.80 GFLOPS | Progress: (20/20) | 20.18 s Done.
-
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:   14.64/  16.04 GFLOPS | Progress: (4/20) | 5.15 s
    [Task 14/25]  Current/Best:   11.82/  19.03 GFLOPS | Progress: (8/20) | 10.07 s
    [Task 14/25]  Current/Best:    7.29/  19.03 GFLOPS | Progress: (12/20) | 16.00 s
    [Task 14/25]  Current/Best:   10.21/  19.03 GFLOPS | Progress: (16/20) | 18.42 s
    [Task 14/25]  Current/Best:   14.94/  19.03 GFLOPS | Progress: (20/20) | 21.77 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   15.92/  15.92 GFLOPS | Progress: (4/20) | 5.97 s
    [Task 15/25]  Current/Best:   14.53/  15.92 GFLOPS | Progress: (8/20) | 8.29 s
    [Task 15/25]  Current/Best:   16.79/  18.66 GFLOPS | Progress: (12/20) | 10.79 s Done.
-
    [Task 15/25]  Current/Best:   19.36/  20.18 GFLOPS | Progress: (16/20) | 13.63 s
    [Task 15/25]  Current/Best:   19.93/  20.18 GFLOPS | Progress: (20/20) | 15.29 s Done.
-
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:   16.92/  18.57 GFLOPS | Progress: (4/20) | 4.56 s
    [Task 16/25]  Current/Best:   19.02/  19.02 GFLOPS | Progress: (8/20) | 6.49 s
    [Task 16/25]  Current/Best:    5.12/  19.02 GFLOPS | Progress: (12/20) | 10.29 s
    [Task 16/25]  Current/Best:   19.37/  19.37 GFLOPS | Progress: (16/20) | 11.93 s
    [Task 16/25]  Current/Best:   13.10/  19.37 GFLOPS | Progress: (20/20) | 13.69 s Done.
-
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   10.30/  17.28 GFLOPS | Progress: (4/20) | 6.36 s
    [Task 17/25]  Current/Best:   13.70/  17.28 GFLOPS | Progress: (8/20) | 10.35 s
    [Task 17/25]  Current/Best:    7.61/  17.28 GFLOPS | Progress: (12/20) | 13.54 s
    [Task 17/25]  Current/Best:   19.28/  19.28 GFLOPS | Progress: (16/20) | 15.91 s
    [Task 17/25]  Current/Best:   18.59/  22.42 GFLOPS | Progress: (20/20) | 18.26 s Done.
-
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:   16.16/  16.16 GFLOPS | Progress: (4/20) | 7.69 s
    [Task 18/25]  Current/Best:    3.05/  18.92 GFLOPS | Progress: (8/20) | 10.81 s
    [Task 18/25]  Current/Best:   15.52/  18.92 GFLOPS | Progress: (12/20) | 13.33 s
    [Task 18/25]  Current/Best:   20.36/  20.36 GFLOPS | Progress: (16/20) | 15.69 s
    [Task 18/25]  Current/Best:    3.08/  20.36 GFLOPS | Progress: (20/20) | 20.10 s Done.
-
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:   10.08/  13.90 GFLOPS | Progress: (4/20) | 8.79 s
    [Task 19/25]  Current/Best:   19.30/  21.66 GFLOPS | Progress: (8/20) | 11.11 s
    [Task 19/25]  Current/Best:   12.51/  21.66 GFLOPS | Progress: (12/20) | 13.61 s
    [Task 19/25]  Current/Best:   18.03/  21.66 GFLOPS | Progress: (16/20) | 17.98 s
    [Task 19/25]  Current/Best:   10.62/  21.66 GFLOPS | Progress: (20/20) | 20.77 s Done.
-
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:    7.33/  16.20 GFLOPS | Progress: (4/20) | 5.62 s
    [Task 20/25]  Current/Best:   10.10/  17.04 GFLOPS | Progress: (8/20) | 9.08 s
    [Task 20/25]  Current/Best:   10.18/  17.04 GFLOPS | Progress: (12/20) | 10.82 s
    [Task 20/25]  Current/Best:   15.52/  17.82 GFLOPS | Progress: (16/20) | 16.07 s
    [Task 20/25]  Current/Best:   10.36/  17.82 GFLOPS | Progress: (20/20) | 18.58 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 21/25]  Current/Best:   16.85/  16.85 GFLOPS | Progress: (4/20) | 6.41 s
    [Task 21/25]  Current/Best:    8.77/  16.85 GFLOPS | Progress: (8/20) | 9.12 s
    [Task 21/25]  Current/Best:    2.29/  16.85 GFLOPS | Progress: (12/20) | 12.00 s
    [Task 21/25]  Current/Best:   21.01/  21.01 GFLOPS | Progress: (16/20) | 13.77 s
    [Task 21/25]  Current/Best:    8.86/  21.01 GFLOPS | Progress: (20/20
 ) | 16.31 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s Done.
+
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:    5.27/  17.37 GFLOPS | Progress: (4/20) | 11.68 s
    [Task  1/25]  Current/Best:    6.65/  23.12 GFLOPS | Progress: (8/20) | 15.45 s
    [Task  1/25]  Current/Best:   22.13/  23.12 GFLOPS | Progress: (12/20) | 17.52 s
    [Task  1/25]  Current/Best:   13.52/  23.12 GFLOPS | Progress: (16/20) | 20.74 s
    [Task  1/25]  Current/Best:   13.55/  23.12 GFLOPS | Progress: (20/20) | 23.22 s Done.
+
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:   10.16/  12.33 GFLOPS | Progress: (4/20) | 6.04 s
    [Task  2/25]  Current/Best:    3.47/  12.33 GFLOPS | Progress: (8/20) | 8.13 s
    [Task  2/25]  Current/Best:   19.99/  19.99 GFLOPS | Progress: (12/20) | 10.63 s
    [Task  2/25]  Current/Best:    8.96/  19.99 GFLOPS | Progress: (16/20) | 12.24 s
    [Task  2/25]  Current/Best:    6.66/  19.99 GFLOPS | Progress: (20/20) | 14.12 s Done.
+
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  3/25]  Current/Best:    6.04/  14.78 GFLOPS | Progress: (4/20) | 6.11 s
    [Task  3/25]  Current/Best:   17.23/  17.23 GFLOPS | Progress: (8/20) | 8.65 s
    [Task  3/25]  Current/Best:    6.97/  17.23 GFLOPS | Progress: (12/20) | 11.05 s
    [Task  3/25]  Current/Best:    1.63/  17.23 GFLOPS | Progress: (16/20) | 14.69 s
    [Task  3/25]  Current/Best:   17.20/  22.00 GFLOPS | Progress: (20/20) | 16.71 s Done.
+
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:    3.33/  21.51 GFLOPS | Progress: (4/20) | 4.98 s
    [Task  4/25]  Current/Best:   12.50/  21.51 GFLOPS | Progress: (8/20) | 7.51 s
    [Task  4/25]  Current/Best:   14.53/  21.51 GFLOPS | Progress: (12/20) | 10.45 s
    [Task  4/25]  Current/Best:    6.40/  21.51 GFLOPS | Progress: (16/20) | 12.93 s
    [Task  4/25]  Current/Best:   13.22/  21.51 GFLOPS | Progress: (20/20) | 15.61 s Done.
+
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:   15.31/  15.31 GFLOPS | Progress: (4/20) | 5.13 s
    [Task  5/25]  Current/Best:   18.04/  18.39 GFLOPS | Progress: (8/20) | 6.82 s
    [Task  5/25]  Current/Best:   10.60/  18.39 GFLOPS | Progress: (12/20) | 9.05 s
    [Task  5/25]  Current/Best:   14.22/  19.55 GFLOPS | Progress: (16/20) | 10.95 s
    [Task  5/25]  Current/Best:   10.80/  19.55 GFLOPS | Progress: (20/20) | 13.15 s Done.
+
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:   18.53/  18.53 GFLOPS | Progress: (4/20) | 6.24 s
    [Task  6/25]  Current/Best:   17.90/  18.53 GFLOPS | Progress: (8/20) | 8.98 s
    [Task  6/25]  Current/Best:   13.75/  18.53 GFLOPS | Progress: (12/20) | 12.95 s
    [Task  6/25]  Current/Best:    3.77/  18.53 GFLOPS | Progress: (16/20) | 15.52 s
    [Task  6/25]  Current/Best:   15.09/  19.21 GFLOPS | Progress: (20/20) | 17.55 s Done.
+
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   10.65/  11.50 GFLOPS | Progress: (4/20) | 7.03 s
    [Task  7/25]  Current/Best:    8.08/  16.64 GFLOPS | Progress: (8/20) | 10.17 s
    [Task  7/25]  Current/Best:    7.97/  21.64 GFLOPS | Progress: (12/20) | 12.34 s
    [Task  7/25]  Current/Best:   21.53/  21.64 GFLOPS | Progress: (16/20) | 14.21 s
    [Task  7/25]  Current/Best:    6.88/  21.64 GFLOPS | Progress: (20/20) | 16.60 s Done.
+
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:    5.38/  13.96 GFLOPS | Progress: (4/20) | 5.31 s
    [Task  8/25]  Current/Best:    4.62/  13.96 GFLOPS | Progress: (8/20) | 8.19 s
    [Task  8/25]  Current/Best:   11.05/  13.96 GFLOPS | Progress: (12/20) | 15.22 s
    [Task  8/25]  Current/Best:   20.32/  20.32 GFLOPS | Progress: (16/20) | 17.35 s
    [Task  8/25]  Current/Best:    2.71/  20.32 GFLOPS | Progress: (20/20) | 20.40 s Done.
+
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:   12.35/  16.93 GFLOPS | Progress: (4/20) | 8.59 s
    [Task  9/25]  Current/Best:    7.27/  16.93 GFLOPS | Progress: (8/20) | 19.85 s
    [Task  9/25]  Current/Best:    3.23/  16.93 GFLOPS | Progress: (12/20) | 28.24 s
    [Task  9/25]  Current/Best:   11.63/  16.93 GFLOPS | Progress: (16/20) | 31.10 s
    [Task  9/25]  Current/Best:   21.22/  21.22 GFLOPS | Progress: (20/20) | 38.74 s
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:    5.87/  16.24 GFLOPS | Progress: (4/20) | 4.81 s Done.
+
    [Task 10/25]  Current/Best:    6.46/  16.24 GFLOPS | Progress: (8/20) | 6.94 s
    [Task 10/25]  Current/Best:   13.21/  19.02 GFLOPS | Progress: (12/20) | 8.50 s
    [Task 10/25]  Current/Best:   15.90/  19.02 GFLOPS | Progress: (16/20) | 11.18 s
    [Task 10/25]  Current/Best:    5.31/  19.02 GFLOPS | Progress: (20/20) | 13.32 s Done.
+
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   14.41/  21.05 GFLOPS | Progress: (4/20) | 5.06 s
    [Task 11/25]  Current/Best:   17.33/  21.05 GFLOPS | Progress: (8/20) | 7.56 s
    [Task 11/25]  Current/Best:   17.53/  21.09 GFLOPS | Progress: (12/20) | 9.72 s
    [Task 11/25]  Current/Best:    5.96/  21.09 GFLOPS | Progress: (16/20) | 12.22 s
    [Task 11/25]  Current/Best:   19.28/  21.09 GFLOPS | Progress: (20/20) | 15.00 s Done.
+
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:   13.99/  13.99 GFLOPS | Progress: (4/20) | 7.20 s
    [Task 12/25]  Current/Best:   14.06/  14.44 GFLOPS | Progress: (8/20) | 10.18 s
    [Task 12/25]  Current/Best:   15.64/  18.24 GFLOPS | Progress: (12/20) | 12.79 s
    [Task 12/25]  Current/Best:   13.52/  18.24 GFLOPS | Progress: (16/20) | 16.00 s
    [Task 12/25]  Current/Best:   11.71/  18.24 GFLOPS | Progress: (20/20) | 22.13 s Done.
+
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:    5.93/  17.31 GFLOPS | Progress: (4/20) | 5.93 s
    [Task 13/25]  Current/Best:   15.12/  17.31 GFLOPS | Progress: (8/20) | 8.62 s
    [Task 13/25]  Current/Best:    8.83/  17.31 GFLOPS | Progress: (12/20) | 12.57 s
    [Task 13/25]  Current/Best:   18.79/  18.79 GFLOPS | Progress: (16/20) | 15.71 s
    [Task 13/25]  Current/Best:    6.19/  18.79 GFLOPS | Progress: (20/20) | 19.17 s Done.
+
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:    2.76/  12.38 GFLOPS | Progress: (4/20) | 6.13 s
    [Task 14/25]  Current/Best:    6.17/  14.38 GFLOPS | Progress: (8/20) | 9.05 s
    [Task 14/25]  Current/Best:   18.19/  18.37 GFLOPS | Progress: (12/20) | 11.41 s
    [Task 14/25]  Current/Best:   18.14/  18.37 GFLOPS | Progress: (16/20) | 13.88 s
    [Task 14/25]  Current/Best:   13.42/  18.37 GFLOPS | Progress: (20/20) | 17.64 s Done.
+
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   22.99/  22.99 GFLOPS | Progress: (4/20) | 4.67 s
    [Task 15/25]  Current/Best:   14.24/  22.99 GFLOPS | Progress: (8/20) | 7.60 s
    [Task 15/25]  Current/Best:   14.21/  22.99 GFLOPS | Progress: (12/20) | 9.68 s
    [Task 15/25]  Current/Best:   21.21/  22.99 GFLOPS | Progress: (16/20) | 12.47 s
    [Task 15/25]  Current/Best:    6.16/  22.99 GFLOPS | Progress: (20/20) | 14.71 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:    3.08/  18.21 GFLOPS | Progress: (4/20) | 6.16 s
    [Task 16/25]  Current/Best:   18.52/  18.81 GFLOPS | Progress: (8/20) | 9.13 s
    [Task 16/25]  Current/Best:    9.45/  18.81 GFLOPS | Progress: (12/20) | 11.43 s
    [Task 16/25]  Current/Best:   18.46/  18.81 GFLOPS | Progress: (16/20) | 13.13 s
    [Task 16/25]  Current/Best:   15.01/  18.81 GFLOPS | Progress: (20/20)
  | 15.09 s Done.
+
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   13.41/  22.72 GFLOPS | Progress: (4/20) | 6.10 s
    [Task 17/25]  Current/Best:    9.17/  22.72 GFLOPS | Progress: (8/20) | 9.47 s
    [Task 17/25]  Current/Best:   11.75/  22.72 GFLOPS | Progress: (12/20) | 11.98 s
    [Task 17/25]  Current/Best:    5.08/  22.72 GFLOPS | Progress: (16/20) | 15.52 s
    [Task 17/25]  Current/Best:    3.09/  22.72 GFLOPS | Progress: (20/20) | 18.25 s Done.
+
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:    6.09/   9.08 GFLOPS | Progress: (4/20) | 7.35 s
    [Task 18/25]  Current/Best:    5.92/  15.23 GFLOPS | Progress: (8/20) | 11.27 s
    [Task 18/25]  Current/Best:    8.90/  17.74 GFLOPS | Progress: (12/20) | 15.83 s
    [Task 18/25]  Current/Best:   16.17/  19.05 GFLOPS | Progress: (16/20) | 22.00 s
    [Task 18/25]  Current/Best:   10.06/  19.05 GFLOPS | Progress: (20/20) | 29.26 s Done.
+
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:   18.09/  18.09 GFLOPS | Progress: (4/20) | 7.06 s
    [Task 19/25]  Current/Best:   10.46/  18.09 GFLOPS | Progress: (8/20) | 11.49 s
    [Task 19/25]  Current/Best:    6.43/  19.60 GFLOPS | Progress: (12/20) | 14.72 s
    [Task 19/25]  Current/Best:   18.74/  20.40 GFLOPS | Progress: (16/20) | 18.34 s
    [Task 19/25]  Current/Best:   18.20/  20.40 GFLOPS | Progress: (20/20) | 21.89 s Done.
+
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:   10.44/  14.03 GFLOPS | Progress: (4/20) | 5.12 s Done.
+
    [Task 20/25]  Current/Best:   17.33/  18.43 GFLOPS | Progress: (8/20) | 9.54 s
    [Task 20/25]  Current/Best:   17.12/  19.60 GFLOPS | Progress: (12/20) | 11.42 s
    [Task 20/25]  Current/Best:   14.02/  19.60 GFLOPS | Progress: (16/20) | 15.28 s
    [Task 20/25]  Current/Best:    6.70/  19.60 GFLOPS | Progress: (20/20) | 19.18 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 21/25]  Current/Best:   19.02/  19.02 GFLOPS | Progress: (4/20) | 4.42 s
    [Task 21/25]  Current/Best:   15.58/  19.02 GFLOPS | Progress: (8/20) | 7.12 s
    [Task 21/25]  Current/Best:   18.28/  19.02 GFLOPS | Progress: (12/20) | 10.12 s
    [Task 21/25]  Current/Best:    7.06/  19.02 GFLOPS | Progress: (16/20) | 12.31 s
    [Task 21/25]  Current/Best:   12.99/  19.02 GFLOPS | Progress: (20/20) | 13.80 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:   11.56/  17.97 GFLOPS | Progress: (4/2
 0) | 6.68 s
    [Task 22/25]  Current/Best:   16.72/  17.97 GFLOPS | Progress: (8/20) | 8.66 s
    [Task 22/25]  Current/Best:    9.94/  17.97 GFLOPS | Progress: (12/20) | 11.80 s Done.
      Done.
-
    [Task 22/25]  Current/Best:   18.51/  18.51 GFLOPS | Progress: (4/20) | 6.59 s
    [Task 22/25]  Current/Best:    5.09/  18.51 GFLOPS | Progress: (8/20) | 8.62 s
    [Task 22/25]  Current/Best:   17.65/  18.51 GFLOPS | Progress: (12/20) | 13.54 s
    [Task 22/25]  Current/Best:   16.39/  18.68 GFLOPS | Progress: (16/20) | 15.32 s
    [Task 22/25]  Current/Best:   16.21/  18.68 GFLOPS | Progress: (20/20) | 17.22 s Done.
-
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:   17.98/  22.26 GFLOPS | Progress: (4/20) | 5.45 s
    [Task 23/25]  Current/Best:    9.88/  22.26 GFLOPS | Progress: (8/20) | 11.21 s
    [Task 23/25]  Current/Best:   21.90/  22.26 GFLOPS | Progress: (12/20) | 14.23 s
    [Task 23/25]  Current/Best:   16.83/  22.26 GFLOPS | Progress: (16/20) | 17.14 s
    [Task 23/25]  Current/Best:   10.60/  22.26 GFLOPS | Progress: (20/20) | 20.33 s Done.
-
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    8.15/   8.15 GFLOPS | Progress: (4/20) | 8.73 s
    [Task 24/25]  Current/Best:    0.58/   8.15 GFLOPS | Progress: (8/20) | 19.33 s
    [Task 24/25]  Current/Best:    1.46/   8.15 GFLOPS | Progress: (12/20) | 30.04 s
    [Task 24/25]  Current/Best:    3.13/   9.02 GFLOPS | Progress: (16/20) | 38.10 s
    [Task 24/25]  Current/Best:    2.92/   9.02 GFLOPS | Progress: (20/20) | 49.08 s
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 25/25]  Current/Best:    6.84/   8.82 GFLOPS | Progress: (4/20) | 8.74 s Done.
-
    [Task 25/25]  Current/Best:    1.54/   8.82 GFLOPS | Progress: (8/20) | 19.75 s
    [Task 25/25]  Current/Best:    5.82/   8.82 GFLOPS | Progress: (12/20) | 30.71 s
    [Task 25/25]  Current/Best:    6.08/   8.82 GFLOPS | Progress: (16/20) | 36.65 s
    [Task 25/25]  Current/Best:    9.14/   9.14 GFLOPS | Progress: (20/20) | 47.61 s
+
    [Task 22/25]  Current/Best:   16.73/  18.67 GFLOPS | Progress: (16/20) | 13.55 s
    [Task 22/25]  Current/Best:   12.92/  18.67 GFLOPS | Progress: (20/20) | 16.65 s Done.
+
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:    5.59/  12.94 GFLOPS | Progress: (4/20) | 9.11 s
    [Task 23/25]  Current/Best:    6.13/  12.94 GFLOPS | Progress: (8/20) | 12.39 s
    [Task 23/25]  Current/Best:   10.34/  18.68 GFLOPS | Progress: (12/20) | 16.99 s
    [Task 23/25]  Current/Best:    3.08/  18.68 GFLOPS | Progress: (16/20) | 20.32 s
    [Task 23/25]  Current/Best:   11.85/  18.68 GFLOPS | Progress: (20/20) | 23.34 s Done.
+
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    3.32/  10.14 GFLOPS | Progress: (4/20) | 7.83 s
    [Task 24/25]  Current/Best:    1.62/  10.14 GFLOPS | Progress: (8/20) | 18.51 s
    [Task 24/25]  Current/Best:    1.89/  10.14 GFLOPS | Progress: (12/20) | 31.50 s
    [Task 24/25]  Current/Best:    7.78/  10.14 GFLOPS | Progress: (16/20) | 34.11 s
    [Task 24/25]  Current/Best:    4.08/  10.14 GFLOPS | Progress: (20/20) | 45.10 s
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 25/25]  Current/Best:    5.59/   8.90 GFLOPS | Progress: (4/20) | 5.67 s Done.
+
    [Task 25/25]  Current/Best:    8.24/   8.95 GFLOPS | Progress: (8/20) | 16.61 s
    [Task 25/25]  Current/Best:    2.72/   8.95 GFLOPS | Progress: (12/20) | 23.33 s
    [Task 25/25]  Current/Best:    8.09/   9.65 GFLOPS | Progress: (16/20) | 34.26 s
    [Task 25/25]  Current/Best:    9.21/   9.65 GFLOPS | Progress: (20/20) | 45.21 s
 
 
 
@@ -665,8 +665,8 @@ Verify that the optimized model runs and produces the same results:
 
  .. code-block:: none
 
-    class='n02123045 tabby, tabby cat' with probability=0.621103
-    class='n02123159 tiger cat' with probability=0.356379
+    class='n02123045 tabby, tabby cat' with probability=0.621104
+    class='n02123159 tiger cat' with probability=0.356378
     class='n02124075 Egyptian cat' with probability=0.019712
     class='n02129604 tiger, Panthera tigris' with probability=0.001215
     class='n04040759 radiator' with probability=0.000262
@@ -723,8 +723,8 @@ improvement in comparing the optimized model to the unoptimized model.
 
  .. code-block:: none
 
-    optimized: {'mean': 421.3164858299979, 'median': 420.6254196499913, 'std': 3.334471429194748}
-    unoptimized: {'mean': 520.5685730000016, 'median': 520.362483599996, 'std': 2.1258809472709643}
+    optimized: {'mean': 421.38074306000135, 'median': 420.7405058499944, 'std': 4.408706496771825}
+    unoptimized: {'mean': 509.35657655999756, 'median': 508.95062829999347, 'std': 1.4660641184821586}
 
 
 
@@ -747,7 +747,7 @@ profiling/benchmarking.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 12 minutes  48.770 seconds)
+   **Total running time of the script:** ( 12 minutes  38.397 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 ace56df8bc..fa6269ec29 100644
--- a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
@@ -274,7 +274,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    1.232e-07 secs/op
+    1.353e-07 secs/op
 
 
 
diff --git a/docs/_sources/tutorial/intro_topi.rst.txt b/docs/_sources/tutorial/intro_topi.rst.txt
index 834f7dd155..96b1d85ba9 100644
--- a/docs/_sources/tutorial/intro_topi.rst.txt
+++ b/docs/_sources/tutorial/intro_topi.rst.txt
@@ -270,7 +270,7 @@ As you can see, scheduled stages of computation have been accumulated and we can
 
  .. code-block:: none
 
-    [stage(a, placeholder(a, 0x22ebc8e0)), stage(b, placeholder(b, 0x4892740)), stage(T_add, compute(T_add, body=[a[ax0, ax1, ax2] + b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T.Range(0, 10), "DataPar", ""), T.iter_var(ax2, T.Range(0, 10), "DataPar", "")], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[a[ax0, ax1, ax2] * b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T. [...]
+    [stage(a, placeholder(a, 0x247bee40)), stage(b, placeholder(b, 0x103486b0)), stage(T_add, compute(T_add, body=[a[ax0, ax1, ax2] + b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T.Range(0, 10), "DataPar", ""), T.iter_var(ax2, T.Range(0, 10), "DataPar", "")], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[a[ax0, ax1, ax2] * b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T [...]
 
 
 
diff --git a/docs/_sources/tutorial/sg_execution_times.rst.txt b/docs/_sources/tutorial/sg_execution_times.rst.txt
index 381e2f2550..92a473d91c 100644
--- a/docs/_sources/tutorial/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorial/sg_execution_times.rst.txt
@@ -5,24 +5,24 @@
 
 Computation times
 =================
-**16:39.793** total execution time for **tutorial** files:
+**16:21.787** total execution time for **tutorial** files:
 
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)                 | 12:48.770 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)                 | 12:38.397 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:35.410 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:36.586 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)     | 00:59.997 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)     | 00:58.414 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)                 | 00:37.595 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)                 | 00:37.171 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)               | 00:35.208 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)               | 00:28.683 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)       | 00:01.772 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)       | 00:01.519 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)                               | 00:00.854 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)                               | 00:00.845 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.187 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.171 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_tutorial_uma.py` (``uma.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 8cbec10463..5a679f7320 100644
--- a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
+++ b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
@@ -286,7 +286,7 @@ helper function to run a profile of the TVM generated code.
  .. code-block:: none
 
     Numpy running time: 0.000008
-    naive: 0.000007
+    naive: 0.000008
 
 
 
@@ -498,10 +498,10 @@ We can now compare the different schedules
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                   numpy    7.889309999882244e-06                    1.0
-                   naive    6.9904999999999985e-06     0.886072419527733
-                parallel    6.967199999999999e-06     0.8831190560523027
-                  vector             2.45975e-05       3.117826527334728
+                   numpy    8.28836999971827e-06                     1.0
+                   naive              7.8446e-06      0.9464587126620367
+                parallel    6.965399999999999e-06     0.8403823671284898
+                  vector    2.4687899999999998e-05     2.978619439146559
 
 
 
@@ -922,7 +922,7 @@ matrix multiplication.
 
  .. code-block:: none
 
-    Numpy running time: 0.019642
+    Numpy running time: 0.018819
 
 
 
@@ -980,7 +980,7 @@ optimizations.
 
  .. code-block:: none
 
-    none: 3.285315
+    none: 3.200368
 
 
 
@@ -1080,7 +1080,7 @@ schedule.
 
  .. code-block:: none
 
-    blocking: 0.322082
+    blocking: 0.299997
 
 
 
@@ -1164,7 +1164,7 @@ already cache friendly from our previous optimizations.
 
  .. code-block:: none
 
-    vectorization: 0.348261
+    vectorization: 0.338025
     # from tvm.script import ir as I
     # from tvm.script import tir as T
 
@@ -1230,7 +1230,7 @@ more cache friendly.
 
  .. code-block:: none
 
-    loop permutation: 0.119549
+    loop permutation: 0.118160
     # from tvm.script import ir as I
     # from tvm.script import tir as T
 
@@ -1321,7 +1321,7 @@ optimized schedule.
 
  .. code-block:: none
 
-    array packing: 0.108302
+    array packing: 0.109923
     # from tvm.script import ir as I
     # from tvm.script import tir as T
 
@@ -1404,7 +1404,7 @@ to `C` when all the block results are ready.
 
  .. code-block:: none
 
-    block caching: 0.111038
+    block caching: 0.111022
     # from tvm.script import ir as I
     # from tvm.script import tir as T
 
@@ -1478,7 +1478,7 @@ of thread-level parallelization.
 
  .. code-block:: none
 
-    parallelization: 0.148003
+    parallelization: 0.146543
     # from tvm.script import ir as I
     # from tvm.script import tir as T
 
@@ -1548,13 +1548,13 @@ working, we can compare the results.
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                    none      3.2853149384999996                     1.0
-                blocking            0.3220824068     0.09803699579165934
-           vectorization            0.3482614198     0.10600548998173318
-        loop permutation     0.11954908949999998     0.03638892822694904
-           array packing            0.1083020786    0.032965508825600835
-           block caching            0.1110375271     0.03379813782805773
-         parallelization     0.14800312610000002    0.045049905068637014
+                    none      3.2003681018999997                     1.0
+                blocking     0.29999666269999997     0.09373817421873987
+           vectorization            0.3380245563     0.10562052412012263
+        loop permutation            0.1181604115     0.03692088151667627
+           array packing     0.10992314630000002    0.034347032216306826
+           block caching            0.1110223328    0.034690488489148505
+         parallelization     0.14654285420000002     0.04578937470130396
 
 
 
diff --git a/docs/commit_hash b/docs/commit_hash
index 354eda9634..86af4530ea 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-1113de2ce1a0883b811bbd33562548394c19430d
+5239ec05e9d248cbdd3f00dab713678cde7a6377
diff --git a/docs/genindex.html b/docs/genindex.html
index 503269e86e..0ee0f0339e 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -1935,6 +1935,8 @@
       <li><a href="reference/api/python/autotvm.html#tvm.autotvm.task.space.ConfigEntity.get_other_option">get_other_option() (tvm.autotvm.task.space.ConfigEntity method)</a>
 </li>
       <li><a href="reference/api/python/graph_executor.html#tvm.contrib.graph_executor.GraphModule.get_output">get_output() (tvm.contrib.graph_executor.GraphModule method)</a>
+</li>
+      <li><a href="reference/api/python/tir.html#tvm.tir.Schedule.get_output_blocks">get_output_blocks() (tvm.tir.Schedule method)</a>
 </li>
       <li><a href="reference/api/python/target.html#tvm.target.GenericFunc.get_packed_func">get_packed_func() (tvm.target.GenericFunc method)</a>
 </li>
diff --git a/docs/how_to/compile_models/from_darknet.html b/docs/how_to/compile_models/from_darknet.html
index 744329c319..7cb14f3834 100644
--- a/docs/how_to/compile_models/from_darknet.html
+++ b/docs/how_to/compile_models/from_darknet.html
@@ -590,7 +590,7 @@ class:[&#39;truck 0.9266&#39;] left:471 top:83 right:689 bottom:169
 class:[&#39;bicycle 0.9984&#39;] left:111 top:113 right:577 bottom:447
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  24.372 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  22.950 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 e1394f0dda..0198373b39 100644
--- a/docs/how_to/compile_models/from_mxnet.html
+++ b/docs/how_to/compile_models/from_mxnet.html
@@ -444,7 +444,7 @@
 <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.zip2288ded7-afcb-4aa8-8ef5-c9dabc8fc1d8 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.zipf99c1b85-012b-4980-be7f-9b3aefbd2168 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 5b385b13d4..982a5650f2 100644
--- a/docs/how_to/compile_models/from_oneflow.html
+++ b/docs/how_to/compile_models/from_oneflow.html
@@ -454,15 +454,14 @@ Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdo
 <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]
- 15%|#5        | 6.33M/41.5M [00:00&lt;00:00, 60.1MB/s]
- 29%|##9       | 12.1M/41.5M [00:00&lt;00:00, 37.5MB/s]
- 39%|###8      | 16.1M/41.5M [00:00&lt;00:01, 26.3MB/s]
- 54%|#####3    | 22.3M/41.5M [00:00&lt;00:00, 21.2MB/s]
- 60%|#####9    | 24.7M/41.5M [00:01&lt;00:00, 19.9MB/s]
- 77%|#######7  | 32.0M/41.5M [00:01&lt;00:00, 23.7MB/s]
- 85%|########4 | 35.3M/41.5M [00:01&lt;00:00, 25.5MB/s]
- 96%|#########6| 40.0M/41.5M [00:01&lt;00:00, 28.7MB/s]
-100%|##########| 41.5M/41.5M [00:01&lt;00:00, 27.4MB/s]
+ 15%|#5        | 6.33M/41.5M [00:00&lt;00:00, 49.3MB/s]
+ 27%|##6       | 11.0M/41.5M [00:00&lt;00:01, 30.5MB/s]
+ 35%|###4      | 14.3M/41.5M [00:00&lt;00:00, 31.1MB/s]
+ 42%|####2     | 17.5M/41.5M [00:00&lt;00:00, 29.9MB/s]
+ 58%|#####7    | 24.0M/41.5M [00:00&lt;00:00, 34.1MB/s]
+ 77%|#######7  | 32.0M/41.5M [00:00&lt;00:00, 39.7MB/s]
+ 92%|#########2| 38.3M/41.5M [00:01&lt;00:00, 30.7MB/s]
+100%|##########| 41.5M/41.5M [00:01&lt;00:00, 33.7MB/s]
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/compile_models/from_pytorch.html b/docs/how_to/compile_models/from_pytorch.html
index 23c99b0d4c..bda965a9e6 100644
--- a/docs/how_to/compile_models/from_pytorch.html
+++ b/docs/how_to/compile_models/from_pytorch.html
@@ -437,12 +437,11 @@ be unstable.</p>
 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]
- 18%|#7        | 7.99M/44.7M [00:00&lt;00:00, 54.3MB/s]
- 39%|###8      | 17.4M/44.7M [00:00&lt;00:00, 75.5MB/s]
- 58%|#####8    | 26.1M/44.7M [00:00&lt;00:00, 81.3MB/s]
- 76%|#######6  | 34.1M/44.7M [00:00&lt;00:00, 69.3MB/s]
- 92%|#########2| 41.1M/44.7M [00:00&lt;00:00, 65.7MB/s]
-100%|##########| 44.7M/44.7M [00:00&lt;00:00, 70.4MB/s]
+ 18%|#7        | 7.99M/44.7M [00:00&lt;00:00, 56.6MB/s]
+ 36%|###5      | 16.0M/44.7M [00:00&lt;00:00, 61.3MB/s]
+ 72%|#######1  | 32.0M/44.7M [00:00&lt;00:00, 86.3MB/s]
+ 90%|########9 | 40.1M/44.7M [00:00&lt;00:00, 84.4MB/s]
+100%|##########| 44.7M/44.7M [00:00&lt;00:00, 70.7MB/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 32a00fd57b..a6775ff128 100644
--- a/docs/how_to/compile_models/from_tensorflow.html
+++ b/docs/how_to/compile_models/from_tensorflow.html
@@ -657,7 +657,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  33.207 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  33.011 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 683d61f571..a45cafe668 100644
--- a/docs/how_to/compile_models/sg_execution_times.html
+++ b/docs/how_to/compile_models/sg_execution_times.html
@@ -345,7 +345,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>07:02.563</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
+<p><strong>06:56.534</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 81%" />
@@ -354,43 +354,43 @@
 </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:33.207</p></td>
+<td><p>01:33.011</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><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>01:24.372</p></td>
+<td><p>01:22.950</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <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>00:57.844</p></td>
+<td><p>00:56.989</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:39.671</p></td>
+<td><p>00:38.695</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:33.672</p></td>
+<td><p>00:32.820</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:31.054</p></td>
+<td><p>00:30.848</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:28.246</p></td>
+<td><p>00:28.464</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:26.959</p></td>
+<td><p>00:26.885</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:24.735</p></td>
+<td><p>00:23.139</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.803</p></td>
+<td><p>00:02.733</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/deploy_models/deploy_model_on_adreno.html b/docs/how_to/deploy_models/deploy_model_on_adreno.html
index 4bee8da369..e876b197c7 100644
--- a/docs/how_to/deploy_models/deploy_model_on_adreno.html
+++ b/docs/how_to/deploy_models/deploy_model_on_adreno.html
@@ -799,10 +799,9 @@ Top5 predictions:
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
- 3339.2031    3338.9055    3342.2977    3337.2060      1.5223
+ 2558.9181    2558.5411    2562.7793    2557.7647      1.3580
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  5.522 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-model-on-adreno-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/2387d8448da213eb625e6b3d916327d4/deploy_model_on_adreno.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_model_on_adreno.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_model_on_adreno_tvmc.html b/docs/how_to/deploy_models/deploy_model_on_adreno_tvmc.html
index 544692f953..c808dc667b 100644
--- a/docs/how_to/deploy_models/deploy_model_on_adreno_tvmc.html
+++ b/docs/how_to/deploy_models/deploy_model_on_adreno_tvmc.html
@@ -443,26 +443,25 @@ to run this tutorial with a real device over rpc.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/resnet/resnet50_weights_tf_dim_ordering_tf_kernels.h5
 
      8192/102967424 [..............................] - ETA: 0s
-  7413760/102967424 [=&gt;............................] - ETA: 0s
- 12394496/102967424 [==&gt;...........................] - ETA: 0s
- 16769024/102967424 [===&gt;..........................] - ETA: 0s
- 23511040/102967424 [=====&gt;........................] - ETA: 0s
- 25444352/102967424 [======&gt;.......................] - ETA: 0s
- 33546240/102967424 [========&gt;.....................] - ETA: 0s
- 35741696/102967424 [=========&gt;....................] - ETA: 0s
- 43909120/102967424 [===========&gt;..................] - ETA: 0s
- 50323456/102967424 [=============&gt;................] - ETA: 0s
- 56500224/102967424 [===============&gt;..............] - ETA: 0s
- 60907520/102967424 [================&gt;.............] - ETA: 0s
- 67239936/102967424 [==================&gt;...........] - ETA: 0s
- 73064448/102967424 [====================&gt;.........] - ETA: 0s
- 78389248/102967424 [=====================&gt;........] - ETA: 0s
- 83361792/102967424 [=======================&gt;......] - ETA: 0s
- 88416256/102967424 [========================&gt;.....] - ETA: 0s
+  7643136/102967424 [=&gt;............................] - ETA: 0s
+ 12689408/102967424 [==&gt;...........................] - ETA: 0s
+ 17350656/102967424 [====&gt;.........................] - ETA: 0s
+ 22708224/102967424 [=====&gt;........................] - ETA: 0s
+ 25157632/102967424 [======&gt;.......................] - ETA: 0s
+ 30605312/102967424 [=======&gt;......................] - ETA: 0s
+ 38526976/102967424 [==========&gt;...................] - ETA: 0s
+ 40189952/102967424 [==========&gt;...................] - ETA: 0s
+ 44130304/102967424 [===========&gt;..................] - ETA: 0s
+ 52625408/102967424 [==============&gt;...............] - ETA: 0s
+ 64823296/102967424 [=================&gt;............] - ETA: 0s
+ 67313664/102967424 [==================&gt;...........] - ETA: 0s
+ 74899456/102967424 [====================&gt;.........] - ETA: 0s
+ 79986688/102967424 [======================&gt;.......] - ETA: 0s
+ 83886080/102967424 [=======================&gt;......] - ETA: 0s
+ 89325568/102967424 [=========================&gt;....] - ETA: 0s
  92266496/102967424 [=========================&gt;....] - ETA: 0s
- 94461952/102967424 [==========================&gt;...] - ETA: 0s
- 96608256/102967424 [===========================&gt;..] - ETA: 0s
-100433920/102967424 [============================&gt;.] - ETA: 0s
+100646912/102967424 [============================&gt;.] - ETA: 0s
+102850560/102967424 [============================&gt;.] - ETA: 0s
 102967424/102967424 [==============================] - 1s 0us/step
 </pre></div>
 </div>
diff --git a/docs/how_to/deploy_models/deploy_model_on_android.html b/docs/how_to/deploy_models/deploy_model_on_android.html
index 56de05229e..3fc6dd4850 100644
--- a/docs/how_to/deploy_models/deploy_model_on_android.html
+++ b/docs/how_to/deploy_models/deploy_model_on_android.html
@@ -667,7 +667,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.8593      17.0326      17.2877      16.2326       0.4023
+  15.7801      15.7841      15.9218      15.6153       0.0960
 </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 a24055e207..509b765be3 100644
--- a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
+++ b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
@@ -459,37 +459,34 @@ be unstable.</p>
 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]
-  4%|3         | 6.30M/170M [00:00&lt;00:02, 65.3MB/s]
-  7%|7         | 12.5M/170M [00:00&lt;00:03, 44.3MB/s]
- 10%|#         | 17.1M/170M [00:00&lt;00:06, 26.0MB/s]
- 12%|#1        | 20.3M/170M [00:00&lt;00:05, 26.7MB/s]
- 14%|#4        | 24.0M/170M [00:00&lt;00:06, 21.9MB/s]
- 19%|#8        | 32.0M/170M [00:01&lt;00:05, 28.4MB/s]
- 24%|##3       | 40.0M/170M [00:01&lt;00:04, 32.8MB/s]
- 27%|##7       | 46.3M/170M [00:01&lt;00:04, 27.3MB/s]
- 29%|##8       | 49.2M/170M [00:01&lt;00:04, 26.9MB/s]
- 33%|###3      | 56.1M/170M [00:01&lt;00:03, 35.0MB/s]
- 37%|###6      | 62.3M/170M [00:02&lt;00:02, 38.3MB/s]
- 39%|###9      | 66.5M/170M [00:02&lt;00:02, 37.6MB/s]
- 42%|####2     | 72.0M/170M [00:02&lt;00:02, 37.6MB/s]
- 46%|####6     | 78.3M/170M [00:02&lt;00:02, 41.2MB/s]
- 49%|####8     | 82.4M/170M [00:02&lt;00:02, 36.1MB/s]
- 51%|#####     | 86.3M/170M [00:02&lt;00:02, 31.5MB/s]
- 53%|#####2    | 89.5M/170M [00:02&lt;00:02, 30.3MB/s]
- 56%|#####5    | 94.3M/170M [00:03&lt;00:02, 32.7MB/s]
- 60%|######    | 102M/170M [00:03&lt;00:01, 36.3MB/s]
- 62%|######2   | 106M/170M [00:03&lt;00:02, 30.7MB/s]
- 66%|######5   | 112M/170M [00:03&lt;00:01, 35.2MB/s]
- 71%|#######   | 120M/170M [00:03&lt;00:01, 41.5MB/s]
- 74%|#######4  | 126M/170M [00:03&lt;00:01, 35.1MB/s]
- 76%|#######6  | 130M/170M [00:04&lt;00:01, 31.4MB/s]
- 80%|########  | 136M/170M [00:04&lt;00:01, 32.9MB/s]
- 85%|########4 | 144M/170M [00:04&lt;00:00, 36.7MB/s]
- 89%|########9 | 152M/170M [00:04&lt;00:00, 40.3MB/s]
- 93%|#########3| 158M/170M [00:04&lt;00:00, 42.7MB/s]
- 96%|#########5| 162M/170M [00:04&lt;00:00, 39.1MB/s]
- 99%|#########8| 168M/170M [00:05&lt;00:00, 41.7MB/s]
-100%|##########| 170M/170M [00:05&lt;00:00, 35.1MB/s]
+  4%|3         | 6.30M/170M [00:00&lt;00:02, 60.4MB/s]
+  8%|7         | 13.0M/170M [00:00&lt;00:02, 65.7MB/s]
+ 11%|#1        | 19.2M/170M [00:00&lt;00:03, 50.1MB/s]
+ 14%|#4        | 24.3M/170M [00:00&lt;00:03, 47.1MB/s]
+ 18%|#7        | 30.3M/170M [00:00&lt;00:02, 51.5MB/s]
+ 22%|##1       | 37.3M/170M [00:00&lt;00:02, 58.1MB/s]
+ 25%|##5       | 43.1M/170M [00:00&lt;00:02, 58.7MB/s]
+ 29%|##8       | 48.9M/170M [00:00&lt;00:02, 46.7MB/s]
+ 33%|###2      | 56.0M/170M [00:01&lt;00:02, 52.3MB/s]
+ 37%|###6      | 62.3M/170M [00:01&lt;00:02, 49.1MB/s]
+ 40%|###9      | 67.3M/170M [00:01&lt;00:02, 48.6MB/s]
+ 42%|####2     | 72.1M/170M [00:01&lt;00:02, 46.1MB/s]
+ 47%|####7     | 80.0M/170M [00:01&lt;00:01, 52.1MB/s]
+ 51%|#####     | 86.3M/170M [00:01&lt;00:01, 52.3MB/s]
+ 54%|#####3    | 91.4M/170M [00:01&lt;00:01, 49.1MB/s]
+ 57%|#####6    | 96.1M/170M [00:02&lt;00:01, 44.3MB/s]
+ 61%|######    | 103M/170M [00:02&lt;00:01, 51.4MB/s]
+ 64%|######3   | 108M/170M [00:02&lt;00:01, 49.8MB/s]
+ 67%|######6   | 113M/170M [00:02&lt;00:01, 48.1MB/s]
+ 69%|######9   | 118M/170M [00:02&lt;00:01, 48.2MB/s]
+ 72%|#######2  | 122M/170M [00:02&lt;00:01, 38.7MB/s]
+ 75%|#######5  | 128M/170M [00:02&lt;00:01, 38.4MB/s]
+ 80%|########  | 136M/170M [00:02&lt;00:00, 43.9MB/s]
+ 85%|########4 | 144M/170M [00:03&lt;00:00, 48.2MB/s]
+ 89%|########9 | 152M/170M [00:03&lt;00:00, 47.2MB/s]
+ 94%|#########4| 160M/170M [00:03&lt;00:00, 49.8MB/s]
+ 99%|#########8| 168M/170M [00:03&lt;00:00, 56.9MB/s]
+100%|##########| 170M/170M [00:03&lt;00:00, 50.3MB/s]
 /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torch/nn/functional.py:3897: 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)
 /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/detection/anchor_utils.py:124: 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=& [...]
@@ -587,7 +584,7 @@ torchvision rcnn models.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Get 9 valid boxes
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes  47.683 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes  37.665 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 a25f73847b..d1ef3f6634 100644
--- a/docs/how_to/deploy_models/deploy_prequantized.html
+++ b/docs/how_to/deploy_models/deploy_prequantized.html
@@ -500,9 +500,8 @@ training. Other models require a full post training calibration.</p>
 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]
- 47%|####6     | 6.30M/13.6M [00:00&lt;00:00, 50.4MB/s]
- 82%|########2 | 11.1M/13.6M [00:00&lt;00:00, 39.1MB/s]
-100%|##########| 13.6M/13.6M [00:00&lt;00:00, 35.1MB/s]
+ 59%|#####8    | 7.99M/13.6M [00:00&lt;00:00, 35.4MB/s]
+100%|##########| 13.6M/13.6M [00:00&lt;00:00, 48.5MB/s]
 </pre></div>
 </div>
 </div>
@@ -593,7 +592,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.5986      90.5090      94.8426      90.1934       0.4970
+  90.3574      90.3433      90.8663      90.0979       0.1445
 </pre></div>
 </div>
 <div class="admonition note">
@@ -632,7 +631,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  19.802 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  17.818 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 5fa27da7e4..1fb5cfdaac 100644
--- a/docs/how_to/deploy_models/deploy_prequantized_tflite.html
+++ b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
@@ -585,7 +585,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.7283     120.6278     122.4289     119.9723      0.4042
+  120.9266     120.9304     122.1458     119.3036      0.4708
 </pre></div>
 </div>
 <div class="admonition note">
@@ -613,7 +613,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  29.499 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  40.023 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 6e5ac3be9c..9388305ff6 100644
--- a/docs/how_to/deploy_models/deploy_quantized.html
+++ b/docs/how_to/deploy_models/deploy_quantized.html
@@ -526,7 +526,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  50.366 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  43.356 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 9cfb2b8dcd..2ea1939ff4 100644
--- a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
+++ b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
@@ -468,27 +468,23 @@ to your device.</p>
 Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
 
   0%|          | 0/132723 [00:00&lt;?, ?KB/s]
-  1%|          | 1236/132723 [00:00&lt;00:10, 12214.32KB/s]
-  3%|2         | 3766/132723 [00:00&lt;00:06, 19864.11KB/s]
-  7%|6         | 8905/132723 [00:00&lt;00:03, 34216.20KB/s]
- 12%|#2        | 16414/132723 [00:00&lt;00:02, 50322.03KB/s]
- 18%|#8        | 23941/132723 [00:00&lt;00:01, 59302.54KB/s]
- 24%|##3       | 31498/132723 [00:00&lt;00:01, 64825.43KB/s]
- 29%|##8       | 38401/132723 [00:00&lt;00:01, 66197.25KB/s]
- 35%|###4      | 46063/132723 [00:00&lt;00:01, 69512.43KB/s]
- 41%|####      | 53770/132723 [00:00&lt;00:01, 71873.10KB/s]
- 46%|####6     | 61403/132723 [00:01&lt;00:00, 73247.67KB/s]
- 52%|#####2    | 69149/132723 [00:01&lt;00:00, 74534.49KB/s]
- 58%|#####7    | 76884/132723 [00:01&lt;00:00, 75388.12KB/s]
- 64%|######3   | 84424/132723 [00:01&lt;00:00, 67462.54KB/s]
- 69%|######8   | 91325/132723 [00:01&lt;00:00, 59714.93KB/s]
- 73%|#######3  | 97540/132723 [00:01&lt;00:00, 55724.87KB/s]
- 78%|#######7  | 103302/132723 [00:01&lt;00:00, 43836.11KB/s]
- 84%|########3 | 110833/132723 [00:01&lt;00:00, 50797.08KB/s]
- 88%|########7 | 116628/132723 [00:02&lt;00:00, 52514.65KB/s]
- 92%|#########2| 122326/132723 [00:02&lt;00:00, 53585.64KB/s]
- 98%|#########8| 130358/132723 [00:02&lt;00:00, 60724.57KB/s]
-100%|##########| 132723/132723 [00:02&lt;00:00, 58656.95KB/s]
+  1%|1         | 1331/132723 [00:00&lt;00:09, 13179.86KB/s]
+  3%|3         | 4243/132723 [00:00&lt;00:05, 22480.18KB/s]
+  8%|7         | 10614/132723 [00:00&lt;00:02, 41245.65KB/s]
+ 15%|#4        | 19323/132723 [00:00&lt;00:01, 59306.31KB/s]
+ 21%|##1       | 28084/132723 [00:00&lt;00:01, 69498.00KB/s]
+ 28%|##7       | 36873/132723 [00:00&lt;00:01, 75743.83KB/s]
+ 35%|###4      | 45803/132723 [00:00&lt;00:01, 80169.49KB/s]
+ 41%|####1     | 54648/132723 [00:00&lt;00:00, 82801.16KB/s]
+ 48%|####7     | 63499/132723 [00:00&lt;00:00, 84583.76KB/s]
+ 55%|#####4    | 72437/132723 [00:01&lt;00:00, 86060.90KB/s]
+ 61%|######1   | 81299/132723 [00:01&lt;00:00, 86834.87KB/s]
+ 68%|######7   | 90111/132723 [00:01&lt;00:00, 87224.18KB/s]
+ 75%|#######4  | 98994/132723 [00:01&lt;00:00, 87708.56KB/s]
+ 81%|########1 | 107822/132723 [00:01&lt;00:00, 87879.02KB/s]
+ 88%|########7 | 116664/132723 [00:01&lt;00:00, 88034.69KB/s]
+ 95%|#########4| 125468/132723 [00:01&lt;00:00, 87954.46KB/s]
+100%|##########| 132723/132723 [00:01&lt;00:00, 78681.29KB/s]
 </pre></div>
 </div>
 <p>Create TVM runtime and do inference
@@ -527,7 +523,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> ( 4 minutes  5.269 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> ( 3 minutes  59.144 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 f9efd88541..5cf459e97f 100644
--- a/docs/how_to/deploy_models/sg_execution_times.html
+++ b/docs/how_to/deploy_models/sg_execution_times.html
@@ -345,7 +345,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>17:13.916</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
+<p><strong>16:47.218</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 86%" />
@@ -354,43 +354,43 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><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>04:05.269</p></td>
+<td><p>03:59.144</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><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>03:47.683</p></td>
+<td><p>03:37.665</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:29.499</p></td>
+<td><p>02:40.023</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:50.366</p></td>
+<td><p>01:43.356</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:19.802</p></td>
+<td><p>01:17.818</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="deploy_model_on_adreno.html#sphx-glr-how-to-deploy-models-deploy-model-on-adreno-py"><span class="std std-ref">Deploy the Pretrained Model on Adreno™</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_adreno.py</span></code>)</p></td>
-<td><p>01:05.522</p></td>
+<td><p>00:55.481</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="deploy_model_on_adreno_tvmc.html#sphx-glr-how-to-deploy-models-deploy-model-on-adreno-tvmc-py"><span class="std std-ref">Deploy the Pretrained Model on Adreno™ with tvmc Interface</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_adreno_tvmc.py</span></code>)</p></td>
-<td><p>00:52.658</p></td>
+<td><p>00:52.112</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:45.109</p></td>
+<td><p>00:43.673</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="deploy_model_on_nano.html#sphx-glr-how-to-deploy-models-deploy-model-on-nano-py"><span class="std std-ref">Deploy the Pretrained Model on Jetson Nano</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_nano.py</span></code>)</p></td>
-<td><p>00:29.246</p></td>
+<td><p>00:29.292</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><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:28.755</p></td>
+<td><p>00:28.649</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><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 8f5146eca0..b5fe402cef 100644
--- a/docs/how_to/extend_tvm/bring_your_own_datatypes.html
+++ b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
@@ -624,7 +624,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.zip02a2260f-9058-42f4-9a1f-43fc46fb0b87 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.zip44b787e6-68dc-44b3-ba48-7ecf045ac893 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 69b0b2a15c..4195a67040 100644
--- a/docs/how_to/extend_tvm/sg_execution_times.html
+++ b/docs/how_to/extend_tvm/sg_execution_times.html
@@ -345,7 +345,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:57.310</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
+<p><strong>00:55.245</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 84%" />
@@ -354,15 +354,15 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="bring_your_own_datatypes.html#sphx-glr-how-to-extend-tvm-bring-your-own-datatypes-py"><span class="std std-ref">Bring Your Own Datatypes to TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">bring_your_own_datatypes.py</span></code>)</p></td>
-<td><p>00:53.295</p></td>
+<td><p>00:51.380</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.880</p></td>
+<td><p>00:02.784</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:01.127</p></td>
+<td><p>00:01.074</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="low_level_custom_pass.html#sphx-glr-how-to-extend-tvm-low-level-custom-pass-py"><span class="std std-ref">Writing a Customized Pass</span></a> (<code class="docutils literal notranslate"><span class="pre">low_level_custom_pass.py</span></code>)</p></td>
diff --git a/docs/how_to/extend_tvm/use_pass_instrument.html b/docs/how_to/extend_tvm/use_pass_instrument.html
index b006d539bc..cca917a0c0 100644
--- a/docs/how_to/extend_tvm/use_pass_instrument.html
+++ b/docs/how_to/extend_tvm/use_pass_instrument.html
@@ -531,10 +531,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: 22693us [22693us] (48.52%; 48.52%)
-FoldScaleAxis: 24081us [9us] (51.48%; 51.48%)
-        FoldConstant: 24072us [1791us] (51.46%; 99.96%)
-                InferType: 22280us [22280us] (47.63%; 92.56%)
+InferType: 23061us [23061us] (48.72%; 48.72%)
+FoldScaleAxis: 24273us [10us] (51.28%; 51.28%)
+        FoldConstant: 24264us [1756us] (51.26%; 99.96%)
+                InferType: 22507us [22507us] (47.55%; 92.76%)
 </pre></div>
 </div>
 </div>
@@ -556,10 +556,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: 22481us [22481us] (48.39%; 48.39%)
-FoldScaleAxis: 23979us [8us] (51.61%; 51.61%)
-        FoldConstant: 23971us [1844us] (51.60%; 99.97%)
-                InferType: 22127us [22127us] (47.63%; 92.31%)
+InferType: 22352us [22352us] (47.49%; 47.49%)
+FoldScaleAxis: 24719us [7us] (52.51%; 52.51%)
+        FoldConstant: 24712us [1821us] (52.50%; 99.97%)
+                InferType: 22891us [22891us] (48.63%; 92.63%)
 </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 a48774fe70..4ecbb138ab 100644
--- a/docs/how_to/optimize_operators/opt_conv_cuda.html
+++ b/docs/how_to/optimize_operators/opt_conv_cuda.html
@@ -580,7 +580,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: 53.537921 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 34.283519 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 25466acce3..b47b2a7457 100644
--- a/docs/how_to/optimize_operators/opt_conv_tensorcore.html
+++ b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
@@ -862,7 +862,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: 12.219993 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 11.150541 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 b03ddf1c54..6847c30363 100644
--- a/docs/how_to/optimize_operators/opt_gemm.html
+++ b/docs/how_to/optimize_operators/opt_gemm.html
@@ -477,8 +477,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.019174
-Baseline: 3.210235
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.018940
+Baseline: 3.198221
 </pre></div>
 </div>
 <p>In TVM, we can always inspect lower level IR to debug or optimize our schedule.
@@ -537,7 +537,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.325425
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.290675
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -594,7 +594,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.354215
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.339132
 </pre></div>
 </div>
 <p>Here is the generated IR after vectorization.</p>
@@ -649,7 +649,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.119072
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.118303
 </pre></div>
 </div>
 <p>Here is the generated IR after loop permutation.</p>
@@ -726,7 +726,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.108427
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.110241
 </pre></div>
 </div>
 <p>Here is the generated IR after array packing.</p>
@@ -804,7 +804,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.111316
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.111996
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -884,7 +884,7 @@ class Module:
 <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.145005
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.147561
 </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 2fc2c4c8f0..853c85c511 100644
--- a/docs/how_to/optimize_operators/sg_execution_times.html
+++ b/docs/how_to/optimize_operators/sg_execution_times.html
@@ -345,7 +345,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:35.404</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
+<p><strong>00:34.824</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -354,15 +354,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.372</p></td>
+<td><p>00:31.823</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.914</p></td>
+<td><p>00:01.863</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.117</p></td>
+<td><p>00:01.138</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 657f9b2d7c..935aaa2290 100644
--- a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
+++ b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
@@ -345,7 +345,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>10:17.948</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
+<p><strong>10:09.517</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 85%" />
@@ -354,27 +354,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>06:18.063</p></td>
+<td><p>06:13.990</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:45.063</p></td>
+<td><p>01:43.127</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>01:12.634</p></td>
+<td><p>01:11.538</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:33.356</p></td>
+<td><p>00:32.857</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><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:14.675</p></td>
+<td><p>00:14.256</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><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:14.157</p></td>
+<td><p>00:13.750</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 3f9dec0cdc..8a1f0e7245 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
@@ -510,585 +510,500 @@ class Module:
     @T.prim_func
     def main(data: T.Buffer((1, 512, 7, 7), &quot;float32&quot;), kernel: T.Buffer((512, 512, 3, 3), &quot;float32&quot;), bias: T.Buffer((1, 512, 1, 1), &quot;float32&quot;), compute: T.Buffer((1, 512, 7, 7), &quot;float32&quot;)):
         T.func_attr({&quot;from_legacy_te_schedule&quot;: T.bool(True), &quot;global_symbol&quot;: &quot;main&quot;, &quot;tir.noalias&quot;: T.bool(True)})
-        blockIdx_x = T.launch_thread(&quot;blockIdx.x&quot;, 32)
-        conv2d_nchw = T.allocate([14], &quot;float32&quot;, &quot;local&quot;)
-        pad_temp_shared = T.allocate([324], &quot;float32&quot;, &quot;shared&quot;)
-        kernel_shared = T.allocate([576], &quot;float32&quot;, &quot;shared&quot;)
-        threadIdx_x = T.launch_thread(&quot;threadIdx.x&quot;, 56)
-        conv2d_nchw_1 = T.Buffer((4,), data=conv2d_nchw, scope=&quot;local&quot;, align=8)
+        blockIdx_x = T.launch_thread(&quot;blockIdx.x&quot;, 8)
+        conv2d_nchw = T.allocate([28], &quot;float32&quot;, &quot;local&quot;)
+        pad_temp_shared = T.allocate([1296], &quot;float32&quot;, &quot;shared&quot;)
+        kernel_shared = T.allocate([9216], &quot;float32&quot;, &quot;shared&quot;)
+        threadIdx_x = T.launch_thread(&quot;threadIdx.x&quot;, 112)
+        conv2d_nchw_1 = T.Buffer((196,), data=conv2d_nchw, scope=&quot;local&quot;, align=32)
         conv2d_nchw_1[0] = T.float32(0)
-        conv2d_nchw_1[2] = T.float32(0)
-        conv2d_nchw_1[4] = T.float32(0)
-        conv2d_nchw_1[6] = T.float32(0)
-        conv2d_nchw_1[8] = T.float32(0)
-        conv2d_nchw_1[10] = T.float32(0)
-        conv2d_nchw_1[12] = T.float32(0)
+        conv2d_nchw_1[14] = T.float32(0)
         conv2d_nchw_1[1] = T.float32(0)
+        conv2d_nchw_1[15] = T.float32(0)
+        conv2d_nchw_1[2] = T.float32(0)
+        conv2d_nchw_1[16] = T.float32(0)
         conv2d_nchw_1[3] = T.float32(0)
+        conv2d_nchw_1[17] = T.float32(0)
+        conv2d_nchw_1[4] = T.float32(0)
+        conv2d_nchw_1[18] = T.float32(0)
         conv2d_nchw_1[5] = T.float32(0)
+        conv2d_nchw_1[19] = T.float32(0)
+        conv2d_nchw_1[6] = T.float32(0)
+        conv2d_nchw_1[20] = T.float32(0)
         conv2d_nchw_1[7] = T.float32(0)
+        conv2d_nchw_1[21] = T.float32(0)
+        conv2d_nchw_1[8] = T.float32(0)
+        conv2d_nchw_1[22] = T.float32(0)
         conv2d_nchw_1[9] = T.float32(0)
+        conv2d_nchw_1[23] = T.float32(0)
+        conv2d_nchw_1[10] = T.float32(0)
+        conv2d_nchw_1[24] = T.float32(0)
         conv2d_nchw_1[11] = T.float32(0)
+        conv2d_nchw_1[25] = T.float32(0)
+        conv2d_nchw_1[12] = T.float32(0)
+        conv2d_nchw_1[26] = T.float32(0)
         conv2d_nchw_1[13] = T.float32(0)
-        for rc_outer_outer in range(128):
-            cse_var_2: T.int32 = rc_outer_outer * 196
-            cse_var_1: T.int32 = rc_outer_outer * 36
+        conv2d_nchw_1[27] = T.float32(0)
+        for rc_outer_outer in range(32):
+            cse_var_2: T.int32 = rc_outer_outer * 784
+            cse_var_1: T.int32 = rc_outer_outer * 144
             threadIdx_x_1 = T.env_thread(&quot;threadIdx.x&quot;)
-            pad_temp_shared_1 = T.Buffer((324,), data=pad_temp_shared, scope=&quot;shared&quot;)
+            pad_temp_shared_1 = T.Buffer((1296,), data=pad_temp_shared, scope=&quot;shared&quot;)
             data_1 = T.Buffer((25088,), data=data.data)
-            with T.launch_thread(threadIdx_x_1, 56):
-                pad_temp_shared_1[threadIdx_x_1] = T.if_then_else(9 &lt;= threadIdx_x_1 and 1 &lt;= threadIdx_x_1 % 9 and threadIdx_x_1 % 9 &lt; 8, data_1[cse_var_2 + threadIdx_x_1 // 9 * 7 + threadIdx_x_1 % 9 - 8], T.float32(0))
-            with T.launch_thread(threadIdx_x_1, 56):
-                pad_temp_shared_1[threadIdx_x_1 + 56] = T.if_then_else(9 &lt;= (threadIdx_x_1 + 56) % 81 and (threadIdx_x_1 + 56) % 81 &lt; 72 and 1 &lt;= (threadIdx_x_1 + 2) % 9 and (threadIdx_x_1 + 2) % 9 &lt; 8, data_1[cse_var_2 + (threadIdx_x_1 + 56) // 81 * 49 + (threadIdx_x_1 + 56) % 81 // 9 * 7 + (threadIdx_x_1 + 2) % 9 - 8], T.float32(0))
-            with T.launch_thread(threadIdx_x_1, 56):
+            with T.launch_thread(threadIdx_x_1, 112):
+                pad_temp_shared_1[threadIdx_x_1] = T.if_then_else(9 &lt;= threadIdx_x_1 % 81 and threadIdx_x_1 % 81 &lt; 72 and 1 &lt;= threadIdx_x_1 % 9 and threadIdx_x_1 % 9 &lt; 8, data_1[cse_var_2 + threadIdx_x_1 // 81 * 49 + threadIdx_x_1 % 81 // 9 * 7 + threadIdx_x_1 % 9 - 8], T.float32(0))
+            with T.launch_thread(threadIdx_x_1, 112):
                 pad_temp_shared_1[threadIdx_x_1 + 112] = T.if_then_else(9 &lt;= (threadIdx_x_1 + 31) % 81 and (threadIdx_x_1 + 31) % 81 &lt; 72 and 1 &lt;= (threadIdx_x_1 + 4) % 9 and (threadIdx_x_1 + 4) % 9 &lt; 8, data_1[cse_var_2 + (threadIdx_x_1 + 112) // 81 * 49 + (threadIdx_x_1 + 31) % 81 // 9 * 7 + (threadIdx_x_1 + 4) % 9 - 8], T.float32(0))
-            with T.launch_thread(threadIdx_x_1, 56):
-                pad_temp_shared_1[threadIdx_x_1 + 168] = T.if_then_else(3 &lt;= threadIdx_x_1 and 1 &lt;= (threadIdx_x_1 + 6) % 9 and (threadIdx_x_1 + 6) % 9 &lt; 8, data_1[cse_var_2 + (threadIdx_x_1 + 168) // 81 * 49 + (threadIdx_x_1 + 6) // 9 * 7 + (threadIdx_x_1 + 6) % 9 - 8], T.float32(0))
-            with T.launch_thread(threadIdx_x_1, 56):
+            with T.launch_thread(threadIdx_x_1, 112):
                 pad_temp_shared_1[threadIdx_x_1 + 224] = T.if_then_else(9 &lt;= (threadIdx_x_1 + 62) % 81 and (threadIdx_x_1 + 62) % 81 &lt; 72 and 1 &lt;= (threadIdx_x_1 + 8) % 9 and (threadIdx_x_1 + 8) % 9 &lt; 8, data_1[cse_var_2 + (threadIdx_x_1 + 224) // 81 * 49 + (threadIdx_x_1 + 62) % 81 // 9 * 7 + (threadIdx_x_1 + 8) % 9 - 8], T.float32(0))
-            with T.launch_thread(threadIdx_x_1, 56):
-                if T.likely(threadIdx_x_1 &lt; 44):
-                    pad_temp_shared_1[threadIdx_x_1 + 280] = T.if_then_else(threadIdx_x_1 &lt; 35 and 1 &lt;= (threadIdx_x_1 + 1) % 9 and (threadIdx_x_1 + 1) % 9 &lt; 8, data_1[cse_var_2 + (threadIdx_x_1 + 280) // 81 * 49 + (threadIdx_x_1 + 37) // 9 * 7 + (threadIdx_x_1 + 1) % 9 - 8], T.float32(0))
+            with T.launch_thread(threadIdx_x_1, 112):
+                pad_temp_shared_1[threadIdx_x_1 + 336] = T.if_then_else(9 &lt;= (threadIdx_x_1 + 12) % 81 and (threadIdx_x_1 + 12) % 81 &lt; 72 and 1 &lt;= (threadIdx_x_1 + 3) % 9 and (threadIdx_x_1 + 3) % 9 &lt; 8, data_1[cse_var_2 + (threadIdx_x_1 + 336) // 81 * 49 + (threadIdx_x_1 + 12) % 81 // 9 * 7 + (threadIdx_x_1 + 3) % 9 - 8], T.float32(0))
+            with T.launch_thread(threadIdx_x_1, 112):
+                pad_temp_shared_1[threadIdx_x_1 + 448] = T.if_then_else(9 &lt;= (threadIdx_x_1 + 43) % 81 and (threadIdx_x_1 + 43) % 81 &lt; 72 and 1 &lt;= (threadIdx_x_1 + 7) % 9 and (threadIdx_x_1 + 7) % 9 &lt; 8, data_1[cse_var_2 + (threadIdx_x_1 + 448) // 81 * 49 + (threadIdx_x_1 + 43) % 81 // 9 * 7 + (threadIdx_x_1 + 7) % 9 - 8], T.float32(0))
+            with T.launch_thread(threadIdx_x_1, 112):
+                pad_temp_shared_1[threadIdx_x_1 + 560] = T.if_then_else(9 &lt;= (threadIdx_x_1 + 74) % 81 and (threadIdx_x_1 + 74) % 81 &lt; 72 and 1 &lt;= (threadIdx_x_1 + 2) % 9 and (threadIdx_x_1 + 2) % 9 &lt; 8, data_1[cse_var_2 + (threadIdx_x_1 + 560) // 81 * 49 + (threadIdx_x_1 + 74) % 81 // 9 * 7 + (threadIdx_x_1 + 2) % 9 - 8], T.float32(0))
+            with T.launch_thread(threadIdx_x_1, 112):
+                pad_temp_shared_1[threadIdx_x_1 + 672] = T.if_then_else(9 &lt;= (threadIdx_x_1 + 24) % 81 and (threadIdx_x_1 + 24) % 81 &lt; 72 and 1 &lt;= (threadIdx_x_1 + 6) % 9 and (threadIdx_x_1 + 6) % 9 &lt; 8, data_1[cse_var_2 + (threadIdx_x_1 + 672) // 81 * 49 + (threadIdx_x_1 + 24) % 81 // 9 * 7 + (threadIdx_x_1 + 6) % 9 - 8], T.float32(0))
+            with T.launch_thread(threadIdx_x_1, 112):
+                pad_temp_shared_1[threadIdx_x_1 + 784] = T.if_then_else(9 &lt;= (threadIdx_x_1 + 55) % 81 and (threadIdx_x_1 + 55) % 81 &lt; 72 and 1 &lt;= (threadIdx_x_1 + 1) % 9 and (threadIdx_x_1 + 1) % 9 &lt; 8, data_1[cse_var_2 + (threadIdx_x_1 + 784) // 81 * 49 + (threadIdx_x_1 + 55) % 81 // 9 * 7 + (threadIdx_x_1 + 1) % 9 - 8], T.float32(0))
+            with T.launch_thread(threadIdx_x_1, 112):
+                pad_temp_shared_1[threadIdx_x_1 + 896] = T.if_then_else(9 &lt;= (threadIdx_x_1 + 5) % 81 and (threadIdx_x_1 + 5) % 81 &lt; 72 and 1 &lt;= (threadIdx_x_1 + 5) % 9 and (threadIdx_x_1 + 5) % 9 &lt; 8, data_1[cse_var_2 + (threadIdx_x_1 + 896) // 81 * 49 + (threadIdx_x_1 + 5) % 81 // 9 * 7 + (threadIdx_x_1 + 5) % 9 - 8], T.float32(0))
+            with T.launch_thread(threadIdx_x_1, 112):
+                pad_temp_shared_1[threadIdx_x_1 + 1008] = T.if_then_else(1 &lt;= (threadIdx_x_1 // 9 + 4) % 9 and (threadIdx_x_1 + 36) % 81 &lt; 72 and 1 &lt;= threadIdx_x_1 % 9 and threadIdx_x_1 % 9 &lt; 8, data_1[cse_var_2 + (threadIdx_x_1 + 1008) // 81 * 49 + (threadIdx_x_1 // 9 + 4) % 9 * 7 + threadIdx_x_1 % 9 - 8], T.float32(0))
+            with T.launch_thread(threadIdx_x_1, 112):
+                pad_temp_shared_1[threadIdx_x_1 + 1120] = T.if_then_else(9 &lt;= (threadIdx_x_1 + 67) % 81 and (threadIdx_x_1 + 67) % 81 &lt; 72 and 1 &lt;= (threadIdx_x_1 + 4) % 9 and (threadIdx_x_1 + 4) % 9 &lt; 8, data_1[cse_var_2 + (threadIdx_x_1 + 1120) // 81 * 49 + (threadIdx_x_1 + 67) % 81 // 9 * 7 + (threadIdx_x_1 + 4) % 9 - 8], T.float32(0))
+            with T.launch_thread(threadIdx_x_1, 112):
+                if T.likely(threadIdx_x_1 &lt; 64):
+                    pad_temp_shared_1[threadIdx_x_1 + 1232] = T.if_then_else(threadIdx_x_1 &lt; 55 and 1 &lt;= (threadIdx_x_1 + 8) % 9 and (threadIdx_x_1 + 8) % 9 &lt; 8, data_1[cse_var_2 + (threadIdx_x_1 + 1232) // 81 * 49 + (threadIdx_x_1 + 17) // 9 * 7 + (threadIdx_x_1 + 8) % 9 - 8], T.float32(0))
             threadIdx_x_2 = T.env_thread(&quot;threadIdx.x&quot;)
-            kernel_shared_1 = T.Buffer((576,), data=kernel_shared, scope=&quot;shared&quot;)
+            kernel_shared_1 = T.Buffer((9216,), data=kernel_shared, scope=&quot;shared&quot;)
             kernel_1 = T.Buffer((2359296,), data=kernel.data)
-            with T.launch_thread(threadIdx_x_2, 56):
-                kernel_shared_1[threadIdx_x_2] = kernel_1[blockIdx_x * 73728 + threadIdx_x_2 // 36 * 4608 + cse_var_1 + threadIdx_x_2 % 36]
-            with T.launch_thread(threadIdx_x_2, 56):
-                kernel_shared_1[threadIdx_x_2 + 56] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 56) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 20) % 36 // 3 * 3 + (threadIdx_x_2 + 2) % 3]
-            with T.launch_thread(threadIdx_x_2, 56):
-                kernel_shared_1[threadIdx_x_2 + 112] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 112) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 4) % 36 // 3 * 3 + (threadIdx_x_2 + 1) % 3]
-            with T.launch_thread(threadIdx_x_2, 56):
-                kernel_shared_1[threadIdx_x_2 + 168] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 168) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 // 3 + 8) % 12 * 3 + threadIdx_x_2 % 3]
-            with T.launch_thread(threadIdx_x_2, 56):
-                kernel_shared_1[threadIdx_x_2 + 224] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 224) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 8) % 36 // 3 * 3 + (threadIdx_x_2 + 2) % 3]
-            with T.launch_thread(threadIdx_x_2, 56):
-                kernel_shared_1[threadIdx_x_2 + 280] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 280) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 28) % 36 // 3 * 3 + (threadIdx_x_2 + 1) % 3]
-            with T.launch_thread(threadIdx_x_2, 56):
-                kernel_shared_1[threadIdx_x_2 + 336] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 336) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 // 3 + 4) % 12 * 3 + threadIdx_x_2 % 3]
-            with T.launch_thread(threadIdx_x_2, 56):
-                kernel_shared_1[threadIdx_x_2 + 392] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 392) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 32) % 36 // 3 * 3 + (threadIdx_x_2 + 2) % 3]
-            with T.launch_thread(threadIdx_x_2, 56):
-                kernel_shared_1[threadIdx_x_2 + 448] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 448) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 16) % 36 // 3 * 3 + (threadIdx_x_2 + 1) % 3]
-            with T.launch_thread(threadIdx_x_2, 56):
-                kernel_shared_1[threadIdx_x_2 + 504] = kernel_1[blockIdx_x * 73728 + threadIdx_x_2 // 36 * 4608 + cse_var_1 + threadIdx_x_2 % 36 + 64512]
-            with T.launch_thread(threadIdx_x_2, 56):
-                if T.likely(threadIdx_x_2 &lt; 16):
-                    kernel_shared_1[threadIdx_x_2 + 560] = kernel_1[blockIdx_x * 73728 + (threadIdx_x_2 + 560) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 20) // 3 * 3 + (threadIdx_x_2 + 2) % 3]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7] * kernel_shared_1[threadIdx_x // 7 * 72]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 72]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 72]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 72]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 72]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 72]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 72]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7] * kernel_shared_1[threadIdx_x // 7 * 72 + 36]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 72 + 36]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 72 + 36]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 72 + 36]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 72 + 36]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 72 + 36]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 72 + 36]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 1] * kernel_shared_1[threadIdx_x // 7 * 72 + 1]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 72 + 1]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 72 + 1]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 72 + 1]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 72 + 1]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 72 + 1]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 72 + 1]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 1] * kernel_shared_1[threadIdx_x // 7 * 72 + 37]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 72 + 37]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 72 + 37]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 72 + 37]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 72 + 37]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 72 + 37]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 72 + 37]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 2] * kernel_shared_1[threadIdx_x // 7 * 72 + 2]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 72 + 2]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 72 + 2]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 72 + 2]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 72 + 2]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 72 + 2]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 72 + 2]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 2] * kernel_shared_1[threadIdx_x // 7 * 72 + 38]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 72 + 38]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 72 + 38]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 72 + 38]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 72 + 38]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 72 + 38]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 72 + 38]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 81] * kernel_shared_1[threadIdx_x // 7 * 72 + 9]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 90] * kernel_shared_1[threadIdx_x // 7 * 72 + 9]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 99] * kernel_shared_1[threadIdx_x // 7 * 72 + 9]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 108] * kernel_shared_1[threadIdx_x // 7 * 72 + 9]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 117] * kernel_shared_1[threadIdx_x // 7 * 72 + 9]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 126] * kernel_shared_1[threadIdx_x // 7 * 72 + 9]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 135] * kernel_shared_1[threadIdx_x // 7 * 72 + 9]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 81] * kernel_shared_1[threadIdx_x // 7 * 72 + 45]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 90] * kernel_shared_1[threadIdx_x // 7 * 72 + 45]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 99] * kernel_shared_1[threadIdx_x // 7 * 72 + 45]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 108] * kernel_shared_1[threadIdx_x // 7 * 72 + 45]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 117] * kernel_shared_1[threadIdx_x // 7 * 72 + 45]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 126] * kernel_shared_1[threadIdx_x // 7 * 72 + 45]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 135] * kernel_shared_1[threadIdx_x // 7 * 72 + 45]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 82] * kernel_shared_1[threadIdx_x // 7 * 72 + 10]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 91] * kernel_shared_1[threadIdx_x // 7 * 72 + 10]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 100] * kernel_shared_1[threadIdx_x // 7 * 72 + 10]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 109] * kernel_shared_1[threadIdx_x // 7 * 72 + 10]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 118] * kernel_shared_1[threadIdx_x // 7 * 72 + 10]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 127] * kernel_shared_1[threadIdx_x // 7 * 72 + 10]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 136] * kernel_shared_1[threadIdx_x // 7 * 72 + 10]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 82] * kernel_shared_1[threadIdx_x // 7 * 72 + 46]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 91] * kernel_shared_1[threadIdx_x // 7 * 72 + 46]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 100] * kernel_shared_1[threadIdx_x // 7 * 72 + 46]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 109] * kernel_shared_1[threadIdx_x // 7 * 72 + 46]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 118] * kernel_shared_1[threadIdx_x // 7 * 72 + 46]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 127] * kernel_shared_1[threadIdx_x // 7 * 72 + 46]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 136] * kernel_shared_1[threadIdx_x // 7 * 72 + 46]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 83] * kernel_shared_1[threadIdx_x // 7 * 72 + 11]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 92] * kernel_shared_1[threadIdx_x // 7 * 72 + 11]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 101] * kernel_shared_1[threadIdx_x // 7 * 72 + 11]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 110] * kernel_shared_1[threadIdx_x // 7 * 72 + 11]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 119] * kernel_shared_1[threadIdx_x // 7 * 72 + 11]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 128] * kernel_shared_1[threadIdx_x // 7 * 72 + 11]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 137] * kernel_shared_1[threadIdx_x // 7 * 72 + 11]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 83] * kernel_shared_1[threadIdx_x // 7 * 72 + 47]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 92] * kernel_shared_1[threadIdx_x // 7 * 72 + 47]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 101] * kernel_shared_1[threadIdx_x // 7 * 72 + 47]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 110] * kernel_shared_1[threadIdx_x // 7 * 72 + 47]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 119] * kernel_shared_1[threadIdx_x // 7 * 72 + 47]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 128] * kernel_shared_1[threadIdx_x // 7 * 72 + 47]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 137] * kernel_shared_1[threadIdx_x // 7 * 72 + 47]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 72 + 3]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 72 + 3]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 72 + 3]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 72 + 3]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 72 + 3]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 72 + 3]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 72 + 3]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 72 + 39]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 72 + 39]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 72 + 39]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 72 + 39]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 72 + 39]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 72 + 39]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 72 + 39]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 72 + 4]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 72 + 4]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 72 + 4]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 72 + 4]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 72 + 4]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 72 + 4]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 72 + 4]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 72 + 40]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 72 + 40]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 72 + 40]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 72 + 40]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 72 + 40]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 72 + 40]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 72 + 40]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 72 + 5]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 72 + 5]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 72 + 5]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 72 + 5]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 72 + 5]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 72 + 5]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 72 + 5]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 72 + 41]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 72 + 41]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 72 + 41]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 72 + 41]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 72 + 41]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 72 + 41]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 72 + 41]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 90] * kernel_shared_1[threadIdx_x // 7 * 72 + 12]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 99] * kernel_shared_1[threadIdx_x // 7 * 72 + 12]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 108] * kernel_shared_1[threadIdx_x // 7 * 72 + 12]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 117] * kernel_shared_1[threadIdx_x // 7 * 72 + 12]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 126] * kernel_shared_1[threadIdx_x // 7 * 72 + 12]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 135] * kernel_shared_1[threadIdx_x // 7 * 72 + 12]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 144] * kernel_shared_1[threadIdx_x // 7 * 72 + 12]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 90] * kernel_shared_1[threadIdx_x // 7 * 72 + 48]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 99] * kernel_shared_1[threadIdx_x // 7 * 72 + 48]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 108] * kernel_shared_1[threadIdx_x // 7 * 72 + 48]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 117] * kernel_shared_1[threadIdx_x // 7 * 72 + 48]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 126] * kernel_shared_1[threadIdx_x // 7 * 72 + 48]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 135] * kernel_shared_1[threadIdx_x // 7 * 72 + 48]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 144] * kernel_shared_1[threadIdx_x // 7 * 72 + 48]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 91] * kernel_shared_1[threadIdx_x // 7 * 72 + 13]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 100] * kernel_shared_1[threadIdx_x // 7 * 72 + 13]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 109] * kernel_shared_1[threadIdx_x // 7 * 72 + 13]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 118] * kernel_shared_1[threadIdx_x // 7 * 72 + 13]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 127] * kernel_shared_1[threadIdx_x // 7 * 72 + 13]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 136] * kernel_shared_1[threadIdx_x // 7 * 72 + 13]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 145] * kernel_shared_1[threadIdx_x // 7 * 72 + 13]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 91] * kernel_shared_1[threadIdx_x // 7 * 72 + 49]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 100] * kernel_shared_1[threadIdx_x // 7 * 72 + 49]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 109] * kernel_shared_1[threadIdx_x // 7 * 72 + 49]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 118] * kernel_shared_1[threadIdx_x // 7 * 72 + 49]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 127] * kernel_shared_1[threadIdx_x // 7 * 72 + 49]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 136] * kernel_shared_1[threadIdx_x // 7 * 72 + 49]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 145] * kernel_shared_1[threadIdx_x // 7 * 72 + 49]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 92] * kernel_shared_1[threadIdx_x // 7 * 72 + 14]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 101] * kernel_shared_1[threadIdx_x // 7 * 72 + 14]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 110] * kernel_shared_1[threadIdx_x // 7 * 72 + 14]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 119] * kernel_shared_1[threadIdx_x // 7 * 72 + 14]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 128] * kernel_shared_1[threadIdx_x // 7 * 72 + 14]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 137] * kernel_shared_1[threadIdx_x // 7 * 72 + 14]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 146] * kernel_shared_1[threadIdx_x // 7 * 72 + 14]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 92] * kernel_shared_1[threadIdx_x // 7 * 72 + 50]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 101] * kernel_shared_1[threadIdx_x // 7 * 72 + 50]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 110] * kernel_shared_1[threadIdx_x // 7 * 72 + 50]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 119] * kernel_shared_1[threadIdx_x // 7 * 72 + 50]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 128] * kernel_shared_1[threadIdx_x // 7 * 72 + 50]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 137] * kernel_shared_1[threadIdx_x // 7 * 72 + 50]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 146] * kernel_shared_1[threadIdx_x // 7 * 72 + 50]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 72 + 6]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 72 + 6]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 72 + 6]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 72 + 6]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 72 + 6]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 72 + 6]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 72] * kernel_shared_1[threadIdx_x // 7 * 72 + 6]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 72 + 42]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 72 + 42]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 72 + 42]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 72 + 42]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 72 + 42]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 72 + 42]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 72] * kernel_shared_1[threadIdx_x // 7 * 72 + 42]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 72 + 7]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 72 + 7]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 72 + 7]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 72 + 7]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 72 + 7]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 72 + 7]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 73] * kernel_shared_1[threadIdx_x // 7 * 72 + 7]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 72 + 43]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 72 + 43]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 72 + 43]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 72 + 43]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 72 + 43]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 72 + 43]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 73] * kernel_shared_1[threadIdx_x // 7 * 72 + 43]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 72 + 8]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 72 + 8]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 72 + 8]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 72 + 8]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 72 + 8]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 72 + 8]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 74] * kernel_shared_1[threadIdx_x // 7 * 72 + 8]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 72 + 44]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 72 + 44]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 72 + 44]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 72 + 44]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 72 + 44]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 72 + 44]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 74] * kernel_shared_1[threadIdx_x // 7 * 72 + 44]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 99] * kernel_shared_1[threadIdx_x // 7 * 72 + 15]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 108] * kernel_shared_1[threadIdx_x // 7 * 72 + 15]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 117] * kernel_shared_1[threadIdx_x // 7 * 72 + 15]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 126] * kernel_shared_1[threadIdx_x // 7 * 72 + 15]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 135] * kernel_shared_1[threadIdx_x // 7 * 72 + 15]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 144] * kernel_shared_1[threadIdx_x // 7 * 72 + 15]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 153] * kernel_shared_1[threadIdx_x // 7 * 72 + 15]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 99] * kernel_shared_1[threadIdx_x // 7 * 72 + 51]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 108] * kernel_shared_1[threadIdx_x // 7 * 72 + 51]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 117] * kernel_shared_1[threadIdx_x // 7 * 72 + 51]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 126] * kernel_shared_1[threadIdx_x // 7 * 72 + 51]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 135] * kernel_shared_1[threadIdx_x // 7 * 72 + 51]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 144] * kernel_shared_1[threadIdx_x // 7 * 72 + 51]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 153] * kernel_shared_1[threadIdx_x // 7 * 72 + 51]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 100] * kernel_shared_1[threadIdx_x // 7 * 72 + 16]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 109] * kernel_shared_1[threadIdx_x // 7 * 72 + 16]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 118] * kernel_shared_1[threadIdx_x // 7 * 72 + 16]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 127] * kernel_shared_1[threadIdx_x // 7 * 72 + 16]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 136] * kernel_shared_1[threadIdx_x // 7 * 72 + 16]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 145] * kernel_shared_1[threadIdx_x // 7 * 72 + 16]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 154] * kernel_shared_1[threadIdx_x // 7 * 72 + 16]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 100] * kernel_shared_1[threadIdx_x // 7 * 72 + 52]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 109] * kernel_shared_1[threadIdx_x // 7 * 72 + 52]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 118] * kernel_shared_1[threadIdx_x // 7 * 72 + 52]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 127] * kernel_shared_1[threadIdx_x // 7 * 72 + 52]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 136] * kernel_shared_1[threadIdx_x // 7 * 72 + 52]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 145] * kernel_shared_1[threadIdx_x // 7 * 72 + 52]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 154] * kernel_shared_1[threadIdx_x // 7 * 72 + 52]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 101] * kernel_shared_1[threadIdx_x // 7 * 72 + 17]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 110] * kernel_shared_1[threadIdx_x // 7 * 72 + 17]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 119] * kernel_shared_1[threadIdx_x // 7 * 72 + 17]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 128] * kernel_shared_1[threadIdx_x // 7 * 72 + 17]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 137] * kernel_shared_1[threadIdx_x // 7 * 72 + 17]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 146] * kernel_shared_1[threadIdx_x // 7 * 72 + 17]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 155] * kernel_shared_1[threadIdx_x // 7 * 72 + 17]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 101] * kernel_shared_1[threadIdx_x // 7 * 72 + 53]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 110] * kernel_shared_1[threadIdx_x // 7 * 72 + 53]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 119] * kernel_shared_1[threadIdx_x // 7 * 72 + 53]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 128] * kernel_shared_1[threadIdx_x // 7 * 72 + 53]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 137] * kernel_shared_1[threadIdx_x // 7 * 72 + 53]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 146] * kernel_shared_1[threadIdx_x // 7 * 72 + 53]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 155] * kernel_shared_1[threadIdx_x // 7 * 72 + 53]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 162] * kernel_shared_1[threadIdx_x // 7 * 72 + 18]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 171] * kernel_shared_1[threadIdx_x // 7 * 72 + 18]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 180] * kernel_shared_1[threadIdx_x // 7 * 72 + 18]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 189] * kernel_shared_1[threadIdx_x // 7 * 72 + 18]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 198] * kernel_shared_1[threadIdx_x // 7 * 72 + 18]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 207] * kernel_shared_1[threadIdx_x // 7 * 72 + 18]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 216] * kernel_shared_1[threadIdx_x // 7 * 72 + 18]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 162] * kernel_shared_1[threadIdx_x // 7 * 72 + 54]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 171] * kernel_shared_1[threadIdx_x // 7 * 72 + 54]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 180] * kernel_shared_1[threadIdx_x // 7 * 72 + 54]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 189] * kernel_shared_1[threadIdx_x // 7 * 72 + 54]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 198] * kernel_shared_1[threadIdx_x // 7 * 72 + 54]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 207] * kernel_shared_1[threadIdx_x // 7 * 72 + 54]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 216] * kernel_shared_1[threadIdx_x // 7 * 72 + 54]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 163] * kernel_shared_1[threadIdx_x // 7 * 72 + 19]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 172] * kernel_shared_1[threadIdx_x // 7 * 72 + 19]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 181] * kernel_shared_1[threadIdx_x // 7 * 72 + 19]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 190] * kernel_shared_1[threadIdx_x // 7 * 72 + 19]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 199] * kernel_shared_1[threadIdx_x // 7 * 72 + 19]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 208] * kernel_shared_1[threadIdx_x // 7 * 72 + 19]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 217] * kernel_shared_1[threadIdx_x // 7 * 72 + 19]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 163] * kernel_shared_1[threadIdx_x // 7 * 72 + 55]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 172] * kernel_shared_1[threadIdx_x // 7 * 72 + 55]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 181] * kernel_shared_1[threadIdx_x // 7 * 72 + 55]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 190] * kernel_shared_1[threadIdx_x // 7 * 72 + 55]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 199] * kernel_shared_1[threadIdx_x // 7 * 72 + 55]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 208] * kernel_shared_1[threadIdx_x // 7 * 72 + 55]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 217] * kernel_shared_1[threadIdx_x // 7 * 72 + 55]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 164] * kernel_shared_1[threadIdx_x // 7 * 72 + 20]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 173] * kernel_shared_1[threadIdx_x // 7 * 72 + 20]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 182] * kernel_shared_1[threadIdx_x // 7 * 72 + 20]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 191] * kernel_shared_1[threadIdx_x // 7 * 72 + 20]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 200] * kernel_shared_1[threadIdx_x // 7 * 72 + 20]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 209] * kernel_shared_1[threadIdx_x // 7 * 72 + 20]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 218] * kernel_shared_1[threadIdx_x // 7 * 72 + 20]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 164] * kernel_shared_1[threadIdx_x // 7 * 72 + 56]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 173] * kernel_shared_1[threadIdx_x // 7 * 72 + 56]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 182] * kernel_shared_1[threadIdx_x // 7 * 72 + 56]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 191] * kernel_shared_1[threadIdx_x // 7 * 72 + 56]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 200] * kernel_shared_1[threadIdx_x // 7 * 72 + 56]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 209] * kernel_shared_1[threadIdx_x // 7 * 72 + 56]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 218] * kernel_shared_1[threadIdx_x // 7 * 72 + 56]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 243] * kernel_shared_1[threadIdx_x // 7 * 72 + 27]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 252] * kernel_shared_1[threadIdx_x // 7 * 72 + 27]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 261] * kernel_shared_1[threadIdx_x // 7 * 72 + 27]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 270] * kernel_shared_1[threadIdx_x // 7 * 72 + 27]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 279] * kernel_shared_1[threadIdx_x // 7 * 72 + 27]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 288] * kernel_shared_1[threadIdx_x // 7 * 72 + 27]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 297] * kernel_shared_1[threadIdx_x // 7 * 72 + 27]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 243] * kernel_shared_1[threadIdx_x // 7 * 72 + 63]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 252] * kernel_shared_1[threadIdx_x // 7 * 72 + 63]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 261] * kernel_shared_1[threadIdx_x // 7 * 72 + 63]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 270] * kernel_shared_1[threadIdx_x // 7 * 72 + 63]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 279] * kernel_shared_1[threadIdx_x // 7 * 72 + 63]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 288] * kernel_shared_1[threadIdx_x // 7 * 72 + 63]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 297] * kernel_shared_1[threadIdx_x // 7 * 72 + 63]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 244] * kernel_shared_1[threadIdx_x // 7 * 72 + 28]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 253] * kernel_shared_1[threadIdx_x // 7 * 72 + 28]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 262] * kernel_shared_1[threadIdx_x // 7 * 72 + 28]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 271] * kernel_shared_1[threadIdx_x // 7 * 72 + 28]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 280] * kernel_shared_1[threadIdx_x // 7 * 72 + 28]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 289] * kernel_shared_1[threadIdx_x // 7 * 72 + 28]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 298] * kernel_shared_1[threadIdx_x // 7 * 72 + 28]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 244] * kernel_shared_1[threadIdx_x // 7 * 72 + 64]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 253] * kernel_shared_1[threadIdx_x // 7 * 72 + 64]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 262] * kernel_shared_1[threadIdx_x // 7 * 72 + 64]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 271] * kernel_shared_1[threadIdx_x // 7 * 72 + 64]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 280] * kernel_shared_1[threadIdx_x // 7 * 72 + 64]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 289] * kernel_shared_1[threadIdx_x // 7 * 72 + 64]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 298] * kernel_shared_1[threadIdx_x // 7 * 72 + 64]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 245] * kernel_shared_1[threadIdx_x // 7 * 72 + 29]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 254] * kernel_shared_1[threadIdx_x // 7 * 72 + 29]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 263] * kernel_shared_1[threadIdx_x // 7 * 72 + 29]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 272] * kernel_shared_1[threadIdx_x // 7 * 72 + 29]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 281] * kernel_shared_1[threadIdx_x // 7 * 72 + 29]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 290] * kernel_shared_1[threadIdx_x // 7 * 72 + 29]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 299] * kernel_shared_1[threadIdx_x // 7 * 72 + 29]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 245] * kernel_shared_1[threadIdx_x // 7 * 72 + 65]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 254] * kernel_shared_1[threadIdx_x // 7 * 72 + 65]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 263] * kernel_shared_1[threadIdx_x // 7 * 72 + 65]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 272] * kernel_shared_1[threadIdx_x // 7 * 72 + 65]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 281] * kernel_shared_1[threadIdx_x // 7 * 72 + 65]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 290] * kernel_shared_1[threadIdx_x // 7 * 72 + 65]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 299] * kernel_shared_1[threadIdx_x // 7 * 72 + 65]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 171] * kernel_shared_1[threadIdx_x // 7 * 72 + 21]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 180] * kernel_shared_1[threadIdx_x // 7 * 72 + 21]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 189] * kernel_shared_1[threadIdx_x // 7 * 72 + 21]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 198] * kernel_shared_1[threadIdx_x // 7 * 72 + 21]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 207] * kernel_shared_1[threadIdx_x // 7 * 72 + 21]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 216] * kernel_shared_1[threadIdx_x // 7 * 72 + 21]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 225] * kernel_shared_1[threadIdx_x // 7 * 72 + 21]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 171] * kernel_shared_1[threadIdx_x // 7 * 72 + 57]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 180] * kernel_shared_1[threadIdx_x // 7 * 72 + 57]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 189] * kernel_shared_1[threadIdx_x // 7 * 72 + 57]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 198] * kernel_shared_1[threadIdx_x // 7 * 72 + 57]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 207] * kernel_shared_1[threadIdx_x // 7 * 72 + 57]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 216] * kernel_shared_1[threadIdx_x // 7 * 72 + 57]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 225] * kernel_shared_1[threadIdx_x // 7 * 72 + 57]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 172] * kernel_shared_1[threadIdx_x // 7 * 72 + 22]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 181] * kernel_shared_1[threadIdx_x // 7 * 72 + 22]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 190] * kernel_shared_1[threadIdx_x // 7 * 72 + 22]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 199] * kernel_shared_1[threadIdx_x // 7 * 72 + 22]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 208] * kernel_shared_1[threadIdx_x // 7 * 72 + 22]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 217] * kernel_shared_1[threadIdx_x // 7 * 72 + 22]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 226] * kernel_shared_1[threadIdx_x // 7 * 72 + 22]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 172] * kernel_shared_1[threadIdx_x // 7 * 72 + 58]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 181] * kernel_shared_1[threadIdx_x // 7 * 72 + 58]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 190] * kernel_shared_1[threadIdx_x // 7 * 72 + 58]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 199] * kernel_shared_1[threadIdx_x // 7 * 72 + 58]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 208] * kernel_shared_1[threadIdx_x // 7 * 72 + 58]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 217] * kernel_shared_1[threadIdx_x // 7 * 72 + 58]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 226] * kernel_shared_1[threadIdx_x // 7 * 72 + 58]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 173] * kernel_shared_1[threadIdx_x // 7 * 72 + 23]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 182] * kernel_shared_1[threadIdx_x // 7 * 72 + 23]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 191] * kernel_shared_1[threadIdx_x // 7 * 72 + 23]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 200] * kernel_shared_1[threadIdx_x // 7 * 72 + 23]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 209] * kernel_shared_1[threadIdx_x // 7 * 72 + 23]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 218] * kernel_shared_1[threadIdx_x // 7 * 72 + 23]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 227] * kernel_shared_1[threadIdx_x // 7 * 72 + 23]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 173] * kernel_shared_1[threadIdx_x // 7 * 72 + 59]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 182] * kernel_shared_1[threadIdx_x // 7 * 72 + 59]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 191] * kernel_shared_1[threadIdx_x // 7 * 72 + 59]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 200] * kernel_shared_1[threadIdx_x // 7 * 72 + 59]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 209] * kernel_shared_1[threadIdx_x // 7 * 72 + 59]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 218] * kernel_shared_1[threadIdx_x // 7 * 72 + 59]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 227] * kernel_shared_1[threadIdx_x // 7 * 72 + 59]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 252] * kernel_shared_1[threadIdx_x // 7 * 72 + 30]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 261] * kernel_shared_1[threadIdx_x // 7 * 72 + 30]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 270] * kernel_shared_1[threadIdx_x // 7 * 72 + 30]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 279] * kernel_shared_1[threadIdx_x // 7 * 72 + 30]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 288] * kernel_shared_1[threadIdx_x // 7 * 72 + 30]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 297] * kernel_shared_1[threadIdx_x // 7 * 72 + 30]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 306] * kernel_shared_1[threadIdx_x // 7 * 72 + 30]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 252] * kernel_shared_1[threadIdx_x // 7 * 72 + 66]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 261] * kernel_shared_1[threadIdx_x // 7 * 72 + 66]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 270] * kernel_shared_1[threadIdx_x // 7 * 72 + 66]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 279] * kernel_shared_1[threadIdx_x // 7 * 72 + 66]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 288] * kernel_shared_1[threadIdx_x // 7 * 72 + 66]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 297] * kernel_shared_1[threadIdx_x // 7 * 72 + 66]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 306] * kernel_shared_1[threadIdx_x // 7 * 72 + 66]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 253] * kernel_shared_1[threadIdx_x // 7 * 72 + 31]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 262] * kernel_shared_1[threadIdx_x // 7 * 72 + 31]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 271] * kernel_shared_1[threadIdx_x // 7 * 72 + 31]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 280] * kernel_shared_1[threadIdx_x // 7 * 72 + 31]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 289] * kernel_shared_1[threadIdx_x // 7 * 72 + 31]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 298] * kernel_shared_1[threadIdx_x // 7 * 72 + 31]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 307] * kernel_shared_1[threadIdx_x // 7 * 72 + 31]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 253] * kernel_shared_1[threadIdx_x // 7 * 72 + 67]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 262] * kernel_shared_1[threadIdx_x // 7 * 72 + 67]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 271] * kernel_shared_1[threadIdx_x // 7 * 72 + 67]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 280] * kernel_shared_1[threadIdx_x // 7 * 72 + 67]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 289] * kernel_shared_1[threadIdx_x // 7 * 72 + 67]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 298] * kernel_shared_1[threadIdx_x // 7 * 72 + 67]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 307] * kernel_shared_1[threadIdx_x // 7 * 72 + 67]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 254] * kernel_shared_1[threadIdx_x // 7 * 72 + 32]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 263] * kernel_shared_1[threadIdx_x // 7 * 72 + 32]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 272] * kernel_shared_1[threadIdx_x // 7 * 72 + 32]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 281] * kernel_shared_1[threadIdx_x // 7 * 72 + 32]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 290] * kernel_shared_1[threadIdx_x // 7 * 72 + 32]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 299] * kernel_shared_1[threadIdx_x // 7 * 72 + 32]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 308] * kernel_shared_1[threadIdx_x // 7 * 72 + 32]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 254] * kernel_shared_1[threadIdx_x // 7 * 72 + 68]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 263] * kernel_shared_1[threadIdx_x // 7 * 72 + 68]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 272] * kernel_shared_1[threadIdx_x // 7 * 72 + 68]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 281] * kernel_shared_1[threadIdx_x // 7 * 72 + 68]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 290] * kernel_shared_1[threadIdx_x // 7 * 72 + 68]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 299] * kernel_shared_1[threadIdx_x // 7 * 72 + 68]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 308] * kernel_shared_1[threadIdx_x // 7 * 72 + 68]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 180] * kernel_shared_1[threadIdx_x // 7 * 72 + 24]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 189] * kernel_shared_1[threadIdx_x // 7 * 72 + 24]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 198] * kernel_shared_1[threadIdx_x // 7 * 72 + 24]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 207] * kernel_shared_1[threadIdx_x // 7 * 72 + 24]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 216] * kernel_shared_1[threadIdx_x // 7 * 72 + 24]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 225] * kernel_shared_1[threadIdx_x // 7 * 72 + 24]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 234] * kernel_shared_1[threadIdx_x // 7 * 72 + 24]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 180] * kernel_shared_1[threadIdx_x // 7 * 72 + 60]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 189] * kernel_shared_1[threadIdx_x // 7 * 72 + 60]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 198] * kernel_shared_1[threadIdx_x // 7 * 72 + 60]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 207] * kernel_shared_1[threadIdx_x // 7 * 72 + 60]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 216] * kernel_shared_1[threadIdx_x // 7 * 72 + 60]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 225] * kernel_shared_1[threadIdx_x // 7 * 72 + 60]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 234] * kernel_shared_1[threadIdx_x // 7 * 72 + 60]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 181] * kernel_shared_1[threadIdx_x // 7 * 72 + 25]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 190] * kernel_shared_1[threadIdx_x // 7 * 72 + 25]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 199] * kernel_shared_1[threadIdx_x // 7 * 72 + 25]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 208] * kernel_shared_1[threadIdx_x // 7 * 72 + 25]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 217] * kernel_shared_1[threadIdx_x // 7 * 72 + 25]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 226] * kernel_shared_1[threadIdx_x // 7 * 72 + 25]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 235] * kernel_shared_1[threadIdx_x // 7 * 72 + 25]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 181] * kernel_shared_1[threadIdx_x // 7 * 72 + 61]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 190] * kernel_shared_1[threadIdx_x // 7 * 72 + 61]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 199] * kernel_shared_1[threadIdx_x // 7 * 72 + 61]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 208] * kernel_shared_1[threadIdx_x // 7 * 72 + 61]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 217] * kernel_shared_1[threadIdx_x // 7 * 72 + 61]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 226] * kernel_shared_1[threadIdx_x // 7 * 72 + 61]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 235] * kernel_shared_1[threadIdx_x // 7 * 72 + 61]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 182] * kernel_shared_1[threadIdx_x // 7 * 72 + 26]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 191] * kernel_shared_1[threadIdx_x // 7 * 72 + 26]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 200] * kernel_shared_1[threadIdx_x // 7 * 72 + 26]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 209] * kernel_shared_1[threadIdx_x // 7 * 72 + 26]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 218] * kernel_shared_1[threadIdx_x // 7 * 72 + 26]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 227] * kernel_shared_1[threadIdx_x // 7 * 72 + 26]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 236] * kernel_shared_1[threadIdx_x // 7 * 72 + 26]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 182] * kernel_shared_1[threadIdx_x // 7 * 72 + 62]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 191] * kernel_shared_1[threadIdx_x // 7 * 72 + 62]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 200] * kernel_shared_1[threadIdx_x // 7 * 72 + 62]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 209] * kernel_shared_1[threadIdx_x // 7 * 72 + 62]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 218] * kernel_shared_1[threadIdx_x // 7 * 72 + 62]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 227] * kernel_shared_1[threadIdx_x // 7 * 72 + 62]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 236] * kernel_shared_1[threadIdx_x // 7 * 72 + 62]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 261] * kernel_shared_1[threadIdx_x // 7 * 72 + 33]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 270] * kernel_shared_1[threadIdx_x // 7 * 72 + 33]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 279] * kernel_shared_1[threadIdx_x // 7 * 72 + 33]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 288] * kernel_shared_1[threadIdx_x // 7 * 72 + 33]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 297] * kernel_shared_1[threadIdx_x // 7 * 72 + 33]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 306] * kernel_shared_1[threadIdx_x // 7 * 72 + 33]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 315] * kernel_shared_1[threadIdx_x // 7 * 72 + 33]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 261] * kernel_shared_1[threadIdx_x // 7 * 72 + 69]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 270] * kernel_shared_1[threadIdx_x // 7 * 72 + 69]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 279] * kernel_shared_1[threadIdx_x // 7 * 72 + 69]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 288] * kernel_shared_1[threadIdx_x // 7 * 72 + 69]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 297] * kernel_shared_1[threadIdx_x // 7 * 72 + 69]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 306] * kernel_shared_1[threadIdx_x // 7 * 72 + 69]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 315] * kernel_shared_1[threadIdx_x // 7 * 72 + 69]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 262] * kernel_shared_1[threadIdx_x // 7 * 72 + 34]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 271] * kernel_shared_1[threadIdx_x // 7 * 72 + 34]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 280] * kernel_shared_1[threadIdx_x // 7 * 72 + 34]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 289] * kernel_shared_1[threadIdx_x // 7 * 72 + 34]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 298] * kernel_shared_1[threadIdx_x // 7 * 72 + 34]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 307] * kernel_shared_1[threadIdx_x // 7 * 72 + 34]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 316] * kernel_shared_1[threadIdx_x // 7 * 72 + 34]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 262] * kernel_shared_1[threadIdx_x // 7 * 72 + 70]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 271] * kernel_shared_1[threadIdx_x // 7 * 72 + 70]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 280] * kernel_shared_1[threadIdx_x // 7 * 72 + 70]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 289] * kernel_shared_1[threadIdx_x // 7 * 72 + 70]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 298] * kernel_shared_1[threadIdx_x // 7 * 72 + 70]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 307] * kernel_shared_1[threadIdx_x // 7 * 72 + 70]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 316] * kernel_shared_1[threadIdx_x // 7 * 72 + 70]
-            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[threadIdx_x % 7 + 263] * kernel_shared_1[threadIdx_x // 7 * 72 + 35]
-            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[threadIdx_x % 7 + 272] * kernel_shared_1[threadIdx_x // 7 * 72 + 35]
-            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[threadIdx_x % 7 + 281] * kernel_shared_1[threadIdx_x // 7 * 72 + 35]
-            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[threadIdx_x % 7 + 290] * kernel_shared_1[threadIdx_x // 7 * 72 + 35]
-            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[threadIdx_x % 7 + 299] * kernel_shared_1[threadIdx_x // 7 * 72 + 35]
-            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[threadIdx_x % 7 + 308] * kernel_shared_1[threadIdx_x // 7 * 72 + 35]
-            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[threadIdx_x % 7 + 317] * kernel_shared_1[threadIdx_x // 7 * 72 + 35]
-            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[threadIdx_x % 7 + 263] * kernel_shared_1[threadIdx_x // 7 * 72 + 71]
-            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[threadIdx_x % 7 + 272] * kernel_shared_1[threadIdx_x // 7 * 72 + 71]
-            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[threadIdx_x % 7 + 281] * kernel_shared_1[threadIdx_x // 7 * 72 + 71]
-            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[threadIdx_x % 7 + 290] * kernel_shared_1[threadIdx_x // 7 * 72 + 71]
-            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[threadIdx_x % 7 + 299] * kernel_shared_1[threadIdx_x // 7 * 72 + 71]
-            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[threadIdx_x % 7 + 308] * kernel_shared_1[threadIdx_x // 7 * 72 + 71]
-            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[threadIdx_x % 7 + 317] * kernel_shared_1[threadIdx_x // 7 * 72 + 71]
-        for i1_inner in range(2):
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 112] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 112) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 224] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 224) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 336] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 336) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 448] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 448) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 560] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 560) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 672] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 672) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 784] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 784) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 896] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 896) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 1008] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 32256]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 1120] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1120) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 1232] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1232) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 1344] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1344) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 1456] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1456) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 1568] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1568) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 1680] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1680) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 1792] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1792) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 1904] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 1904) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 2016] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 64512]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 2128] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2128) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 2240] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2240) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 2352] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2352) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 2464] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2464) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 2576] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2576) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 2688] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2688) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 2800] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2800) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 2912] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 2912) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 3024] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 96768]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 3136] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3136) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 3248] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3248) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 3360] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3360) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 3472] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3472) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 3584] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3584) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 3696] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3696) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 3808] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3808) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 3920] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 3920) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 4032] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 129024]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 4144] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4144) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 4256] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4256) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 4368] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4368) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 4480] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4480) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 4592] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4592) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 4704] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4704) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 4816] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4816) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 4928] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 4928) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 5040] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 161280]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 5152] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5152) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 5264] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5264) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 5376] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5376) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 5488] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5488) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 5600] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5600) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 5712] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5712) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 5824] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5824) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 5936] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 5936) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 6048] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 193536]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 6160] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6160) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 6272] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6272) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 6384] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6384) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 6496] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6496) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 6608] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6608) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 6720] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6720) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 6832] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6832) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 6944] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 6944) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 7056] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 225792]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 7168] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7168) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 7280] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7280) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 7392] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7392) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 7504] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7504) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 7616] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7616) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 7728] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7728) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 7840] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7840) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 7952] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 7952) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 8064] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 258048]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 8176] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8176) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 112) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 8288] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8288) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 80) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 8400] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8400) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 48) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 8512] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8512) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 16]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 8624] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8624) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 128) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 8736] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8736) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 96) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 8848] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8848) // 144 * 4608 + cse_var_1 + (threadIdx_x_2 + 64) % 144]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 8960] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 8960) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 32]
+            with T.launch_thread(threadIdx_x_2, 112):
+                kernel_shared_1[threadIdx_x_2 + 9072] = kernel_1[blockIdx_x * 294912 + cse_var_1 + threadIdx_x_2 + 290304]
+            with T.launch_thread(threadIdx_x_2, 112):
+                if T.likely(threadIdx_x_2 &lt; 32):
+                    kernel_shared_1[threadIdx_x_2 + 9184] = kernel_1[blockIdx_x * 294912 + (threadIdx_x_2 + 9184) // 144 * 4608 + cse_var_1 + threadIdx_x_2 + 112]
+            for rc_inner in range(16):
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9]
+                conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4608]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9]
+                conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4608]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9]
+                conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4608]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9]
+                conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4608]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9]
+                conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4608]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9]
+                conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4608]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9]
+                conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4608]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 144]
+                conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4752]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 144]
+                conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4752]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 144]
+                conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4752]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 144]
+                conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4752]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 144]
+                conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4752]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 144]
+                conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4752]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 144]
+                conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4752]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 1] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 1]
+                conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 1] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4609]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 1]
+                conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4609]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 1]
+                conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4609]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 1]
+                conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4609]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 1]
+                conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4609]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 1]
+                conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4609]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 1]
+                conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4609]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 1] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 145]
+                conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 1] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4753]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 145]
+                conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4753]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 145]
+                conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4753]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 145]
+                conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4753]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 145]
+                conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4753]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 145]
+                conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4753]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 145]
+                conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4753]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 2] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 2]
+                conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 2] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4610]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 2]
+                conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4610]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 2]
+                conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4610]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 2]
+                conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4610]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 2]
+                conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4610]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 2]
+                conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4610]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 2]
+                conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4610]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 2] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 146]
+                conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 2] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4754]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 146]
+                conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4754]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 146]
+                conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4754]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 146]
+                conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4754]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 146]
+                conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4754]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 146]
+                conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4754]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 146]
+                conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4754]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 3]
+                conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4611]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 3]
+                conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4611]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 3]
+                conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4611]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 3]
+                conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4611]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 3]
+                conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4611]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 3]
+                conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4611]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 3]
+                conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4611]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 147]
+                conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4755]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 147]
+                conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4755]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 147]
+                conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4755]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 147]
+                conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4755]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 147]
+                conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4755]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 147]
+                conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4755]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 147]
+                conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4755]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4]
+                conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4612]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4]
+                conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4612]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4]
+                conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4612]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4]
+                conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4612]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4]
+                conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4612]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4]
+                conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4612]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4]
+                conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4612]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 148]
+                conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4756]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 148]
+                conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4756]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 148]
+                conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4756]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 148]
+                conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4756]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 148]
+                conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4756]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 148]
+                conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4756]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 148]
+                conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4756]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 5]
+                conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4613]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 5]
+                conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4613]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 5]
+                conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4613]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 5]
+                conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4613]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 5]
+                conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4613]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 5]
+                conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4613]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 5]
+                conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4613]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 149]
+                conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4757]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 149]
+                conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4757]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 149]
+                conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4757]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 149]
+                conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4757]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 149]
+                conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4757]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 149]
+                conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4757]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 149]
+                conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4757]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 6]
+                conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4614]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 6]
+                conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4614]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 6]
+                conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4614]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 6]
+                conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4614]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 6]
+                conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4614]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 6]
+                conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4614]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 72] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 6]
+                conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 72] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4614]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 150]
+                conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4758]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 150]
+                conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4758]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 150]
+                conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4758]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 150]
+                conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4758]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 150]
+                conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4758]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 150]
+                conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4758]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 72] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 150]
+                conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 72] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4758]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 7]
+                conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4615]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 7]
+                conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4615]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 7]
+                conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4615]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 7]
+                conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4615]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 7]
+                conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4615]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 7]
+                conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4615]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 73] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 7]
+                conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 73] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4615]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 151]
+                conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4759]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 151]
+                conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4759]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 151]
+                conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4759]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 151]
+                conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4759]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 151]
+                conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4759]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 151]
+                conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4759]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 73] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 151]
+                conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 73] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4759]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 8]
+                conv2d_nchw_1[14] = conv2d_nchw_1[14] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4616]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 8]
+                conv2d_nchw_1[15] = conv2d_nchw_1[15] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4616]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 8]
+                conv2d_nchw_1[16] = conv2d_nchw_1[16] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4616]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 8]
+                conv2d_nchw_1[17] = conv2d_nchw_1[17] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4616]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 8]
+                conv2d_nchw_1[18] = conv2d_nchw_1[18] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4616]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 8]
+                conv2d_nchw_1[19] = conv2d_nchw_1[19] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4616]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 74] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 8]
+                conv2d_nchw_1[20] = conv2d_nchw_1[20] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 74] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4616]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 152]
+                conv2d_nchw_1[21] = conv2d_nchw_1[21] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4760]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 152]
+                conv2d_nchw_1[22] = conv2d_nchw_1[22] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4760]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 152]
+                conv2d_nchw_1[23] = conv2d_nchw_1[23] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4760]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 152]
+                conv2d_nchw_1[24] = conv2d_nchw_1[24] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4760]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 152]
+                conv2d_nchw_1[25] = conv2d_nchw_1[25] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4760]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 152]
+                conv2d_nchw_1[26] = conv2d_nchw_1[26] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4760]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 74] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 152]
+                conv2d_nchw_1[27] = conv2d_nchw_1[27] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 74] * kernel_shared_1[threadIdx_x // 7 * 288 + rc_inner * 9 + 4760]
+        for i1_inner, i2_inner in T.grid(2, 7):
+            cse_var_3: T.int32 = i1_inner * 7 + i2_inner
             compute_1 = T.Buffer((25088,), data=compute.data)
             bias_1 = T.Buffer((512,), data=bias.data)
-            compute_1[blockIdx_x * 784 + threadIdx_x // 7 * 98 + i1_inner * 49 + threadIdx_x % 7] = T.max(conv2d_nchw_1[i1_inner] + bias_1[blockIdx_x * 16 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
-            compute_1[blockIdx_x * 784 + threadIdx_x // 7 * 98 + i1_inner * 49 + threadIdx_x % 7 + 7] = T.max(conv2d_nchw_1[i1_inner + 2] + bias_1[blockIdx_x * 16 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
-            compute_1[blockIdx_x * 784 + threadIdx_x // 7 * 98 + i1_inner * 49 + threadIdx_x % 7 + 14] = T.max(conv2d_nchw_1[i1_inner + 4] + bias_1[blockIdx_x * 16 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
-            compute_1[blockIdx_x * 784 + threadIdx_x // 7 * 98 + i1_inner * 49 + threadIdx_x % 7 + 21] = T.max(conv2d_nchw_1[i1_inner + 6] + bias_1[blockIdx_x * 16 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
-            compute_1[blockIdx_x * 784 + threadIdx_x // 7 * 98 + i1_inner * 49 + threadIdx_x % 7 + 28] = T.max(conv2d_nchw_1[i1_inner + 8] + bias_1[blockIdx_x * 16 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
-            compute_1[blockIdx_x * 784 + threadIdx_x // 7 * 98 + i1_inner * 49 + threadIdx_x % 7 + 35] = T.max(conv2d_nchw_1[i1_inner + 10] + bias_1[blockIdx_x * 16 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
-            compute_1[blockIdx_x * 784 + threadIdx_x // 7 * 98 + i1_inner * 49 + threadIdx_x % 7 + 42] = T.max(conv2d_nchw_1[i1_inner + 12] + bias_1[blockIdx_x * 16 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
+            compute_1[blockIdx_x * 3136 + threadIdx_x // 7 * 98 + i1_inner * 49 + i2_inner * 7 + threadIdx_x % 7] = T.max(conv2d_nchw_1[cse_var_3] + bias_1[blockIdx_x * 64 + threadIdx_x // 7 * 2 + i1_inner], T.float32(0))
+            compute_1[blockIdx_x * 3136 + threadIdx_x // 7 * 98 + i1_inner * 49 + i2_inner * 7 + threadIdx_x % 7 + 1568] = T.max(conv2d_nchw_1[cse_var_3 + 14] + bias_1[blockIdx_x * 64 + threadIdx_x // 7 * 2 + i1_inner + 32], T.float32(0))
 </pre></div>
 </div>
 </div>
@@ -1122,7 +1037,7 @@ class Module:
 <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.262 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.360 ms
 </pre></div>
 </div>
 </div>
@@ -1153,20 +1068,20 @@ conv2d_nchw_nn_o_o_o_i, conv2d_nchw_nn_o_o_i = s[conv2d_nchw].split(conv2d_nchw_
 conv2d_nchw_nn_o_o_o_o, conv2d_nchw_nn_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_o_i, factor=1)
 conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=2)
 conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=1)
-conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=8)
-conv2d_nchw_ff_o_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_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=16)
+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=2)
+conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=7)
 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=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=7)
+conv2d_nchw_yy_o_o_o_o, conv2d_nchw_yy_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_o_i, factor=1)
 conv2d_nchw_xx_o_i, conv2d_nchw_xx_i = s[conv2d_nchw].split(conv2d_nchw_xx, factor=1)
 conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=1)
 conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=7)
 conv2d_nchw_xx_o_o_o_o, conv2d_nchw_xx_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_o_i, factor=1)
-conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=2)
-conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=2)
-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_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=16)
+conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=1)
+conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=3)
+conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=1)
 conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=3)
 conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=1)
 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 [...]
@@ -1174,11 +1089,11 @@ compute_i0_o_i, compute_i0_i = s[compute].split(compute_i0, factor=1)
 compute_i0_o_o_i, compute_i0_o_i = s[compute].split(compute_i0_o_i, factor=1)
 compute_i0_o_o_o, compute_i0_o_o_i = s[compute].split(compute_i0_o_o_i, factor=1)
 compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=2)
-compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=8)
-compute_i1_o_o_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_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=16)
+compute_i1_o_o_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=2)
+compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, 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=7)
+compute_i2_o_o_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=1)
 compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=1)
 compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=7)
 compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=1)
@@ -1200,12 +1115,12 @@ 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=112)
 s[kernel_shared].bind(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis(&quot;threadIdx.x&quot;))
 pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[pad_temp_shared].fuse(pad_temp_shared_ax0, pad_temp_shared_ax1, pad_temp_shared_ax2, pad_temp_shared_ax3)
 pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
 s[pad_temp_shared].vectorize(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=56)
+pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=112)
 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;, 512)
 s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, &quot;unroll_explicit&quot;, True)
@@ -1232,561 +1147,400 @@ 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[14];
-  __shared__ float pad_temp_shared[324];
-  __shared__ float kernel_shared[576];
+extern &quot;C&quot; __global__ void __launch_bounds__(112) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
+  float conv2d_nchw[28];
+  __shared__ float pad_temp_shared[1296];
+  __shared__ float kernel_shared[9216];
   conv2d_nchw[0] = 0.000000e+00f;
-  conv2d_nchw[2] = 0.000000e+00f;
-  conv2d_nchw[4] = 0.000000e+00f;
-  conv2d_nchw[6] = 0.000000e+00f;
-  conv2d_nchw[8] = 0.000000e+00f;
-  conv2d_nchw[10] = 0.000000e+00f;
-  conv2d_nchw[12] = 0.000000e+00f;
+  conv2d_nchw[14] = 0.000000e+00f;
   conv2d_nchw[1] = 0.000000e+00f;
+  conv2d_nchw[15] = 0.000000e+00f;
+  conv2d_nchw[2] = 0.000000e+00f;
+  conv2d_nchw[16] = 0.000000e+00f;
   conv2d_nchw[3] = 0.000000e+00f;
+  conv2d_nchw[17] = 0.000000e+00f;
+  conv2d_nchw[4] = 0.000000e+00f;
+  conv2d_nchw[18] = 0.000000e+00f;
   conv2d_nchw[5] = 0.000000e+00f;
+  conv2d_nchw[19] = 0.000000e+00f;
+  conv2d_nchw[6] = 0.000000e+00f;
+  conv2d_nchw[20] = 0.000000e+00f;
   conv2d_nchw[7] = 0.000000e+00f;
+  conv2d_nchw[21] = 0.000000e+00f;
+  conv2d_nchw[8] = 0.000000e+00f;
+  conv2d_nchw[22] = 0.000000e+00f;
   conv2d_nchw[9] = 0.000000e+00f;
+  conv2d_nchw[23] = 0.000000e+00f;
+  conv2d_nchw[10] = 0.000000e+00f;
+  conv2d_nchw[24] = 0.000000e+00f;
   conv2d_nchw[11] = 0.000000e+00f;
+  conv2d_nchw[25] = 0.000000e+00f;
+  conv2d_nchw[12] = 0.000000e+00f;
+  conv2d_nchw[26] = 0.000000e+00f;
   conv2d_nchw[13] = 0.000000e+00f;
-  for (int rc_outer_outer = 0; rc_outer_outer &lt; 128; ++rc_outer_outer) {
+  conv2d_nchw[27] = 0.000000e+00f;
+  for (int rc_outer_outer = 0; rc_outer_outer &lt; 32; ++rc_outer_outer) {
     __syncthreads();
-    pad_temp_shared[((int)threadIdx.x)] = ((((9 &lt;= ((int)threadIdx.x)) &amp;&amp; (1 &lt;= (((int)threadIdx.x) % 9))) &amp;&amp; ((((int)threadIdx.x) % 9) &lt; 8)) ? data[((((rc_outer_outer * 196) + ((((int)threadIdx.x) / 9) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 56)] = (((((9 &lt;= ((((int)threadIdx.x) + 56) % 81)) &amp;&amp; (((((int)threadIdx.x) + 56) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 2) % 9))) &amp;&amp; (((((int)threadIdx.x) + 2) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 196) + (((((int)threadIdx.x) + 56) / 81) * 49)) + ((((((int)threadIdx.x) + 56) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 2) % 9)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 112)] = (((((9 &lt;= ((((int)threadIdx.x) + 31) % 81)) &amp;&amp; (((((int)threadIdx.x) + 31) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 4) % 9))) &amp;&amp; (((((int)threadIdx.x) + 4) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 196) + (((((int)threadIdx.x) + 112) / 81) * 49)) + ((((((int)threadIdx.x) + 31) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 4) % 9)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 168)] = ((((3 &lt;= ((int)threadIdx.x)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 6) % 9))) &amp;&amp; (((((int)threadIdx.x) + 6) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 196) + (((((int)threadIdx.x) + 168) / 81) * 49)) + (((((int)threadIdx.x) + 6) / 9) * 7)) + ((((int)threadIdx.x) + 6) % 9)) - 8)] : 0.000000e+00f);
-    pad_temp_shared[(((int)threadIdx.x) + 224)] = (((((9 &lt;= ((((int)threadIdx.x) + 62) % 81)) &amp;&amp; (((((int)threadIdx.x) + 62) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 8) % 9))) &amp;&amp; (((((int)threadIdx.x) + 8) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 196) + (((((int)threadIdx.x) + 224) / 81) * 49)) + ((((((int)threadIdx.x) + 62) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 8) % 9)) - 8)] : 0.000000e+00f);
-    if (((int)threadIdx.x) &lt; 44) {
-      pad_temp_shared[(((int)threadIdx.x) + 280)] = ((((((int)threadIdx.x) &lt; 35) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 1) % 9))) &amp;&amp; (((((int)threadIdx.x) + 1) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 196) + (((((int)threadIdx.x) + 280) / 81) * 49)) + (((((int)threadIdx.x) + 37) / 9) * 7)) + ((((int)threadIdx.x) + 1) % 9)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[((int)threadIdx.x)] = (((((9 &lt;= (((int)threadIdx.x) % 81)) &amp;&amp; ((((int)threadIdx.x) % 81) &lt; 72)) &amp;&amp; (1 &lt;= (((int)threadIdx.x) % 9))) &amp;&amp; ((((int)threadIdx.x) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 81) * 49)) + (((((int)threadIdx.x) % 81) / 9) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 112)] = (((((9 &lt;= ((((int)threadIdx.x) + 31) % 81)) &amp;&amp; (((((int)threadIdx.x) + 31) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 4) % 9))) &amp;&amp; (((((int)threadIdx.x) + 4) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 112) / 81) * 49)) + ((((((int)threadIdx.x) + 31) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 4) % 9)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 224)] = (((((9 &lt;= ((((int)threadIdx.x) + 62) % 81)) &amp;&amp; (((((int)threadIdx.x) + 62) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 8) % 9))) &amp;&amp; (((((int)threadIdx.x) + 8) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 224) / 81) * 49)) + ((((((int)threadIdx.x) + 62) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 8) % 9)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 336)] = (((((9 &lt;= ((((int)threadIdx.x) + 12) % 81)) &amp;&amp; (((((int)threadIdx.x) + 12) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 3) % 9))) &amp;&amp; (((((int)threadIdx.x) + 3) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 336) / 81) * 49)) + ((((((int)threadIdx.x) + 12) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 3) % 9)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 448)] = (((((9 &lt;= ((((int)threadIdx.x) + 43) % 81)) &amp;&amp; (((((int)threadIdx.x) + 43) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 7) % 9))) &amp;&amp; (((((int)threadIdx.x) + 7) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 448) / 81) * 49)) + ((((((int)threadIdx.x) + 43) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 7) % 9)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 560)] = (((((9 &lt;= ((((int)threadIdx.x) + 74) % 81)) &amp;&amp; (((((int)threadIdx.x) + 74) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 2) % 9))) &amp;&amp; (((((int)threadIdx.x) + 2) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 560) / 81) * 49)) + ((((((int)threadIdx.x) + 74) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 2) % 9)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 672)] = (((((9 &lt;= ((((int)threadIdx.x) + 24) % 81)) &amp;&amp; (((((int)threadIdx.x) + 24) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 6) % 9))) &amp;&amp; (((((int)threadIdx.x) + 6) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 672) / 81) * 49)) + ((((((int)threadIdx.x) + 24) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 6) % 9)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 784)] = (((((9 &lt;= ((((int)threadIdx.x) + 55) % 81)) &amp;&amp; (((((int)threadIdx.x) + 55) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 1) % 9))) &amp;&amp; (((((int)threadIdx.x) + 1) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 784) / 81) * 49)) + ((((((int)threadIdx.x) + 55) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 1) % 9)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 896)] = (((((9 &lt;= ((((int)threadIdx.x) + 5) % 81)) &amp;&amp; (((((int)threadIdx.x) + 5) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 5) % 9))) &amp;&amp; (((((int)threadIdx.x) + 5) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 896) / 81) * 49)) + ((((((int)threadIdx.x) + 5) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 5) % 9)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 1008)] = (((((1 &lt;= (((((int)threadIdx.x) / 9) + 4) % 9)) &amp;&amp; (((((int)threadIdx.x) + 36) % 81) &lt; 72)) &amp;&amp; (1 &lt;= (((int)threadIdx.x) % 9))) &amp;&amp; ((((int)threadIdx.x) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 1008) / 81) * 49)) + ((((((int)threadIdx.x) / 9) + 4) % 9) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
+    pad_temp_shared[(((int)threadIdx.x) + 1120)] = (((((9 &lt;= ((((int)threadIdx.x) + 67) % 81)) &amp;&amp; (((((int)threadIdx.x) + 67) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 4) % 9))) &amp;&amp; (((((int)threadIdx.x) + 4) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 1120) / 81) * 49)) + ((((((int)threadIdx.x) + 67) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 4) % 9)) - 8)] : 0.000000e+00f);
+    if (((int)threadIdx.x) &lt; 64) {
+      pad_temp_shared[(((int)threadIdx.x) + 1232)] = ((((((int)threadIdx.x) &lt; 55) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 8) % 9))) &amp;&amp; (((((int)threadIdx.x) + 8) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 1232) / 81) * 49)) + (((((int)threadIdx.x) + 17) / 9) * 7)) + ((((int)threadIdx.x) + 8) % 9)) - 8)] : 0.000000e+00f);
     }
-    kernel_shared[((int)threadIdx.x)] = kernel[((((((int)blockIdx.x) * 73728) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 56)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 56) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 20) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 112)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 112) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 4) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 168)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 168) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) / 3) + 8) % 12) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 224)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 224) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 8) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 280)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 280) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 28) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 336)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 336) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) / 3) + 4) % 12) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 392)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 392) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 448) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 504)] = kernel[(((((((int)blockIdx.x) * 73728) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36)) + 64512)];
-    if (((int)threadIdx.x) &lt; 16) {
-      kernel_shared[(((int)threadIdx.x) + 560)] = kernel[(((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 560) / 36) * 4608)) + (rc_outer_outer * 36)) + (((((int)threadIdx.x) + 20) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+    kernel_shared[((int)threadIdx.x)] = kernel[(((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x))];
+    kernel_shared[(((int)threadIdx.x) + 112)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 112) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 224)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 224) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 336)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 336) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 448) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+    kernel_shared[(((int)threadIdx.x) + 560)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 560) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 672)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 672) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 784)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 784) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 896) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+    kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32256)];
+    kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1120) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 1232)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1232) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1344) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 1456)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1456) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+    kernel_shared[(((int)threadIdx.x) + 1568)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1568) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 1680)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1680) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1792) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 1904)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1904) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+    kernel_shared[(((int)threadIdx.x) + 2016)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 64512)];
+    kernel_shared[(((int)threadIdx.x) + 2128)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2128) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2240) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 2352)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2352) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 2464)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2464) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+    kernel_shared[(((int)threadIdx.x) + 2576)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2576) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2688) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 2800)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2800) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 2912)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2912) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+    kernel_shared[(((int)threadIdx.x) + 3024)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 96768)];
+    kernel_shared[(((int)threadIdx.x) + 3136)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3136) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 3248)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3248) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 3360)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3360) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 3472)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3472) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+    kernel_shared[(((int)threadIdx.x) + 3584)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3584) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 3696)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3696) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 3808)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3808) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 3920)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 3920) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+    kernel_shared[(((int)threadIdx.x) + 4032)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 129024)];
+    kernel_shared[(((int)threadIdx.x) + 4144)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4144) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 4256)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4256) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 4368)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4368) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 4480)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4480) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+    kernel_shared[(((int)threadIdx.x) + 4592)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4592) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 4704)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4704) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 4816)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4816) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 4928)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 4928) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+    kernel_shared[(((int)threadIdx.x) + 5040)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 161280)];
+    kernel_shared[(((int)threadIdx.x) + 5152)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5152) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 5264)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5264) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 5376)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5376) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 5488)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5488) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+    kernel_shared[(((int)threadIdx.x) + 5600)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5600) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 5712)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5712) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 5824)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5824) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 5936)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 5936) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+    kernel_shared[(((int)threadIdx.x) + 6048)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 193536)];
+    kernel_shared[(((int)threadIdx.x) + 6160)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6160) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 6272)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6272) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 6384)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6384) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 6496)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6496) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+    kernel_shared[(((int)threadIdx.x) + 6608)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6608) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 6720)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6720) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 6832)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6832) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 6944)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 6944) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+    kernel_shared[(((int)threadIdx.x) + 7056)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 225792)];
+    kernel_shared[(((int)threadIdx.x) + 7168)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7168) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 7280)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7280) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 7392)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7392) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 7504)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7504) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+    kernel_shared[(((int)threadIdx.x) + 7616)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7616) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 7728)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7728) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 7840)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7840) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 7952)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 7952) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+    kernel_shared[(((int)threadIdx.x) + 8064)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 258048)];
+    kernel_shared[(((int)threadIdx.x) + 8176)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8176) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 112) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 8288)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8288) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 80) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 8400)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8400) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 48) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 8512)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8512) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 16)];
+    kernel_shared[(((int)threadIdx.x) + 8624)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8624) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 128) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 8736)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8736) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 96) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 8848)] = kernel[((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8848) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((int)threadIdx.x) + 64) % 144))];
+    kernel_shared[(((int)threadIdx.x) + 8960)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 8960) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32)];
+    kernel_shared[(((int)threadIdx.x) + 9072)] = kernel[((((((int)blockIdx.x) * 294912) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 290304)];
+    if (((int)threadIdx.x) &lt; 32) {
+      kernel_shared[(((int)threadIdx.x) + 9184)] = kernel[(((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 9184) / 144) * 4608)) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 112)];
     }
     __syncthreads();
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((int)threadIdx.x) % 7)] * kernel_shared[((((int)threadIdx.x) / 7) * 72)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 9)] * kernel_shared[((((int)threadIdx.x) / 7) * 72)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 18)] * kernel_shared[((((int)threadIdx.x) / 7) * 72)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 27)] * kernel_shared[((((int)threadIdx.x) / 7) * 72)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 36)] * kernel_shared[((((int)threadIdx.x) / 7) * 72)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 45)] * kernel_shared[((((int)threadIdx.x) / 7) * 72)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 54)] * kernel_shared[((((int)threadIdx.x) / 7) * 72)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((int)threadIdx.x) % 7)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 36)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 9)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 36)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 36)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 36)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 36)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 36)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 36)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 1)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 10)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 1)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 19)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 1)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 1)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 37)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 1)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 46)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 1)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 1)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 1)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 37)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 10)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 37)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 19)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 37)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 37)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 37)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 37)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 46)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 37)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 37)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 2)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 11)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 2)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 20)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 2)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 2)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 38)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 2)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 47)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 2)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 2)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 2)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 38)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 11)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 38)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 20)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 38)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 38)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 38)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 38)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 47)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 38)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 38)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 9)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 90)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 9)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 99)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 9)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 9)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 117)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 9)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 9)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 9)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 81)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 45)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 90)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 45)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 99)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 45)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 45)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 117)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 45)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 45)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 45)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 10)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 91)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 10)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 100)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 10)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 10)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 118)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 10)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 10)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 10)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 82)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 46)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 91)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 46)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 100)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 46)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 46)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 118)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 46)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 46)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 46)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 11)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 92)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 11)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 101)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 11)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 11)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 119)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 11)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 11)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 11)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 83)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 47)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 92)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 47)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 101)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 47)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 47)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 119)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 47)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 47)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 47)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 9)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 3)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 3)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 3)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 3)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 3)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 3)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 3)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 9)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 39)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 39)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 39)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 39)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 39)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 39)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 39)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 10)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 4)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 19)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 4)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 4)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 37)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 4)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 46)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 4)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 4)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 4)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 10)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 40)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 19)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 40)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 40)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 37)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 40)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 46)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 40)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 40)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 40)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 11)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 5)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 20)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 5)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 5)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 38)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 5)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 47)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 5)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 5)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 5)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 11)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 41)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 20)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 41)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 41)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 38)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 41)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 47)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 41)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 41)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 41)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 90)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 12)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 99)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 12)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 12)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 117)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 12)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 12)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 12)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 144)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 12)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 90)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 48)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 99)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 48)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 48)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 117)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 48)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 48)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 48)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 144)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 48)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 91)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 13)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 100)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 13)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 13)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 118)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 13)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 13)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 13)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 145)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 13)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 91)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 49)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 100)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 49)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 49)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 118)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 49)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 49)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 49)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 145)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 49)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 92)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 14)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 101)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 14)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 14)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 119)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 14)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 14)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 14)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 146)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 14)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 92)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 50)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 101)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 50)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 50)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 119)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 50)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 50)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 50)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 146)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 50)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 6)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 6)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 6)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 6)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 6)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 6)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 72)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 6)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 42)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 42)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 42)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 42)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 42)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 63)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 42)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 72)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 42)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 19)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 7)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 7)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 37)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 7)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 46)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 7)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 7)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 7)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 73)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 7)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 19)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 43)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 28)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 43)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 37)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 43)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 46)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 43)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 55)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 43)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 64)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 43)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 73)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 43)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 20)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 8)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 8)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 38)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 8)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 47)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 8)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 8)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 8)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 74)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 8)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 20)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 44)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 29)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 44)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 38)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 44)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 47)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 44)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 56)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 44)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 65)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 44)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 74)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 44)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 99)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 15)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 15)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 117)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 15)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 15)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 15)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 144)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 15)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 153)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 15)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 99)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 51)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 108)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 51)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 117)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 51)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 126)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 51)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 135)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 51)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 144)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 51)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 153)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 51)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 100)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 16)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 16)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 118)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 16)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 16)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 16)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 145)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 16)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 154)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 16)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 100)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 52)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 109)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 52)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 118)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 52)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 127)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 52)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 136)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 52)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 145)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 52)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 154)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 52)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 101)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 17)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 17)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 119)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 17)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 17)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 17)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 146)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 17)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 155)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 17)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 101)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 53)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 110)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 53)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 119)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 53)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 128)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 53)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 137)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 53)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 146)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 53)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 155)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 53)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 162)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 18)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 171)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 18)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 180)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 18)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 18)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 198)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 18)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 207)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 18)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 216)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 18)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 162)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 54)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 171)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 54)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 180)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 54)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 54)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 198)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 54)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 207)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 54)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 216)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 54)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 163)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 19)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 172)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 19)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 181)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 19)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 19)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 199)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 19)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 208)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 19)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 217)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 19)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 163)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 55)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 172)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 55)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 181)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 55)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 55)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 199)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 55)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 208)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 55)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 217)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 55)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 164)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 20)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 173)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 20)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 182)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 20)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 20)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 200)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 20)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 209)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 20)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 218)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 20)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 164)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 56)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 173)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 56)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 182)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 56)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 56)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 200)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 56)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 209)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 56)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 218)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 56)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 243)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 27)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 27)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 261)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 27)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 270)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 27)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 279)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 27)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 288)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 27)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 297)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 27)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 243)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 63)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 63)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 261)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 63)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 270)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 63)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 279)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 63)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 288)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 63)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 297)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 63)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 244)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 28)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 28)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 262)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 28)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 271)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 28)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 280)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 28)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 289)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 28)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 298)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 28)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 244)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 64)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 64)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 262)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 64)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 271)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 64)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 280)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 64)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 289)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 64)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 298)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 64)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 245)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 29)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 29)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 263)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 29)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 272)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 29)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 281)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 29)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 290)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 29)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 299)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 29)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 245)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 65)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 65)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 263)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 65)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 272)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 65)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 281)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 65)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 290)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 65)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 299)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 65)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 171)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 21)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 180)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 21)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 21)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 198)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 21)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 207)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 21)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 216)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 21)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 225)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 21)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 171)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 57)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 180)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 57)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 57)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 198)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 57)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 207)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 57)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 216)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 57)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 225)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 57)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 172)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 22)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 181)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 22)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 22)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 199)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 22)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 208)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 22)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 217)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 22)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 226)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 22)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 172)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 58)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 181)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 58)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 58)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 199)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 58)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 208)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 58)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 217)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 58)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 226)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 58)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 173)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 23)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 182)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 23)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 23)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 200)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 23)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 209)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 23)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 218)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 23)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 227)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 23)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 173)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 59)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 182)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 59)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 59)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 200)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 59)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 209)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 59)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 218)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 59)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 227)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 59)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 30)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 261)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 30)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 270)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 30)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 279)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 30)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 288)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 30)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 297)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 30)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 306)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 30)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 252)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 66)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 261)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 66)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 270)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 66)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 279)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 66)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 288)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 66)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 297)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 66)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 306)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 66)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 31)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 262)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 31)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 271)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 31)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 280)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 31)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 289)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 31)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 298)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 31)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 307)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 31)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 253)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 67)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 262)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 67)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 271)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 67)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 280)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 67)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 289)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 67)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 298)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 67)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 307)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 67)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 32)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 263)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 32)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 272)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 32)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 281)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 32)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 290)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 32)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 299)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 32)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 308)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 32)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 254)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 68)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 263)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 68)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 272)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 68)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 281)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 68)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 290)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 68)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 299)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 68)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 308)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 68)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 180)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 24)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 24)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 198)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 24)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 207)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 24)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 216)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 24)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 225)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 24)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 234)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 24)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 180)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 60)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 189)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 60)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 198)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 60)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 207)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 60)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 216)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 60)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 225)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 60)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 234)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 60)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 181)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 25)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 25)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 199)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 25)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 208)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 25)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 217)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 25)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 226)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 25)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 235)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 25)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 181)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 61)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 190)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 61)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 199)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 61)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 208)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 61)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 217)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 61)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 226)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 61)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 235)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 61)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 182)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 26)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 26)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 200)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 26)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 209)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 26)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 218)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 26)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 227)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 26)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 236)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 26)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 182)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 62)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 191)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 62)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 200)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 62)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 209)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 62)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 218)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 62)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 227)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 62)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 236)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 62)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 261)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 33)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 270)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 33)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 279)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 33)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 288)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 33)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 297)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 33)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 306)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 33)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 33)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 261)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 69)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 270)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 69)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 279)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 69)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 288)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 69)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 297)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 69)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 306)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 69)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 315)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 69)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 262)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 34)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 271)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 34)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 280)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 34)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 289)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 34)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 298)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 34)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 307)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 34)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 34)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 262)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 70)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 271)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 70)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 280)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 70)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 289)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 70)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 298)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 70)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 307)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 70)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 316)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 70)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 263)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 35)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 272)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 35)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 281)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 35)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 290)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 35)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 299)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 35)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 308)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 35)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 35)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 263)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 71)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 272)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 71)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 281)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 71)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 290)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 71)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 299)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 71)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 308)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 71)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((int)threadIdx.x) % 7) + 317)] * kernel_shared[(((((int)threadIdx.x) / 7) * 72) + 71)]));
+    for (int rc_inner = 0; rc_inner &lt; 16; ++rc_inner) {
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((rc_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9))]));
+      conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[((rc_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4608)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9))]));
+      conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4608)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9))]));
+      conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4608)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9))]));
+      conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4608)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9))]));
+      conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4608)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9))]));
+      conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4608)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9))]));
+      conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4608)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((rc_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 144)]));
+      conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[((rc_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4752)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 144)]));
+      conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4752)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 144)]));
+      conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4752)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 144)]));
+      conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4752)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 144)]));
+      conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4752)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 144)]));
+      conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4752)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 144)]));
+      conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4752)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 1)]));
+      conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4609)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 1)]));
+      conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4609)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 1)]));
+      conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4609)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 1)]));
+      conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4609)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 1)]));
+      conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4609)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 1)]));
+      conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4609)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 1)]));
+      conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4609)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 145)]));
+      conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4753)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 145)]));
+      conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4753)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 145)]));
+      conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4753)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 145)]));
+      conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4753)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 145)]));
+      conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4753)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 145)]));
+      conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4753)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 145)]));
+      conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4753)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 2)]));
+      conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4610)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 2)]));
+      conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4610)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 2)]));
+      conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4610)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 2)]));
+      conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4610)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 2)]));
+      conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4610)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 2)]));
+      conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4610)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 2)]));
+      conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4610)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 146)]));
+      conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4754)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 146)]));
+      conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4754)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 146)]));
+      conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4754)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 146)]));
+      conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4754)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 146)]));
+      conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4754)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 146)]));
+      conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4754)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 146)]));
+      conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4754)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 3)]));
+      conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4611)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 3)]));
+      conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4611)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 3)]));
+      conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4611)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 3)]));
+      conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4611)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 3)]));
+      conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4611)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 3)]));
+      conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4611)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 3)]));
+      conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4611)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 147)]));
+      conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4755)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 147)]));
+      conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4755)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 147)]));
+      conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4755)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 147)]));
+      conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4755)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 147)]));
+      conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4755)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 147)]));
+      conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4755)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 147)]));
+      conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4755)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4)]));
+      conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4612)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4)]));
+      conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4612)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4)]));
+      conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4612)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4)]));
+      conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4612)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4)]));
+      conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4612)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4)]));
+      conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4612)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4)]));
+      conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4612)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 148)]));
+      conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4756)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 148)]));
+      conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4756)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 148)]));
+      conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4756)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 148)]));
+      conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4756)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 148)]));
+      conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4756)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 148)]));
+      conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4756)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 148)]));
+      conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4756)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 5)]));
+      conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4613)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 5)]));
+      conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4613)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 5)]));
+      conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4613)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 5)]));
+      conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4613)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 5)]));
+      conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4613)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 5)]));
+      conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4613)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 5)]));
+      conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4613)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 149)]));
+      conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4757)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 149)]));
+      conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4757)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 149)]));
+      conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4757)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 149)]));
+      conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4757)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 149)]));
+      conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4757)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 149)]));
+      conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4757)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 149)]));
+      conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4757)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 6)]));
+      conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4614)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 6)]));
+      conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4614)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 6)]));
+      conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4614)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 6)]));
+      conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4614)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 6)]));
+      conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4614)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 6)]));
+      conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4614)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 6)]));
+      conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4614)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 150)]));
+      conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4758)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 150)]));
+      conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4758)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 150)]));
+      conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4758)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 150)]));
+      conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4758)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 150)]));
+      conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4758)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 150)]));
+      conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4758)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 150)]));
+      conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4758)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 7)]));
+      conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4615)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 7)]));
+      conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4615)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 7)]));
+      conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4615)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 7)]));
+      conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4615)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 7)]));
+      conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4615)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 7)]));
+      conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4615)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 7)]));
+      conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4615)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 151)]));
+      conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4759)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 151)]));
+      conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4759)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 151)]));
+      conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4759)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 151)]));
+      conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4759)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 151)]));
+      conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4759)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 151)]));
+      conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4759)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 151)]));
+      conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4759)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 8)]));
+      conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4616)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 8)]));
+      conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4616)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 8)]));
+      conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4616)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 8)]));
+      conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4616)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 8)]));
+      conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4616)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 8)]));
+      conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4616)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 8)]));
+      conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4616)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 152)]));
+      conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4760)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 152)]));
+      conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4760)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 152)]));
+      conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4760)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 152)]));
+      conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4760)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 152)]));
+      conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4760)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 152)]));
+      conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4760)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 152)]));
+      conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_inner * 9)) + 4760)]));
+    }
   }
   for (int i1_inner = 0; i1_inner &lt; 2; ++i1_inner) {
-    compute[((((((int)blockIdx.x) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7))] = max((conv2d_nchw[i1_inner] + bias[(((((int)blockIdx.x) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
-    compute[(((((((int)blockIdx.x) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 7)] = max((conv2d_nchw[(i1_inner + 2)] + bias[(((((int)blockIdx.x) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
-    compute[(((((((int)blockIdx.x) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 14)] = max((conv2d_nchw[(i1_inner + 4)] + bias[(((((int)blockIdx.x) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
-    compute[(((((((int)blockIdx.x) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 21)] = max((conv2d_nchw[(i1_inner + 6)] + bias[(((((int)blockIdx.x) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
-    compute[(((((((int)blockIdx.x) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 28)] = max((conv2d_nchw[(i1_inner + 8)] + bias[(((((int)blockIdx.x) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
-    compute[(((((((int)blockIdx.x) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 35)] = max((conv2d_nchw[(i1_inner + 10)] + bias[(((((int)blockIdx.x) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
-    compute[(((((((int)blockIdx.x) * 784) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 42)] = max((conv2d_nchw[(i1_inner + 12)] + bias[(((((int)blockIdx.x) * 16) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
+    for (int i2_inner = 0; i2_inner &lt; 7; ++i2_inner) {
+      compute[(((((((int)blockIdx.x) * 3136) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (i2_inner * 7)) + (((int)threadIdx.x) % 7))] = max((conv2d_nchw[((i1_inner * 7) + i2_inner)] + bias[(((((int)blockIdx.x) * 64) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
+      compute[((((((((int)blockIdx.x) * 3136) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (i2_inner * 7)) + (((int)threadIdx.x) % 7)) + 1568)] = max((conv2d_nchw[(((i1_inner * 7) + i2_inner) + 14)] + bias[((((((int)blockIdx.x) * 64) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner) + 32)]), 0.000000e+00f);
+    }
   }
 }
 </pre></div>
@@ -1821,7 +1575,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> ( 6 minutes  18.063 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 6 minutes  13.990 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 74363d2133..7f87a621cd 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
@@ -921,7 +921,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)
-   8.1097       8.1039       8.1265       8.0986       0.0121
+   8.0991       8.0963       8.1155       8.0854       0.0124
 </pre></div>
 </div>
 </div>
@@ -943,7 +943,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  12.634 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  11.538 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autoscheduler-tune-network-cuda-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/eafe360d52540634c9eea0fa89e804bd/tune_network_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_network_cuda.py</span></code></a></p>
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 99151ede1d..1a31d0bfe4 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
@@ -940,7 +940,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)
-  757.1253     757.3586     758.0833     755.9341      0.8928
+  752.8227     753.6648     754.0578     750.7456      1.4775
 </pre></div>
 </div>
 </div>
@@ -962,7 +962,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  45.063 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  43.127 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 130d948970..862e082c6b 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
@@ -637,87 +637,75 @@ class Module:
     @T.prim_func
     def main(placeholder: T.Buffer((128, 256), &quot;float32&quot;), placeholder_1: T.Buffer((4916, 16, 1), &quot;float32&quot;), placeholder_2: T.Buffer((4916,), &quot;int32&quot;), placeholder_3: T.Buffer((33,), &quot;int32&quot;), placeholder_4: T.Buffer((128, 512), &quot;float32&quot;), compute: T.Buffer((128, 512), &quot;float32&quot;)):
         T.func_attr({&quot;from_legacy_te_schedule&quot;: T.bool(True), &quot;global_symbol&quot;: &quot;main&quot;, &quot;tir.noalias&quot;: T.bool(True)})
-        for i0_outer_i1_outer_fused in T.parallel(64):
-            compute_1 = T.allocate([1024], &quot;float32&quot;, &quot;global&quot;)
-            compute_2 = T.Buffer((1024,), data=compute_1)
-            for i_inner_init in range(64):
-                cse_var_1: T.int32 = i_inner_init * 16
-                compute_2[cse_var_1] = T.float32(0)
-                compute_2[cse_var_1 + 1] = T.float32(0)
-                compute_2[cse_var_1 + 2] = T.float32(0)
-                compute_2[cse_var_1 + 3] = T.float32(0)
-                compute_2[cse_var_1 + 4] = T.float32(0)
-                compute_2[cse_var_1 + 5] = T.float32(0)
-                compute_2[cse_var_1 + 6] = T.float32(0)
-                compute_2[cse_var_1 + 7] = T.float32(0)
-                compute_2[cse_var_1 + 8] = T.float32(0)
-                compute_2[cse_var_1 + 9] = T.float32(0)
-                compute_2[cse_var_1 + 10] = T.float32(0)
-                compute_2[cse_var_1 + 11] = T.float32(0)
-                compute_2[cse_var_1 + 12] = T.float32(0)
-                compute_2[cse_var_1 + 13] = T.float32(0)
-                compute_2[cse_var_1 + 14] = T.float32(0)
-                compute_2[cse_var_1 + 15] = T.float32(0)
-            for elem_idx, i_inner in T.grid(T.Let(placeholder_5[cse_var_2 + 1] - placeholder_5[cse_var_2], where={cse_var_2: i0_outer_i1_outer_fused % 32}), 64):
-                cse_var_2 = T.int32()
-                placeholder_5 = T.Buffer((33,), &quot;int32&quot;, data=placeholder_3.data)
-                cse_var_3: T.int32 = i0_outer_i1_outer_fused % 32
-                placeholder_6 = T.Buffer((78656,), data=placeholder_1.data)
-                placeholder_7 = T.Buffer((32768,), data=placeholder.data)
-                placeholder_8 = T.Buffer((4916,), &quot;int32&quot;, data=placeholder_2.data)
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_4: T.int32 = i_inner * 16
-                    compute_2[cse_var_4] = compute_2[cse_var_4] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_5: T.int32 = i_inner * 16 + 1
-                    compute_2[cse_var_5] = compute_2[cse_var_5] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 1] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_6: T.int32 = i_inner * 16 + 2
-                    compute_2[cse_var_6] = compute_2[cse_var_6] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 2] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_7: T.int32 = i_inner * 16 + 3
-                    compute_2[cse_var_7] = compute_2[cse_var_7] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 3] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_8: T.int32 = i_inner * 16 + 4
-                    compute_2[cse_var_8] = compute_2[cse_var_8] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 4] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_9: T.int32 = i_inner * 16 + 5
-                    compute_2[cse_var_9] = compute_2[cse_var_9] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 5] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_10: T.int32 = i_inner * 16 + 6
-                    compute_2[cse_var_10] = compute_2[cse_var_10] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 6] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_11: T.int32 = i_inner * 16 + 7
-                    compute_2[cse_var_11] = compute_2[cse_var_11] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 7] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_12: T.int32 = i_inner * 16 + 8
-                    compute_2[cse_var_12] = compute_2[cse_var_12] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 8] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_13: T.int32 = i_inner * 16 + 9
-                    compute_2[cse_var_13] = compute_2[cse_var_13] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 9] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_14: T.int32 = i_inner * 16 + 10
-                    compute_2[cse_var_14] = compute_2[cse_var_14] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 10] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_15: T.int32 = i_inner * 16 + 11
-                    compute_2[cse_var_15] = compute_2[cse_var_15] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 11] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_16: T.int32 = i_inner * 16 + 12
-                    compute_2[cse_var_16] = compute_2[cse_var_16] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 12] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_17: T.int32 = i_inner * 16 + 13
-                    compute_2[cse_var_17] = compute_2[cse_var_17] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 13] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_18: T.int32 = i_inner * 16 + 14
-                    compute_2[cse_var_18] = compute_2[cse_var_18] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 14] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-                if T.likely(elem_idx &lt; placeholder_5[cse_var_3 + 1] - placeholder_5[cse_var_3]):
-                    cse_var_19: T.int32 = i_inner * 16 + 15
-                    compute_2[cse_var_19] = compute_2[cse_var_19] + placeholder_6[placeholder_5[cse_var_3] * 16 + elem_idx * 16 + 15] * T.max(placeholder_7[i0_outer_i1_outer_fused // 32 * 16384 + i_inner * 256 + placeholder_8[placeholder_5[cse_var_3] + elem_idx]], T.float32(0))
-            for i0_inner, i1_inner in T.grid(64, 16):
-                cse_var_20: T.int32 = i0_outer_i1_outer_fused // 32 * 32768 + i0_inner * 512 + i0_outer_i1_outer_fused % 32 * 16 + i1_inner
-                compute_3 = T.Buffer((65536,), data=compute.data)
-                placeholder_5 = T.Buffer((65536,), data=placeholder_4.data)
-                compute_3[cse_var_20] = T.max(compute_2[i0_inner * 16 + i1_inner] + placeholder_5[cse_var_20], T.float32(0))
+        for i0_outer in T.parallel(2):
+            compute_1 = T.allocate([2048], &quot;float32&quot;, &quot;global&quot;)
+            for i1_outer in range(16):
+                compute_2 = T.Buffer((2048,), data=compute_1)
+                for nb_j_inner in range(2):
+                    for i_inner_init in range(64):
+                        cse_var_1: T.int32 = i_inner_init * 32 + nb_j_inner * 16
+                        compute_2[cse_var_1] = T.float32(0)
+                        compute_2[cse_var_1 + 1] = T.float32(0)
+                        compute_2[cse_var_1 + 2] = T.float32(0)
+                        compute_2[cse_var_1 + 3] = T.float32(0)
+                        compute_2[cse_var_1 + 4] = T.float32(0)
+                        compute_2[cse_var_1 + 5] = T.float32(0)
+                        compute_2[cse_var_1 + 6] = T.float32(0)
+                        compute_2[cse_var_1 + 7] = T.float32(0)
+                        compute_2[cse_var_1 + 8] = T.float32(0)
+                        compute_2[cse_var_1 + 9] = T.float32(0)
+                        compute_2[cse_var_1 + 10] = T.float32(0)
+                        compute_2[cse_var_1 + 11] = T.float32(0)
+                        compute_2[cse_var_1 + 12] = T.float32(0)
+                        compute_2[cse_var_1 + 13] = T.float32(0)
+                        compute_2[cse_var_1 + 14] = T.float32(0)
+                        compute_2[cse_var_1 + 15] = T.float32(0)
+                    for elem_idx, i_inner in T.grid(T.Let(placeholder_5[cse_var_2 + 1] - placeholder_5[cse_var_2], where={cse_var_2: i1_outer * 2 + nb_j_inner}), 64):
+                        cse_var_2 = T.int32()
+                        placeholder_5 = T.Buffer((33,), &quot;int32&quot;, data=placeholder_3.data)
+                        cse_var_21: T.int32 = elem_idx * 16
+                        cse_var_20: T.int32 = i1_outer * 2 + nb_j_inner
+                        cse_var_19: T.int32 = i0_outer * 16384 + i_inner * 256
+                        cse_var_18: T.int32 = i_inner * 32 + nb_j_inner * 16
+                        cse_var_17: T.int32 = cse_var_18 + 9
+                        cse_var_16: T.int32 = cse_var_18 + 8
+                        cse_var_15: T.int32 = cse_var_18 + 7
+                        cse_var_14: T.int32 = cse_var_18 + 6
+                        cse_var_13: T.int32 = cse_var_18 + 5
+                        cse_var_12: T.int32 = cse_var_18 + 4
+                        cse_var_11: T.int32 = cse_var_18 + 3
+                        cse_var_10: T.int32 = cse_var_18 + 2
+                        cse_var_9: T.int32 = cse_var_18 + 15
+                        cse_var_8: T.int32 = cse_var_18 + 14
+                        cse_var_7: T.int32 = cse_var_18 + 13
+                        cse_var_6: T.int32 = cse_var_18 + 12
+                        cse_var_5: T.int32 = cse_var_18 + 11
+                        cse_var_4: T.int32 = cse_var_18 + 10
+                        cse_var_3: T.int32 = cse_var_18 + 1
+                        placeholder_6 = T.Buffer((78656,), data=placeholder_1.data)
+                        placeholder_7 = T.Buffer((32768,), data=placeholder.data)
+                        placeholder_8 = T.Buffer((4916,), &quot;int32&quot;, data=placeholder_2.data)
+                        compute_2[cse_var_18] = compute_2[cse_var_18] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_3] = compute_2[cse_var_3] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 1] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_10] = compute_2[cse_var_10] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 2] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_11] = compute_2[cse_var_11] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 3] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_12] = compute_2[cse_var_12] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 4] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_13] = compute_2[cse_var_13] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 5] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_14] = compute_2[cse_var_14] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 6] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_15] = compute_2[cse_var_15] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 7] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_16] = compute_2[cse_var_16] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 8] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_17] = compute_2[cse_var_17] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 9] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_4] = compute_2[cse_var_4] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 10] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_5] = compute_2[cse_var_5] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 11] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_6] = compute_2[cse_var_6] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 12] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_7] = compute_2[cse_var_7] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 13] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_8] = compute_2[cse_var_8] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 14] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                        compute_2[cse_var_9] = compute_2[cse_var_9] + placeholder_6[placeholder_5[cse_var_20] * 16 + cse_var_21 + 15] * T.max(placeholder_7[cse_var_19 + placeholder_8[placeholder_5[cse_var_20] + elem_idx]], T.float32(0))
+                for i0_inner in range(64):
+                    cse_var_22: T.int32 = i0_outer * 32768 + i0_inner * 512 + i1_outer * 32
+                    compute_3 = T.Buffer((65536,), data=compute.data)
+                    placeholder_5 = T.Buffer((65536,), data=placeholder_4.data)
+                    compute_3[cse_var_22:cse_var_22 + 32] = T.max(compute_2[i0_inner * 32:i0_inner * 32 + 32] + placeholder_5[cse_var_22:cse_var_22 + 32], T.Broadcast(T.float32(0), 32))
 </pre></div>
 </div>
 </div>
@@ -751,7 +739,7 @@ class Module:
 <span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.833 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.802 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 da59ff4c6d..80877a540d 100644
--- a/docs/how_to/tune_with_autotvm/sg_execution_times.html
+++ b/docs/how_to/tune_with_autotvm/sg_execution_times.html
@@ -345,7 +345,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:52.087</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
+<p><strong>00:47.201</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 84%" />
@@ -354,11 +354,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:52.053</p></td>
+<td><p>00:47.166</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.020</p></td>
+<td><p>00:00.022</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>
@@ -366,11 +366,11 @@
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tune_relay_arm.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-arm-py"><span class="std std-ref">Auto-tuning a Convolutional Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_arm.py</span></code>)</p></td>
-<td><p>00:00.005</p></td>
+<td><p>00:00.004</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="tune_relay_mobile_gpu.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-mobile-gpu-py"><span class="std std-ref">Auto-tuning a Convolutional Network for Mobile GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_mobile_gpu.py</span></code>)</p></td>
-<td><p>00:00.005</p></td>
+<td><p>00:00.004</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
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 5c10b37963..3b4b2b5263 100644
--- a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
+++ b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
@@ -695,26 +695,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 2, 16]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 8]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,8427052
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 2, 256]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 256, 2]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2388758
 No: 2   GFLOPS: 0.00/0.00       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
-    return self.__get_result()
-  File &quot;/usr/lib/python3.7/concurrent/futures/_base.py&quot;, line 384, in __get_result
-    raise self._exception
-  File &quot;/usr/lib/python3.7/concurrent/futures/thread.py&quot;, line 57, in run
-    result = self.fn(*self.args, **self.kwargs)
-  File &quot;/workspace/python/tvm/contrib/popen_pool.py&quot;, line 432, in &lt;lambda&gt;
-    worker = lambda *args: self._worker_run(*args)
-  File &quot;/workspace/python/tvm/contrib/popen_pool.py&quot;, line 401, in _worker_run
-    return proc.recv()
-  File &quot;/workspace/python/tvm/contrib/popen_pool.py&quot;, line 309, in recv
-    raise TimeoutError()
-TimeoutError
-
-        [(&#39;tile_f&#39;, [-1, 16, 2, 1]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 2, 32]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,7115914
-No: 3   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -836,9 +818,9 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 1, 16]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 1, 256]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,5605986
-No: 4   GFLOPS: 196.02/196.02   result: MeasureResult(costs=(0.001180978640776699,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.347785472869873, timestamp=1680791867.4511259)        [(&#39;tile_f&#39;, [-1, 2, 1, 4]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 16]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,3605901
-No: 5   GFLOPS: 0.00/196.02     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 8, 8]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 64, 1]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6798376
+No: 3   GFLOPS: 9.40/9.40       result: MeasureResult(costs=(0.024635136833333335,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.562204360961914, timestamp=1680803428.0066042)        [(&#39;tile_f&#39;, [-1, 8, 16, 1]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 2, 4]), (&#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;, 1)],None,8009137
+No: 4   GFLOPS: 0.00/9.40       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -960,9 +942,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 4, 8]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 64, 1]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,3315329
-No: 6   GFLOPS: 12.97/196.02    result: MeasureResult(costs=(0.017844907,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.8059096336364746, timestamp=1680791872.012286) [(&#39;tile_f&#39;, [-1, 4, 1, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 32, 16]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,1882377
-No: 7   GFLOPS: 0.00/196.02     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 4, 16]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 512, 1]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9133037
+No: 5   GFLOPS: 0.00/9.40       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -1084,8 +1065,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 16]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 4, 128]), (&#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,6377537
-No: 8   GFLOPS: 0.00/196.02     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 8, 4, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 512]), (&#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;, 0)],None,2321242
+No: 6   GFLOPS: 0.00/9.40       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -1207,11 +1188,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 2, 1]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 8, 16]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,10199656
-No: 9   GFLOPS: 3.17/196.02     result: MeasureResult(costs=(0.07298224625000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.868351936340332, timestamp=1680791878.1871245) [(&#39;tile_f&#39;, [-1, 4, 1, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 32]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4021437
-No: 10  GFLOPS: 37.33/196.02    result: MeasureResult(costs=(0.006201108588235294,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.279516935348511, timestamp=1680791879.0818)   [(&#39;tile_f&#39;, [-1, 4, 4, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 64, 2]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,3541194
-No: 11  GFLOPS: 200.88/200.88   result: MeasureResult(costs=(0.0011524482517985609,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.287382125854492, timestamp=1680791880.2233808)       [(&#39;tile_f&#39;, [-1, 2, 8, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 2, 16]), (&#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,3804362
-No: 12  GFLOPS: 0.00/200.88     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 16, 8, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 512, 1]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6808465
+No: 7   GFLOPS: 0.00/9.40       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -1333,8 +1311,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 16]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 2, 128]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,5405349
-No: 13  GFLOPS: 0.00/200.88     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 16, 16]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 64, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9317402
+No: 8   GFLOPS: 0.00/9.40       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -1456,8 +1434,9 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 128, 2]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 32, 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;, 0)],None,985918
-No: 14  GFLOPS: 0.00/200.88     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 2, 128]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 1, 512]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4065594
+No: 9   GFLOPS: 9.48/9.48       result: MeasureResult(costs=(0.02441596216666667,), error_no=MeasureErrorNo.NO_ERROR, all_cost=9.508664846420288, timestamp=1680803440.8370838) [(&#39;tile_f&#39;, [-1, 2, 2, 32]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 4, 1]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4849211
+No: 10  GFLOPS: 0.00/9.48       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -1579,8 +1558,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 2, 256]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,189986
-No: 15  GFLOPS: 0.00/200.88     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 32, 2, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 16, 1]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,10083769
+No: 11  GFLOPS: 0.00/9.48       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -1702,9 +1681,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 8, 4]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,8405666
-No: 16  GFLOPS: 7.47/200.88     result: MeasureResult(costs=(0.03098060775,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.5830678939819336, timestamp=1680791884.0616179)      [(&#39;tile_f&#39;, [-1, 4, 1, 16]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 2, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,5006
-No: 17  GFLOPS: 0.00/200.88     result: Traceback (most recent call last):
+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, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 4, 64]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2491385
+No: 12  GFLOPS: 0.00/9.48       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -1826,8 +1804,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 128, 1, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 64, 4]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,8415282
-No: 18  GFLOPS: 0.00/200.88     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 16, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 2, 32]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,5566086
+No: 13  GFLOPS: 0.00/9.48       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -1949,9 +1927,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 128, 2, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 128, 4]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,674811
-No: 19  GFLOPS: 11.67/200.88    result: MeasureResult(costs=(0.019845755166666666,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.0372462272644043, timestamp=1680791886.3012998)       [(&#39;tile_f&#39;, [-1, 64, 2, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 2, 8]), (&#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;, 1)],None,5714736
-No: 20  GFLOPS: 0.00/200.88     result: Traceback (most recent call last):
+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, 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;, 512), (&#39;unroll_explicit&#39;, 0)],None,2708616
+No: 14  GFLOPS: 0.00/9.48       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -2073,7 +2050,501 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 8, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 4, 64]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,7331361
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 32, 2, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 512, 1]), (&#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,7391189
+No: 15  GFLOPS: 175.28/175.28   result: MeasureResult(costs=(0.00132072,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.587515115737915, timestamp=1680803445.678157)   [(&#39;tile_f&#39;, [-1, 1, 8, 2]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 8, 2]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,8567099
+No: 16  GFLOPS: 0.00/175.28     result: Traceback (most recent call last):
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
+    func = build(s, args, target=target, runtime=runtime)
+  File &quot;/workspace/python/tvm/driver/build_module.py&quot;, line 227, in build
+    input_mod = lower(inputs, args, name=name, binds=binds)
+  File &quot;/workspace/python/tvm/driver/build_module.py&quot;, line 134, in lower
+    return ffi.lower_schedule(inp, args, name, binds, simple_mode)
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 276, in tvm._ffi._cy3.core.FuncCall
+  File &quot;tvm/_ffi/_cython/./base.pxi&quot;, line 181, in tvm._ffi._cy3.core.CHECK_CALL
+tvm._ffi.base.TVMError: Traceback (most recent call last):
+  24: TVMFuncCall
+        at ../src/runtime/c_runtime_api.cc:477
+  23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  22: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  21: operator()
+        at ../include/tvm/runtime/packed_func.h:1734
+  20: unpack_call&lt;tvm::IRModule, 5, tvm::&lt;lambda(tvm::te::Schedule, const tvm::runtime::Array&lt;tvm::runtime::ObjectRef&gt;&amp;, const tvm::runtime::String&amp;, const tvm::runtime::Map&lt;tvm::te::Tensor, tvm::tir::Buffer&gt;&amp;, bool)&gt; &gt;
+        at ../include/tvm/runtime/packed_func.h:1674
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1649
+  13: operator()
+        at ../src/driver/driver_api.cc:402
+  12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, tvm::GlobalVarSupply, bool)
+        at ../src/driver/driver_api.cc:388
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:283
+  10: tvm::transform::Pass::operator()(tvm::IRModule) const
+        at ../src/ir/transform.cc:258
+  9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:451
+  7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/tir/ir/transform.cc:101
+  5: tvm::runtime::TypedPackedFunc&lt;tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)&gt;::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+        at ../include/tvm/runtime/packed_func.h:1753
+  4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher&lt;tvm::tir::PrimFunc&gt;::run&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::runtime::PackedFunc const&amp;, tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;)
+        at ../include/tvm/runtime/packed_func.h:1697
+  3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;) const
+        at ../include/tvm/runtime/packed_func.h:1621
+  2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  1: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  0: operator()
+        at ../src/runtime/c_runtime_api.cc:534
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+Traceback (most recent call last):
+  24: TVMFuncCall
+        at ../src/runtime/c_runtime_api.cc:477
+  23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  22: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  21: operator()
+        at ../include/tvm/runtime/packed_func.h:1734
+  20: unpack_call&lt;tvm::IRModule, 5, tvm::&lt;lambda(tvm::te::Schedule, const tvm::runtime::Array&lt;tvm::runtime::ObjectRef&gt;&amp;, const tvm::runtime::String&amp;, const tvm::runtime::Map&lt;tvm::te::Tensor, tvm::tir::Buffer&gt;&amp;, bool)&gt; &gt;
+        at ../include/tvm/runtime/packed_func.h:1674
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1649
+  13: operator()
+        at ../src/driver/driver_api.cc:402
+  12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, tvm::GlobalVarSupply, bool)
+        at ../src/driver/driver_api.cc:388
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:283
+  10: tvm::transform::Pass::operator()(tvm::IRModule) const
+        at ../src/ir/transform.cc:258
+  9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:451
+  7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/tir/ir/transform.cc:101
+  5: tvm::runtime::TypedPackedFunc&lt;tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)&gt;::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+        at ../include/tvm/runtime/packed_func.h:1753
+  4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher&lt;tvm::tir::PrimFunc&gt;::run&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::runtime::PackedFunc const&amp;, tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;)
+        at ../include/tvm/runtime/packed_func.h:1697
+  3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;) const
+        at ../include/tvm/runtime/packed_func.h:1621
+  2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  1: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  0: operator()
+        at ../src/runtime/c_runtime_api.cc:534
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 64, 2]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 2, 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;, 1)],None,8036476
+No: 17  GFLOPS: 0.00/175.28     result: Traceback (most recent call last):
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
+    func = build(s, args, target=target, runtime=runtime)
+  File &quot;/workspace/python/tvm/driver/build_module.py&quot;, line 227, in build
+    input_mod = lower(inputs, args, name=name, binds=binds)
+  File &quot;/workspace/python/tvm/driver/build_module.py&quot;, line 134, in lower
+    return ffi.lower_schedule(inp, args, name, binds, simple_mode)
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 276, in tvm._ffi._cy3.core.FuncCall
+  File &quot;tvm/_ffi/_cython/./base.pxi&quot;, line 181, in tvm._ffi._cy3.core.CHECK_CALL
+tvm._ffi.base.TVMError: Traceback (most recent call last):
+  24: TVMFuncCall
+        at ../src/runtime/c_runtime_api.cc:477
+  23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  22: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  21: operator()
+        at ../include/tvm/runtime/packed_func.h:1734
+  20: unpack_call&lt;tvm::IRModule, 5, tvm::&lt;lambda(tvm::te::Schedule, const tvm::runtime::Array&lt;tvm::runtime::ObjectRef&gt;&amp;, const tvm::runtime::String&amp;, const tvm::runtime::Map&lt;tvm::te::Tensor, tvm::tir::Buffer&gt;&amp;, bool)&gt; &gt;
+        at ../include/tvm/runtime/packed_func.h:1674
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1649
+  13: operator()
+        at ../src/driver/driver_api.cc:402
+  12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, tvm::GlobalVarSupply, bool)
+        at ../src/driver/driver_api.cc:388
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:283
+  10: tvm::transform::Pass::operator()(tvm::IRModule) const
+        at ../src/ir/transform.cc:258
+  9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:451
+  7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/tir/ir/transform.cc:101
+  5: tvm::runtime::TypedPackedFunc&lt;tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)&gt;::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+        at ../include/tvm/runtime/packed_func.h:1753
+  4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher&lt;tvm::tir::PrimFunc&gt;::run&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::runtime::PackedFunc const&amp;, tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;)
+        at ../include/tvm/runtime/packed_func.h:1697
+  3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;) const
+        at ../include/tvm/runtime/packed_func.h:1621
+  2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  1: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  0: operator()
+        at ../src/runtime/c_runtime_api.cc:534
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+Traceback (most recent call last):
+  24: TVMFuncCall
+        at ../src/runtime/c_runtime_api.cc:477
+  23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  22: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  21: operator()
+        at ../include/tvm/runtime/packed_func.h:1734
+  20: unpack_call&lt;tvm::IRModule, 5, tvm::&lt;lambda(tvm::te::Schedule, const tvm::runtime::Array&lt;tvm::runtime::ObjectRef&gt;&amp;, const tvm::runtime::String&amp;, const tvm::runtime::Map&lt;tvm::te::Tensor, tvm::tir::Buffer&gt;&amp;, bool)&gt; &gt;
+        at ../include/tvm/runtime/packed_func.h:1674
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1649
+  13: operator()
+        at ../src/driver/driver_api.cc:402
+  12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, tvm::GlobalVarSupply, bool)
+        at ../src/driver/driver_api.cc:388
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:283
+  10: tvm::transform::Pass::operator()(tvm::IRModule) const
+        at ../src/ir/transform.cc:258
+  9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:451
+  7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/tir/ir/transform.cc:101
+  5: tvm::runtime::TypedPackedFunc&lt;tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)&gt;::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+        at ../include/tvm/runtime/packed_func.h:1753
+  4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher&lt;tvm::tir::PrimFunc&gt;::run&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::runtime::PackedFunc const&amp;, tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;)
+        at ../include/tvm/runtime/packed_func.h:1697
+  3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;) const
+        at ../include/tvm/runtime/packed_func.h:1621
+  2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  1: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  0: operator()
+        at ../src/runtime/c_runtime_api.cc:534
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 8]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 16, 2]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,7213737
+No: 18  GFLOPS: 26.18/175.28    result: MeasureResult(costs=(0.008842506333333335,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6490862369537354, timestamp=1680803447.536689)        [(&#39;tile_f&#39;, [-1, 4, 2, 8]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 4]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,5488705
+No: 19  GFLOPS: 0.00/175.28     result: Traceback (most recent call last):
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
+    func = build(s, args, target=target, runtime=runtime)
+  File &quot;/workspace/python/tvm/driver/build_module.py&quot;, line 227, in build
+    input_mod = lower(inputs, args, name=name, binds=binds)
+  File &quot;/workspace/python/tvm/driver/build_module.py&quot;, line 134, in lower
+    return ffi.lower_schedule(inp, args, name, binds, simple_mode)
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 276, in tvm._ffi._cy3.core.FuncCall
+  File &quot;tvm/_ffi/_cython/./base.pxi&quot;, line 181, in tvm._ffi._cy3.core.CHECK_CALL
+tvm._ffi.base.TVMError: Traceback (most recent call last):
+  24: TVMFuncCall
+        at ../src/runtime/c_runtime_api.cc:477
+  23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  22: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  21: operator()
+        at ../include/tvm/runtime/packed_func.h:1734
+  20: unpack_call&lt;tvm::IRModule, 5, tvm::&lt;lambda(tvm::te::Schedule, const tvm::runtime::Array&lt;tvm::runtime::ObjectRef&gt;&amp;, const tvm::runtime::String&amp;, const tvm::runtime::Map&lt;tvm::te::Tensor, tvm::tir::Buffer&gt;&amp;, bool)&gt; &gt;
+        at ../include/tvm/runtime/packed_func.h:1674
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1649
+  13: operator()
+        at ../src/driver/driver_api.cc:402
+  12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, tvm::GlobalVarSupply, bool)
+        at ../src/driver/driver_api.cc:388
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:283
+  10: tvm::transform::Pass::operator()(tvm::IRModule) const
+        at ../src/ir/transform.cc:258
+  9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:451
+  7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/tir/ir/transform.cc:101
+  5: tvm::runtime::TypedPackedFunc&lt;tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)&gt;::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+        at ../include/tvm/runtime/packed_func.h:1753
+  4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher&lt;tvm::tir::PrimFunc&gt;::run&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::runtime::PackedFunc const&amp;, tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;)
+        at ../include/tvm/runtime/packed_func.h:1697
+  3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;) const
+        at ../include/tvm/runtime/packed_func.h:1621
+  2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  1: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  0: operator()
+        at ../src/runtime/c_runtime_api.cc:534
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+Traceback (most recent call last):
+  24: TVMFuncCall
+        at ../src/runtime/c_runtime_api.cc:477
+  23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  22: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  21: operator()
+        at ../include/tvm/runtime/packed_func.h:1734
+  20: unpack_call&lt;tvm::IRModule, 5, tvm::&lt;lambda(tvm::te::Schedule, const tvm::runtime::Array&lt;tvm::runtime::ObjectRef&gt;&amp;, const tvm::runtime::String&amp;, const tvm::runtime::Map&lt;tvm::te::Tensor, tvm::tir::Buffer&gt;&amp;, bool)&gt; &gt;
+        at ../include/tvm/runtime/packed_func.h:1674
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1649
+  13: operator()
+        at ../src/driver/driver_api.cc:402
+  12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, tvm::GlobalVarSupply, bool)
+        at ../src/driver/driver_api.cc:388
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:283
+  10: tvm::transform::Pass::operator()(tvm::IRModule) const
+        at ../src/ir/transform.cc:258
+  9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:451
+  7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/tir/ir/transform.cc:101
+  5: tvm::runtime::TypedPackedFunc&lt;tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)&gt;::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+        at ../include/tvm/runtime/packed_func.h:1753
+  4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher&lt;tvm::tir::PrimFunc&gt;::run&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::runtime::PackedFunc const&amp;, tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;)
+        at ../include/tvm/runtime/packed_func.h:1697
+  3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;) const
+        at ../include/tvm/runtime/packed_func.h:1621
+  2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  1: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  0: operator()
+        at ../src/runtime/c_runtime_api.cc:534
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 1, 16]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 512, 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,9905664
+No: 20  GFLOPS: 0.00/175.28     result: Traceback (most recent call last):
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
+    func = build(s, args, target=target, runtime=runtime)
+  File &quot;/workspace/python/tvm/driver/build_module.py&quot;, line 227, in build
+    input_mod = lower(inputs, args, name=name, binds=binds)
+  File &quot;/workspace/python/tvm/driver/build_module.py&quot;, line 134, in lower
+    return ffi.lower_schedule(inp, args, name, binds, simple_mode)
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 276, in tvm._ffi._cy3.core.FuncCall
+  File &quot;tvm/_ffi/_cython/./base.pxi&quot;, line 181, in tvm._ffi._cy3.core.CHECK_CALL
+tvm._ffi.base.TVMError: Traceback (most recent call last):
+  24: TVMFuncCall
+        at ../src/runtime/c_runtime_api.cc:477
+  23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  22: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  21: operator()
+        at ../include/tvm/runtime/packed_func.h:1734
+  20: unpack_call&lt;tvm::IRModule, 5, tvm::&lt;lambda(tvm::te::Schedule, const tvm::runtime::Array&lt;tvm::runtime::ObjectRef&gt;&amp;, const tvm::runtime::String&amp;, const tvm::runtime::Map&lt;tvm::te::Tensor, tvm::tir::Buffer&gt;&amp;, bool)&gt; &gt;
+        at ../include/tvm/runtime/packed_func.h:1674
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1649
+  13: operator()
+        at ../src/driver/driver_api.cc:402
+  12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, tvm::GlobalVarSupply, bool)
+        at ../src/driver/driver_api.cc:388
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:283
+  10: tvm::transform::Pass::operator()(tvm::IRModule) const
+        at ../src/ir/transform.cc:258
+  9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:451
+  7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/tir/ir/transform.cc:101
+  5: tvm::runtime::TypedPackedFunc&lt;tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)&gt;::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+        at ../include/tvm/runtime/packed_func.h:1753
+  4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher&lt;tvm::tir::PrimFunc&gt;::run&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::runtime::PackedFunc const&amp;, tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;)
+        at ../include/tvm/runtime/packed_func.h:1697
+  3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;) const
+        at ../include/tvm/runtime/packed_func.h:1621
+  2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  1: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  0: operator()
+        at ../src/runtime/c_runtime_api.cc:534
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+Traceback (most recent call last):
+  24: TVMFuncCall
+        at ../src/runtime/c_runtime_api.cc:477
+  23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  22: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  21: operator()
+        at ../include/tvm/runtime/packed_func.h:1734
+  20: unpack_call&lt;tvm::IRModule, 5, tvm::&lt;lambda(tvm::te::Schedule, const tvm::runtime::Array&lt;tvm::runtime::ObjectRef&gt;&amp;, const tvm::runtime::String&amp;, const tvm::runtime::Map&lt;tvm::te::Tensor, tvm::tir::Buffer&gt;&amp;, bool)&gt; &gt;
+        at ../include/tvm/runtime/packed_func.h:1674
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1634
+  14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1649
+  13: operator()
+        at ../src/driver/driver_api.cc:402
+  12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, tvm::GlobalVarSupply, bool)
+        at ../src/driver/driver_api.cc:388
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:283
+  10: tvm::transform::Pass::operator()(tvm::IRModule) const
+        at ../src/ir/transform.cc:258
+  9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:451
+  7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/ir/transform.cc:274
+  6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
+        at ../src/tir/ir/transform.cc:101
+  5: tvm::runtime::TypedPackedFunc&lt;tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)&gt;::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
+        at ../include/tvm/runtime/packed_func.h:1753
+  4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher&lt;tvm::tir::PrimFunc&gt;::run&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::runtime::PackedFunc const&amp;, tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;)
+        at ../include/tvm/runtime/packed_func.h:1697
+  3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;) const
+        at ../include/tvm/runtime/packed_func.h:1621
+  2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
+        at ../include/tvm/runtime/packed_func.h:1217
+  1: Call
+        at ../include/tvm/runtime/packed_func.h:1213
+  0: operator()
+        at ../src/runtime/c_runtime_api.cc:534
+  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 16, 16]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 8]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,7846483
 </pre></div>
 </div>
 <p>Finally we can inspect the best config from log file, check correctness,
@@ -2112,9 +2583,9 @@ and measure running time.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Finish loading 20 records
 
 Best config:
-[(&#39;tile_f&#39;, [-1, 2, 8, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 2, 16]), (&#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,3804362
+[(&#39;tile_f&#39;, [-1, 1, 8, 2]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 8, 2]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,8567099
 Finish loading 20 records
-Time cost of this operator: 0.001506
+Time cost of this operator: 0.001716
 </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 aa210c3a6f..477d55d6be 100644
--- a/docs/how_to/work_with_microtvm/micro_autotune.html
+++ b/docs/how_to/work_with_microtvm/micro_autotune.html
@@ -649,10 +649,10 @@ the tuned operator.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>########## Build without Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  Measurements(us)
 ---------                                     ---                                           --------  -------  -----              ------  -------  ----------------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  315.3     98.725   (1, 2, 10, 10, 3)  2       1        [315.3]
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.113     0.975    (1, 6, 10, 10)     1       1        [3.113]
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.958     0.3      (1, 1, 10, 10, 3)  1       1        [0.958]
-Total_time                                    -                                             319.371   -        -                  -       -        -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  316.3     98.748   (1, 2, 10, 10, 3)  2       1        [316.3]
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.042     0.95     (1, 6, 10, 10)     1       1        [3.042]
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.969     0.303    (1, 1, 10, 10, 3)  1       1        [0.969]
+Total_time                                    -                                             320.311   -        -                  -       -        -
 </pre></div>
 </div>
 </div>
@@ -704,13 +704,13 @@ Total_time                                    -
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>########## Build with Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  Measurements(us)
 ---------                                     ---                                           --------  -------  -----              ------  -------  ----------------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  100.4     97.364   (1, 6, 10, 10, 1)  2       1        [100.4]
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.764     1.71     (1, 6, 10, 10)     1       1        [1.764]
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.954     0.925    (1, 1, 10, 10, 3)  1       1        [0.954]
-Total_time                                    -                                             103.118   -        -                  -       -        -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  107.2     97.628   (1, 6, 10, 10, 1)  2       1        [107.2]
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.765     1.607    (1, 6, 10, 10)     1       1        [1.765]
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.839     0.764    (1, 3, 10, 10, 1)  1       1        [0.839]
+Total_time                                    -                                             109.804   -        -                  -       -        -
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  25.209 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  22.653 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-autotune-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/9ccca8fd489a1486ac71b55a55c320c5/micro_autotune.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_autotune.py</span></code></a></p>
diff --git a/docs/how_to/work_with_microtvm/micro_pytorch.html b/docs/how_to/work_with_microtvm/micro_pytorch.html
index 43c8495308..6386686bf6 100644
--- a/docs/how_to/work_with_microtvm/micro_pytorch.html
+++ b/docs/how_to/work_with_microtvm/micro_pytorch.html
@@ -460,7 +460,7 @@ download a cat image and preprocess it to use as the model input.</p>
 Downloading: &quot;https://download.pytorch.org/models/quantized/mobilenet_v2_qnnpack_37f702c5.pth&quot; to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2_qnnpack_37f702c5.pth
 
   0%|          | 0.00/3.42M [00:00&lt;?, ?B/s]
-100%|##########| 3.42M/3.42M [00:00&lt;00:00, 280MB/s]
+100%|##########| 3.42M/3.42M [00:00&lt;00:00, 45.7MB/s]
 /workspace/python/tvm/relay/frontend/pytorch_utils.py:47: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
   return LooseVersion(torch_ver) &gt; ver
 /venv/apache-tvm-py3.7/lib/python3.7/site-packages/setuptools/_distutils/version.py:346: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
@@ -586,7 +586,7 @@ via the host <cite>main.cc`</cite> or if a Zephyr emulated board is selected as
 Torch top-1 id: 282, class name: tiger cat
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  21.090 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  18.838 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-pytorch-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/12b9ecc04c41abaa12022061771821d1/micro_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">micro_pytorch.py</span></code></a></p>
diff --git a/docs/how_to/work_with_microtvm/micro_train.html b/docs/how_to/work_with_microtvm/micro_train.html
index 71b664ffc9..d60a9d192a 100644
--- a/docs/how_to/work_with_microtvm/micro_train.html
+++ b/docs/how_to/work_with_microtvm/micro_train.html
@@ -528,7 +528,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/tmpgaw1k1ib/images/random&#39;
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&#39;/tmp/tmpww30hnfu/images/random&#39;
 </pre></div>
 </div>
 </div>
@@ -588,8 +588,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="[0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.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/tmpgaw1k1ib/images/target contains 8144 images
-/tmp/tmpgaw1k1ib/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], [0.0, 1.0], [0.0, 1.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]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmpww30hnfu/images/target contains 8144 images
+/tmp/tmpww30hnfu/images/random contains 5000 images
 </pre></div>
 </div>
 </div>
@@ -701,13 +701,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 - 41s - loss: 0.2078 - accuracy: 0.9256 - val_loss: 0.1179 - val_accuracy: 0.9554 - 41s/epoch - 124ms/step
+328/328 - 39s - loss: 0.2041 - accuracy: 0.9268 - val_loss: 0.1426 - val_accuracy: 0.9505 - 39s/epoch - 120ms/step
 Epoch 2/3
-328/328 - 35s - loss: 0.0898 - accuracy: 0.9678 - val_loss: 0.1048 - val_accuracy: 0.9622 - 35s/epoch - 106ms/step
+328/328 - 35s - loss: 0.1003 - accuracy: 0.9645 - val_loss: 0.1111 - val_accuracy: 0.9619 - 35s/epoch - 105ms/step
 Epoch 3/3
-328/328 - 35s - loss: 0.0616 - accuracy: 0.9780 - val_loss: 0.0995 - val_accuracy: 0.9683 - 35s/epoch - 106ms/step
+328/328 - 34s - loss: 0.0673 - accuracy: 0.9734 - val_loss: 0.1161 - val_accuracy: 0.9641 - 34s/epoch - 105ms/step
 
-&lt;keras.callbacks.History object at 0x7f12533c9810&gt;
+&lt;keras.callbacks.History object at 0x7f09c81fc990&gt;
 </pre></div>
 </div>
 </div>
@@ -971,7 +971,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> ( 4 minutes  25.849 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 4 minutes  31.196 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 f13276c329..ada6a66e98 100644
--- a/docs/how_to/work_with_microtvm/sg_execution_times.html
+++ b/docs/how_to/work_with_microtvm/sg_execution_times.html
@@ -345,7 +345,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>07:39.023</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
+<p><strong>07:38.761</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 82%" />
@@ -354,27 +354,27 @@
 </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">5. 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>04:25.849</p></td>
+<td><p>04:31.196</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">6. Model Tuning with microTVM</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_autotune.py</span></code>)</p></td>
-<td><p>01:25.209</p></td>
+<td><p>01:22.653</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="micro_pytorch.html#sphx-glr-how-to-work-with-microtvm-micro-pytorch-py"><span class="std std-ref">4. microTVM PyTorch Tutorial</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_pytorch.py</span></code>)</p></td>
-<td><p>01:21.090</p></td>
+<td><p>01:18.838</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="micro_aot.html#sphx-glr-how-to-work-with-microtvm-micro-aot-py"><span class="std std-ref">3. microTVM Ahead-of-Time (AOT) Compilation</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_aot.py</span></code>)</p></td>
-<td><p>00:10.720</p></td>
+<td><p>00:10.444</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="micro_custom_ide.html#sphx-glr-how-to-work-with-microtvm-micro-custom-ide-py"><span class="std std-ref">9. Bring microTVM to your own development environment</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_custom_ide.py</span></code>)</p></td>
-<td><p>00:08.431</p></td>
+<td><p>00:08.081</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><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">2. microTVM TFLite Tutorial</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tflite.py</span></code>)</p></td>
-<td><p>00:07.725</p></td>
+<td><p>00:07.548</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><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">7. 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 ee19d49eb4..4a5289c8a6 100644
--- a/docs/how_to/work_with_relay/sg_execution_times.html
+++ b/docs/how_to/work_with_relay/sg_execution_times.html
@@ -345,7 +345,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:37.750</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
+<p><strong>00:36.757</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 84%" />
@@ -354,19 +354,19 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="using_pipeline_executor.html#sphx-glr-how-to-work-with-relay-using-pipeline-executor-py"><span class="std std-ref">Using Pipeline Executor in Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_pipeline_executor.py</span></code>)</p></td>
-<td><p>00:33.177</p></td>
+<td><p>00:32.268</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><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:02.961</p></td>
+<td><p>00:02.880</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><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.606</p></td>
+<td><p>00:01.603</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><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>
-<td><p>00:00.007</p></td>
+<td><p>00:00.006</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/work_with_schedules/intrin_math.html b/docs/how_to/work_with_schedules/intrin_math.html
index e81e2a8e2c..dbe7959967 100644
--- a/docs/how_to/work_with_schedules/intrin_math.html
+++ b/docs/how_to/work_with_schedules/intrin_math.html
@@ -554,7 +554,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 0x7f0ea6183440&gt;
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&lt;function my_cuda_math_rule at 0x7f074add9d40&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 63a7e24118..8c5f78e092 100644
--- a/docs/how_to/work_with_schedules/sg_execution_times.html
+++ b/docs/how_to/work_with_schedules/sg_execution_times.html
@@ -345,7 +345,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:08.286</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
+<p><strong>00:08.294</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -354,35 +354,35 @@
 </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:05.481</p></td>
+<td><p>00:05.474</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:01.254</p></td>
+<td><p>00:01.294</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.641</p></td>
+<td><p>00:00.631</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.619</p></td>
+<td><p>00:00.614</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.135</p></td>
+<td><p>00:00.132</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tedd.html#sphx-glr-how-to-work-with-schedules-tedd-py"><span class="std std-ref">Use Tensor Expression Debug Display (TEDD) for Visualization</span></a> (<code class="docutils literal notranslate"><span class="pre">tedd.py</span></code>)</p></td>
-<td><p>00:00.066</p></td>
+<td><p>00:00.065</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><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.059</p></td>
+<td><p>00:00.055</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tuple_inputs.html#sphx-glr-how-to-work-with-schedules-tuple-inputs-py"><span class="std std-ref">Compute and Reduce with Tuple Inputs</span></a> (<code class="docutils literal notranslate"><span class="pre">tuple_inputs.py</span></code>)</p></td>
-<td><p>00:00.031</p></td>
+<td><p>00:00.030</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/objects.inv b/docs/objects.inv
index 835f544cf8..f6a64bc3a2 100644
Binary files a/docs/objects.inv and b/docs/objects.inv differ
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode-members.html b/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode-members.html
index 688044b416..26ffcd9303 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode-members.html
@@ -108,71 +108,72 @@ $(function() {
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ac5e28e0b470d0e9299d953c2ee3f6261">GetConsumers</a>(const BlockRV &amp;block_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a232186c0db6176db56df4cc30dd11829">GetLoops</a>(const BlockRV &amp;block_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a726972ff315c446192df94027ddea032">GetOrAllocRuntimeTypeIndex</a>(const std::string &amp;key, uint32_t static_tindex, uint32_t parent_tindex, uint32_t type_child_slots, bool type_child_slots_can_overflow)</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><span class="mlabel">static</span [...]
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a448d3e3fdd1ba180485bcae68ca528bb">GetProducers</a>(const BlockRV &amp;block_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a3b6d659b1a0a4b8175d7495afc3a791c">GetSRef</a>(const BlockRV &amp;block_rv) const =0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a08f7ed1ef1470fb1c9cfc272e14a1e32">GetSRef</a>(const LoopRV &amp;loop_rv) const =0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a34d50e4b429557302c5c6575bcc706d5">GetSRef</a>(const StmtNode *stmt) const</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a2a52c8522a4bfc7d42a189250a462ce8">GetSRef</a>(const Stmt &amp;stmt) const</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</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#a4d951e51832081b85875669eac90e940">GetTypeKey</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#a5693cbadcc1168b96db7b1cc5c200b86">GetTypeKeyHash</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ac8855eae5db733dcf21542b3dbd06e15">HasBlock</a>(const BlockRV &amp;block_rv) const =0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ac9e5eed7719e322117bde996a171e33a">IncRef</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a90e90b3f4ba8a590baff78c75807bbc7">IsInstance</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a19b026c08dbd41a517544fac0866adec">Merge</a>(const Array&lt; LoopRV &gt; &amp;loop_rvs)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a6dd7ec20629e09cd0be1aa49e5f57c12">mod</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a133436a9ec5c4a768b94102bf95a660b">Object</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ab7968feb6ad38ecaffc320e13819d826">Object</a>(const Object &amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#aa1612f69ea5b4225d4cda759cd517323">Object</a>(Object &amp;&amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a69c32fbd96181f5c21d2c878ab285e4f">operator=</a>(const Object &amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ae341e561272ff43cdcbc927bc29ac50d">operator=</a>(Object &amp;&amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a1ac39c82aee1f8de30d5871d5923fc24">PadEinsum</a>(const BlockRV &amp;block_rv, const Array&lt; Integer &gt; &amp;padding)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a553dc17c0b49b175cd16881c81b6c789">Parallel</a>(const LoopRV &amp;loop_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a2f454daf29e582a65ffe361e958122df">ReadAt</a>(const LoopRV &amp;loop_rv, const BlockRV &amp;block_rv, int read_buffer_index, const String &amp;storage_scope)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a0d492efee331e2239a093f4b2017c10f">ref_counter_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a55549a6c23987890246248682560a03d">RefCounterType</a> typedef</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a9e36a8a0e37a76e55068dd534e28c8c5">ReIndex</a>(const BlockRV &amp;block_rv, int buffer_index, BufferIndexType buffer_index_type)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a2625f87c74fe0cbc95006c763bb172b3">ReindexCacheRead</a>(const BlockRV &amp;block_rv, int read_buffer_index, const String &amp;storage_scope, const IndexMap &amp;index_map)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#af3983a7f5d094529049d83ce22d7b729">ReindexCacheWrite</a>(const BlockRV &amp;block_rv, int write_buffer_index, const String &amp;storage_scope, const IndexMap &amp;index_map)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a70d353bb52f6fa29fedeb90a6ff872d5">RemoveRV</a>(const BlockRV &amp;block_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a7c44d4f4ea662291ccb9d79383b6fefe">RemoveRV</a>(const LoopRV &amp;loop_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a00fcf343d2bc8f36f170c04e5e29d2dc">RemoveRV</a>(const ExprRV &amp;expr_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a059229fe0e254961da406807a97f7a3d">Reorder</a>(const Array&lt; LoopRV &gt; &amp;ordered_loop_rvs)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a3c3024de7f2da68069e593bb8ad64f7f">ReorderBlockIterVar</a>(const BlockRV &amp;block_rv, const Array&lt; Integer &gt; new_order)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ad75e0424902b06dca23d46807a9a47d5">ReverseComputeAt</a>(const BlockRV &amp;block_rv, const LoopRV &amp;loop_rv, bool preserve_unit_loops, int index=-1)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a99c902d903680da14339842dd2fd29c7">ReverseComputeInline</a>(const BlockRV &amp;block)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ab185c8eac1065290d84d58e7f4617232">RFactor</a>(const LoopRV &amp;loop_rv, int factor_axis)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ab1d1f70230fa5f01d406fc122e62b190">RollingBuffer</a>(const BlockRV &amp;block_rv, int write_buffer_index)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ad94d79729ac85aa7c976e23d39066383">RuntimeTypeIndex</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ab9d2b3a98335b88f168b69deed49eb19">SampleCategorical</a>(const Array&lt; Integer &gt; &amp;candidates, const Array&lt; FloatImm &gt; &amp;probs, Optional&lt; Integer &gt; decision=NullOpt)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#abf9fbec94271b7512c24b6eced230c39">SampleComputeLocation</a>(const BlockRV &amp;block_rv, Optional&lt; Integer &gt; decision=NullOpt)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a2c62b3f9486dd35714df50bc424d6698">SamplePerfectTile</a>(const LoopRV &amp;loop_rv, int n, int max_innermost_factor, Optional&lt; Array&lt; Integer &gt;&gt; decision=NullOpt)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#aae5808dc2e987bf17ef42196457a654d">Schedule</a> class</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a3cb60d6112fe5a443ef39bc005c9fbf1">Seed</a>(support::LinearCongruentialEngine::TRandState seed)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a025b5eef0c2516fc1f72eed9ced88807">SetAxisSeparator</a>(const BlockRV &amp;block_rv, int buffer_index, BufferIndexType buffer_index_type, const Array&lt; IntImm &gt; &amp;axis_separators)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#aa4760135d373af488a08aaeba7114c48">SetScope</a>(const BlockRV &amp;block_rv, int buffer_index, const String &amp;storage_scope)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ac190a0ab76d8754a35209479bcc6dfa2">Split</a>(const LoopRV &amp;loop_rv, const Array&lt; Optional&lt; ExprRV &gt;&gt; &amp;factors, bool preserve_unit_iters=true)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#abb3612c2598fa2d3ee0e6e3fc3de8a26">state</a>() const =0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a93d1d23f24d903db844f75f51fe09a36">StorageAlign</a>(const BlockRV &amp;block_rv, int buffer_index, int axis, int factor, int offset)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a66983e2dde6aeb18b443616398fff8bf">Tensorize</a>(const LoopRV &amp;loop_rv, const String &amp;intrin, bool preserve_unit_iters=true)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#afa67abdb51145a49d42cd1464429d928">Tensorize</a>(const BlockRV &amp;block_rv, const String &amp;intrin, bool preserve_unit_iters=true)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a953bca4123b5a758adfdcd65634a5f3b">trace</a>() const =0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a998b22e37ef63a697a984c8ebcc39ca2">TransformBlockLayout</a>(const BlockRV &amp;block_rv, const IndexMap &amp;index_map)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#af4943cc242cec3064a5127515c22219b">TransformLayout</a>(const BlockRV &amp;block_rv, int buffer_index, BufferIndexType buffer_index_type, const IndexMap &amp;index_map, const Optional&lt; IndexMap &gt; &amp;pad_value=NullOpt, bool assume_injective_transform=false)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><sp [...]
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#abc4294398b140f3ff13a33f94a2f9e5f">TVM_DECLARE_FINAL_OBJECT_INFO</a>(ScheduleNode, runtime::Object)</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</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_1tir_1_1ScheduleNode.html#a45cd553c09ec836dfcbff81379647f07">Unannotate</a>(const LoopRV &amp;loop_rv, const String &amp;ann_key)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a7c310bca5d1583e61a3f27052a1dd5d0">Unannotate</a>(const BlockRV &amp;block_rv, const String &amp;ann_key)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</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="classtvm_1_1tir_1_1ScheduleNode.html#a84ec742f6295f59390592a6d0d90a552">Unroll</a>(const LoopRV &amp;loop_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ac797a00135c910d65da297038b930ed6">UnsafeSetDType</a>(const BlockRV &amp;block_rv, int buffer_index, const String &amp;dtype)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ab4a8cd91959ceab22855ec338978bcee">Vectorize</a>(const LoopRV &amp;loop_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#acb747d074e1f99477f7132e4614221a3">WorkOn</a>(const String &amp;func_name)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ad66f22b795a1e34cb3c42e691e5864a7">WriteAt</a>(const LoopRV &amp;loop_rv, const BlockRV &amp;block_rv, int write_buffer_index, const String &amp;storage_scope)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ae637f126412479ed9bec05fd55376f7f">~ScheduleNode</a>()=default</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a97a6944e435ed71cbdddbd8b2f4415a4">GetOutputBlocks</a>(const BlockRV &amp;scope_block_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a448d3e3fdd1ba180485bcae68ca528bb">GetProducers</a>(const BlockRV &amp;block_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a3b6d659b1a0a4b8175d7495afc3a791c">GetSRef</a>(const BlockRV &amp;block_rv) const =0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a08f7ed1ef1470fb1c9cfc272e14a1e32">GetSRef</a>(const LoopRV &amp;loop_rv) const =0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a34d50e4b429557302c5c6575bcc706d5">GetSRef</a>(const StmtNode *stmt) const</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a2a52c8522a4bfc7d42a189250a462ce8">GetSRef</a>(const Stmt &amp;stmt) const</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</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#a4d951e51832081b85875669eac90e940">GetTypeKey</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#a5693cbadcc1168b96db7b1cc5c200b86">GetTypeKeyHash</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ac8855eae5db733dcf21542b3dbd06e15">HasBlock</a>(const BlockRV &amp;block_rv) const =0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ac9e5eed7719e322117bde996a171e33a">IncRef</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a90e90b3f4ba8a590baff78c75807bbc7">IsInstance</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a19b026c08dbd41a517544fac0866adec">Merge</a>(const Array&lt; LoopRV &gt; &amp;loop_rvs)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a6dd7ec20629e09cd0be1aa49e5f57c12">mod</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a133436a9ec5c4a768b94102bf95a660b">Object</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ab7968feb6ad38ecaffc320e13819d826">Object</a>(const Object &amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#aa1612f69ea5b4225d4cda759cd517323">Object</a>(Object &amp;&amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a69c32fbd96181f5c21d2c878ab285e4f">operator=</a>(const Object &amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ae341e561272ff43cdcbc927bc29ac50d">operator=</a>(Object &amp;&amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a1ac39c82aee1f8de30d5871d5923fc24">PadEinsum</a>(const BlockRV &amp;block_rv, const Array&lt; Integer &gt; &amp;padding)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a553dc17c0b49b175cd16881c81b6c789">Parallel</a>(const LoopRV &amp;loop_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a2f454daf29e582a65ffe361e958122df">ReadAt</a>(const LoopRV &amp;loop_rv, const BlockRV &amp;block_rv, int read_buffer_index, const String &amp;storage_scope)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a0d492efee331e2239a093f4b2017c10f">ref_counter_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a55549a6c23987890246248682560a03d">RefCounterType</a> typedef</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a9e36a8a0e37a76e55068dd534e28c8c5">ReIndex</a>(const BlockRV &amp;block_rv, int buffer_index, BufferIndexType buffer_index_type)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a2625f87c74fe0cbc95006c763bb172b3">ReindexCacheRead</a>(const BlockRV &amp;block_rv, int read_buffer_index, const String &amp;storage_scope, const IndexMap &amp;index_map)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#af3983a7f5d094529049d83ce22d7b729">ReindexCacheWrite</a>(const BlockRV &amp;block_rv, int write_buffer_index, const String &amp;storage_scope, const IndexMap &amp;index_map)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a70d353bb52f6fa29fedeb90a6ff872d5">RemoveRV</a>(const BlockRV &amp;block_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a7c44d4f4ea662291ccb9d79383b6fefe">RemoveRV</a>(const LoopRV &amp;loop_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a00fcf343d2bc8f36f170c04e5e29d2dc">RemoveRV</a>(const ExprRV &amp;expr_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a059229fe0e254961da406807a97f7a3d">Reorder</a>(const Array&lt; LoopRV &gt; &amp;ordered_loop_rvs)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a3c3024de7f2da68069e593bb8ad64f7f">ReorderBlockIterVar</a>(const BlockRV &amp;block_rv, const Array&lt; Integer &gt; new_order)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ad75e0424902b06dca23d46807a9a47d5">ReverseComputeAt</a>(const BlockRV &amp;block_rv, const LoopRV &amp;loop_rv, bool preserve_unit_loops, int index=-1)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a99c902d903680da14339842dd2fd29c7">ReverseComputeInline</a>(const BlockRV &amp;block)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ab185c8eac1065290d84d58e7f4617232">RFactor</a>(const LoopRV &amp;loop_rv, int factor_axis)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ab1d1f70230fa5f01d406fc122e62b190">RollingBuffer</a>(const BlockRV &amp;block_rv, int write_buffer_index)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></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="classtvm_1_1tir_1_1ScheduleNode.html#ab9d2b3a98335b88f168b69deed49eb19">SampleCategorical</a>(const Array&lt; Integer &gt; &amp;candidates, const Array&lt; FloatImm &gt; &amp;probs, Optional&lt; Integer &gt; decision=NullOpt)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#abf9fbec94271b7512c24b6eced230c39">SampleComputeLocation</a>(const BlockRV &amp;block_rv, Optional&lt; Integer &gt; decision=NullOpt)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a2c62b3f9486dd35714df50bc424d6698">SamplePerfectTile</a>(const LoopRV &amp;loop_rv, int n, int max_innermost_factor, Optional&lt; Array&lt; Integer &gt;&gt; decision=NullOpt)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#aae5808dc2e987bf17ef42196457a654d">Schedule</a> class</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a3cb60d6112fe5a443ef39bc005c9fbf1">Seed</a>(support::LinearCongruentialEngine::TRandState seed)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a025b5eef0c2516fc1f72eed9ced88807">SetAxisSeparator</a>(const BlockRV &amp;block_rv, int buffer_index, BufferIndexType buffer_index_type, const Array&lt; IntImm &gt; &amp;axis_separators)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#aa4760135d373af488a08aaeba7114c48">SetScope</a>(const BlockRV &amp;block_rv, int buffer_index, const String &amp;storage_scope)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ac190a0ab76d8754a35209479bcc6dfa2">Split</a>(const LoopRV &amp;loop_rv, const Array&lt; Optional&lt; ExprRV &gt;&gt; &amp;factors, bool preserve_unit_iters=true)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#abb3612c2598fa2d3ee0e6e3fc3de8a26">state</a>() const =0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a93d1d23f24d903db844f75f51fe09a36">StorageAlign</a>(const BlockRV &amp;block_rv, int buffer_index, int axis, int factor, int offset)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a66983e2dde6aeb18b443616398fff8bf">Tensorize</a>(const LoopRV &amp;loop_rv, const String &amp;intrin, bool preserve_unit_iters=true)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#afa67abdb51145a49d42cd1464429d928">Tensorize</a>(const BlockRV &amp;block_rv, const String &amp;intrin, bool preserve_unit_iters=true)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a953bca4123b5a758adfdcd65634a5f3b">trace</a>() const =0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a998b22e37ef63a697a984c8ebcc39ca2">TransformBlockLayout</a>(const BlockRV &amp;block_rv, const IndexMap &amp;index_map)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#af4943cc242cec3064a5127515c22219b">TransformLayout</a>(const BlockRV &amp;block_rv, int buffer_index, BufferIndexType buffer_index_type, const IndexMap &amp;index_map, const Optional&lt; IndexMap &gt; &amp;pad_value=NullOpt, bool assume_injective_transform=false)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mla [...]
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#abc4294398b140f3ff13a33f94a2f9e5f">TVM_DECLARE_FINAL_OBJECT_INFO</a>(ScheduleNode, runtime::Object)</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</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_1tir_1_1ScheduleNode.html#a45cd553c09ec836dfcbff81379647f07">Unannotate</a>(const LoopRV &amp;loop_rv, const String &amp;ann_key)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a7c310bca5d1583e61a3f27052a1dd5d0">Unannotate</a>(const BlockRV &amp;block_rv, const String &amp;ann_key)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</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="classtvm_1_1tir_1_1ScheduleNode.html#a84ec742f6295f59390592a6d0d90a552">Unroll</a>(const LoopRV &amp;loop_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ac797a00135c910d65da297038b930ed6">UnsafeSetDType</a>(const BlockRV &amp;block_rv, int buffer_index, const String &amp;dtype)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ab4a8cd91959ceab22855ec338978bcee">Vectorize</a>(const LoopRV &amp;loop_rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#acb747d074e1f99477f7132e4614221a3">WorkOn</a>(const String &amp;func_name)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ad66f22b795a1e34cb3c42e691e5864a7">WriteAt</a>(const LoopRV &amp;loop_rv, const BlockRV &amp;block_rv, int write_buffer_index, const String &amp;storage_scope)=0</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ae637f126412479ed9bec05fd55376f7f">~ScheduleNode</a>()=default</td><td class="entry"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html">tvm::tir::ScheduleNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode.html b/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode.html
index 2caf2c09e3..a880cae95a 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode.html
@@ -174,6 +174,9 @@ Public Member Functions</h2></td></tr>
 <tr class="memitem:ac5e28e0b470d0e9299d953c2ee3f6261"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a class="el" href="classtvm_1_1tir_1_1BlockRV.html">BlockRV</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ac5e28e0b470d0e9299d953c2ee3f6261">GetConsumers</a> (const <a class="el" href="classtvm_1_1tir_1_1BlockRV.html">BlockRV</a> &amp;blo [...]
 <tr class="memdesc:ac5e28e0b470d0e9299d953c2ee3f6261"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the consumers of a specific block, under the same block scope.  <a href="#ac5e28e0b470d0e9299d953c2ee3f6261">More...</a><br /></td></tr>
 <tr class="separator:ac5e28e0b470d0e9299d953c2ee3f6261"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97a6944e435ed71cbdddbd8b2f4415a4"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a class="el" href="classtvm_1_1tir_1_1BlockRV.html">BlockRV</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a97a6944e435ed71cbdddbd8b2f4415a4">GetOutputBlocks</a> (const <a class="el" href="classtvm_1_1tir_1_1BlockRV.html">BlockRV</a> &amp; [...]
+<tr class="memdesc:a97a6944e435ed71cbdddbd8b2f4415a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the list of output blocks within the given scope An output block is a block which has atleast one buffer being written to, but is not allocated within the <a class="el" href="classtvm_1_1tir_1_1PrimFunc.html" title="Managed reference to PrimFuncNode. ">PrimFunc</a>.  <a href="#a97a6944e435ed71cbdddbd8b2f4415a4">More...</a><br /></td></tr>
+<tr class="separator:a97a6944e435ed71cbdddbd8b2f4415a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a19b026c08dbd41a517544fac0866adec"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classtvm_1_1tir_1_1LoopRV.html">LoopRV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a19b026c08dbd41a517544fac0866adec">Merge</a> (const <a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a class="el" href="classtvm_1_1tir_1_1LoopRV.html">LoopRV</a> &gt; &amp;loop_rvs)=0</td></tr>
 <tr class="memdesc:a19b026c08dbd41a517544fac0866adec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Merge a list of loops into one. The loops under their LCA requires: 1) Under the same scope 2) Can't have annotations or thread bindings 3) Start with 0 and have same extent and same nesting depth 4) From target loop to their LCA, the inner loop must be the only child of the outer loop.  <a href="#a19b026c08dbd41a517544fac0866adec">More...</a><br /></td></tr>
 <tr class="separator:a19b026c08dbd41a517544fac0866adec"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -1525,6 +1528,41 @@ Additional Inherited Members</h2></td></tr>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>A list of loops above the given block in its scope, from outer to inner </dd></dl>
 
+</div>
+</div>
+<a id="a97a6944e435ed71cbdddbd8b2f4415a4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97a6944e435ed71cbdddbd8b2f4415a4">&#9670;&nbsp;</a></span>GetOutputBlocks()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt;<a class="el" href="classtvm_1_1tir_1_1BlockRV.html">BlockRV</a>&gt; tvm::tir::ScheduleNode::GetOutputBlocks </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classtvm_1_1tir_1_1BlockRV.html">BlockRV</a> &amp;&#160;</td>
+          <td class="paramname"><em>scope_block_rv</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the list of output blocks within the given scope An output block is a block which has atleast one buffer being written to, but is not allocated within the <a class="el" href="classtvm_1_1tir_1_1PrimFunc.html" title="Managed reference to PrimFuncNode. ">PrimFunc</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">scope_block_rv</td><td>The scope block from which output blocks are collected </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A list of all blocks that write to some output buffer block </dd></dl>
+
 </div>
 </div>
 <a id="a448d3e3fdd1ba180485bcae68ca528bb"></a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode__coll__graph.svg
index 311a4d996d..79497bd9d9 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode__coll__graph.svg
@@ -27,7 +27,7 @@
 <text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Seed()</text>
 <text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ForkSeed()</text>
 <text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Get()</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 62 more...</text>
+<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 63 more...</text>
 </g>
 <!-- Node3 -->
 <g id="node2" class="node">
diff --git a/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode__inherit__graph.svg
index b4ea75427f..eba5ec0aa6 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tir_1_1ScheduleNode__inherit__graph.svg
@@ -27,7 +27,7 @@
 <text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Seed()</text>
 <text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ForkSeed()</text>
 <text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Get()</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 62 more...</text>
+<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 63 more...</text>
 </g>
 <!-- Node1 -->
 <g id="node2" class="node">
diff --git a/docs/reference/api/doxygen/database_8h_source.html b/docs/reference/api/doxygen/database_8h_source.html
index 69eb8eea51..e29aa6db8f 100644
--- a/docs/reference/api/doxygen/database_8h_source.html
+++ b/docs/reference/api/doxygen/database_8h_source.html
@@ -85,7 +85,7 @@ $(function() {
 <div class="ttc" id="structtvm_1_1meta__schedule_1_1WorkloadHash_html_a7cb09ddc6c76d9d00ddbeab8502d97cb"><div class="ttname"><a href="structtvm_1_1meta__schedule_1_1WorkloadHash.html#a7cb09ddc6c76d9d00ddbeab8502d97cb">tvm::meta_schedule::WorkloadHash::operator()</a></div><div class="ttdeci">size_t operator()(const Workload &amp;a) const</div><div class="ttdef"><b>Definition:</b> database.h:96</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Object_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></div><div class="ttdoc">base class of all object containers. </div><div class="ttdef"><b>Definition:</b> object.h:167</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1PyDatabaseNode_html"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1PyDatabaseNode.html">tvm::meta_schedule::PyDatabaseNode</a></div><div class="ttdoc">The database with customized methods on the python-side. </div><div class="ttdef"><b>Definition:</b> database.h:277</div></div>
-<div class="ttc" id="classtvm_1_1tir_1_1Schedule_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Schedule.html">tvm::tir::Schedule</a></div><div class="ttdoc">Managed reference to ScheduleNode. </div><div class="ttdef"><b>Definition:</b> schedule.h:804</div></div>
+<div class="ttc" id="classtvm_1_1tir_1_1Schedule_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Schedule.html">tvm::tir::Schedule</a></div><div class="ttdoc">Managed reference to ScheduleNode. </div><div class="ttdef"><b>Definition:</b> schedule.h:813</div></div>
 <div class="ttc" id="structtvm_1_1meta__schedule_1_1WorkloadEqual_html_a49b0e137a01a278469ff63729afae804"><div class="ttname"><a href="structtvm_1_1meta__schedule_1_1WorkloadEqual.html#a49b0e137a01a278469ff63729afae804">tvm::meta_schedule::WorkloadEqual::WorkloadEqual</a></div><div class="ttdeci">WorkloadEqual(const ModuleEquality &amp;mod_eq)</div><div class="ttdef"><b>Definition:</b> database.h:101</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1TuningRecordNode_html_a8cc2d64f796593a1a774eef259f17b29"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1TuningRecordNode.html#a8cc2d64f796593a1a774eef259f17b29">tvm::meta_schedule::TuningRecordNode::trace</a></div><div class="ttdeci">tir::Trace trace</div><div class="ttdoc">The trace tuned. </div><div class="ttdef"><b>Definition:</b> database.h:117</div></div>
 <div class="ttc" id="arg__info_8h_html"><div class="ttname"><a href="arg__info_8h.html">arg_info.h</a></div></div>
diff --git a/docs/reference/api/doxygen/functions_func_g.html b/docs/reference/api/doxygen/functions_func_g.html
index 7d6c567b2f..91b1f595ef 100644
--- a/docs/reference/api/doxygen/functions_func_g.html
+++ b/docs/reference/api/doxygen/functions_func_g.html
@@ -316,6 +316,9 @@ $(function() {
 <li>GetOrCreateAllocator()
 : <a class="el" href="classtvm_1_1runtime_1_1vm_1_1MemoryManager.html#a2fb80fa184bac1a857b7fdbea49b6a34">tvm::runtime::vm::MemoryManager</a>
 </li>
+<li>GetOutputBlocks()
+: <a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a97a6944e435ed71cbdddbd8b2f4415a4">tvm::tir::ScheduleNode</a>
+</li>
 <li>GetPacked()
 : <a class="el" href="classtvm_1_1GenericFunc.html#aaa87b9504f962cbe28c33a7a9583dd7d">tvm::GenericFunc</a>
 </li>
@@ -357,7 +360,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1TypeReporterNode.html#a06af835a761aaa10627a88ac4b712a15">tvm::TypeReporterNode</a>
 </li>
 <li>GetSRef()
-: <a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a3b6d659b1a0a4b8175d7495afc3a791c">tvm::tir::ScheduleNode</a>
+: <a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a2a52c8522a4bfc7d42a189250a462ce8">tvm::tir::ScheduleNode</a>
 </li>
 <li>GetTag()
 : <a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a8b46d1eb3853555b6d3a85f2ef9c0868">tvm::runtime::vm::Instruction</a>
@@ -398,10 +401,10 @@ $(function() {
 : <a class="el" href="classtvm_1_1GlobalVar.html#a09f3b31e7ddde86012b7e92fe1986e4d">tvm::GlobalVar</a>
 </li>
 <li>GlobalVarSupply()
-: <a class="el" href="classtvm_1_1GlobalVarSupply.html#a7495cd6b47551c159691658f77c8adc2">tvm::GlobalVarSupply</a>
+: <a class="el" href="classtvm_1_1GlobalVarSupply.html#a96877f1067ea9f027d326976edfca03f">tvm::GlobalVarSupply</a>
 </li>
 <li>GlobalVarSupplyNode()
-: <a class="el" href="classtvm_1_1GlobalVarSupplyNode.html#adb8480ebe496dece012c527d292ac046">tvm::GlobalVarSupplyNode</a>
+: <a class="el" href="classtvm_1_1GlobalVarSupplyNode.html#afc86b0c452c4e95050b4e3fc3a19391f">tvm::GlobalVarSupplyNode</a>
 </li>
 <li>Goto()
 : <a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a40b49fe5c05c5fe5f7a5c5c01bf651c8">tvm::runtime::vm::Instruction</a>
diff --git a/docs/reference/api/doxygen/functions_func_s.html b/docs/reference/api/doxygen/functions_func_s.html
index d93a29bdea..76beb497e9 100644
--- a/docs/reference/api/doxygen/functions_func_s.html
+++ b/docs/reference/api/doxygen/functions_func_s.html
@@ -690,7 +690,7 @@ $(function() {
 </li>
 <li>Stage()
 : <a class="el" href="classtvm_1_1auto__scheduler_1_1Stage.html#a39ffbb1b4e189180bc4067e74965f42b">tvm::auto_scheduler::Stage</a>
-, <a class="el" href="classtvm_1_1te_1_1Stage.html#a510049e03f2152d5934cd3bd75033bab">tvm::te::Stage</a>
+, <a class="el" href="classtvm_1_1te_1_1Stage.html#afec82602b9321c489b88632a005335f8">tvm::te::Stage</a>
 </li>
 <li>Start()
 : <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#a44fadfb7b0f961a7fb2275e3b5dbcd88">tvm::runtime::profiling::MetricCollectorNode</a>
@@ -729,7 +729,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1script_1_1printer_1_1StmtDoc.html#adec8d59e41d8a4093fb310089bf2c3ba">tvm::script::printer::StmtDoc</a>
 </li>
 <li>StmtNode()
-: <a class="el" href="classtvm_1_1tir_1_1StmtNode.html#a79e21b14d3ab57209577bf4a8f694a87">tvm::tir::StmtNode</a>
+: <a class="el" href="classtvm_1_1tir_1_1StmtNode.html#a67693c4e97ae49890ea74605fe1b1f74">tvm::tir::StmtNode</a>
 </li>
 <li>StmtSRef()
 : <a class="el" href="classtvm_1_1tir_1_1StmtSRef.html#a31687ace5dc4fe487ffb87d658d86412">tvm::tir::StmtSRef</a>
@@ -768,7 +768,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#ac5d930b522e9fef9c07e51819d96d2f3">tvm::runtime::String</a>
+: <a class="el" href="classtvm_1_1runtime_1_1String.html#a68df7bab89fca339e3918438dd80300d">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_u.html b/docs/reference/api/doxygen/functions_func_u.html
index 217d340053..88482fcce3 100644
--- a/docs/reference/api/doxygen/functions_func_u.html
+++ b/docs/reference/api/doxygen/functions_func_u.html
@@ -109,7 +109,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1auto__scheduler_1_1CostModelNode.html#ae35b2b678760b8da57a43d3ae9c24da5">tvm::auto_scheduler::CostModelNode</a>
 , <a class="el" href="classtvm_1_1auto__scheduler_1_1PythonBasedModelNode.html#a2d7849df6c7dbe93bf363c1d9f860a26">tvm::auto_scheduler::PythonBasedModelNode</a>
 , <a class="el" href="classtvm_1_1auto__scheduler_1_1RandomModelNode.html#a7febac6c05d8e2d407f466467769ee32">tvm::auto_scheduler::RandomModelNode</a>
-, <a class="el" href="classtvm_1_1IRModuleNode.html#abdd8936c6fca33ef9b7c086f8fd58f84">tvm::IRModuleNode</a>
+, <a class="el" href="classtvm_1_1IRModuleNode.html#a94a93385e64ce844299729af6a573015">tvm::IRModuleNode</a>
 , <a class="el" href="classtvm_1_1meta__schedule_1_1CostModelNode.html#a1bba32eba84db583fe90d1a5bce085f1">tvm::meta_schedule::CostModelNode</a>
 , <a class="el" href="classtvm_1_1meta__schedule_1_1PyCostModelNode.html#a970b00b0eb1bf6b88eea2711b58c4d1d">tvm::meta_schedule::PyCostModelNode</a>
 </li>
diff --git a/docs/reference/api/doxygen/functions_g.html b/docs/reference/api/doxygen/functions_g.html
index eeea61a45e..0f3fb4c654 100644
--- a/docs/reference/api/doxygen/functions_g.html
+++ b/docs/reference/api/doxygen/functions_g.html
@@ -328,6 +328,9 @@ $(function() {
 <li>GetOrCreateAllocator()
 : <a class="el" href="classtvm_1_1runtime_1_1vm_1_1MemoryManager.html#a2fb80fa184bac1a857b7fdbea49b6a34">tvm::runtime::vm::MemoryManager</a>
 </li>
+<li>GetOutputBlocks()
+: <a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a97a6944e435ed71cbdddbd8b2f4415a4">tvm::tir::ScheduleNode</a>
+</li>
 <li>GetPacked()
 : <a class="el" href="classtvm_1_1GenericFunc.html#aaa87b9504f962cbe28c33a7a9583dd7d">tvm::GenericFunc</a>
 </li>
@@ -372,7 +375,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1TypeReporterNode.html#a06af835a761aaa10627a88ac4b712a15">tvm::TypeReporterNode</a>
 </li>
 <li>GetSRef()
-: <a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a08f7ed1ef1470fb1c9cfc272e14a1e32">tvm::tir::ScheduleNode</a>
+: <a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a3b6d659b1a0a4b8175d7495afc3a791c">tvm::tir::ScheduleNode</a>
 </li>
 <li>GetTag()
 : <a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a8b46d1eb3853555b6d3a85f2ef9c0868">tvm::runtime::vm::Instruction</a>
@@ -428,7 +431,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1GlobalVarSupply.html#a96877f1067ea9f027d326976edfca03f">tvm::GlobalVarSupply</a>
 </li>
 <li>GlobalVarSupplyNode()
-: <a class="el" href="classtvm_1_1GlobalVarSupplyNode.html#afc86b0c452c4e95050b4e3fc3a19391f">tvm::GlobalVarSupplyNode</a>
+: <a class="el" href="classtvm_1_1GlobalVarSupplyNode.html#adb8480ebe496dece012c527d292ac046">tvm::GlobalVarSupplyNode</a>
 </li>
 <li>Goto()
 : <a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a40b49fe5c05c5fe5f7a5c5c01bf651c8">tvm::runtime::vm::Instruction</a>
diff --git a/docs/reference/api/doxygen/functions_l.html b/docs/reference/api/doxygen/functions_l.html
index 4efd421ea5..b3a4c04014 100644
--- a/docs/reference/api/doxygen/functions_l.html
+++ b/docs/reference/api/doxygen/functions_l.html
@@ -285,7 +285,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1meta__schedule_1_1TuneContextNode.html#adb860776ff7f36d02596345ec0d09597">tvm::meta_schedule::TuneContextNode</a>
 </li>
 <li>Lookup()
-: <a class="el" href="classtvm_1_1IRModuleNode.html#a8fb3c0a0e2c0a679753e6f8f45f54860">tvm::IRModuleNode</a>
+: <a class="el" href="classtvm_1_1IRModuleNode.html#a8430de337205d25778704d558f892ecb">tvm::IRModuleNode</a>
 </li>
 <li>LookupHashedValue()
 : <a class="el" href="classtvm_1_1SHashHandlerDefault.html#a9ff00283cff9f8af9c8ebdfdb4f295d9">tvm::SHashHandlerDefault</a>
diff --git a/docs/reference/api/doxygen/functions_m.html b/docs/reference/api/doxygen/functions_m.html
index 0c12d0e592..7a1c7c7c0d 100644
--- a/docs/reference/api/doxygen/functions_m.html
+++ b/docs/reference/api/doxygen/functions_m.html
@@ -345,7 +345,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1DiagnosticContextNode.html#adea7e38a6e47cbab7fb5639f208aa536">tvm::DiagnosticContextNode</a>
 </li>
 <li>Module()
-: <a class="el" href="classtvm_1_1runtime_1_1Module.html#abd1380b3f813c2b6acefca3aaef425f4">tvm::runtime::Module</a>
+: <a class="el" href="classtvm_1_1runtime_1_1Module.html#abfbc619b3b3166d63ec52e399c24bed9">tvm::runtime::Module</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ModuleNode.html#a21f639900c480510650969df9c74d17d">tvm::runtime::ModuleNode</a>
 </li>
 <li>module_handle
diff --git a/docs/reference/api/doxygen/functions_s.html b/docs/reference/api/doxygen/functions_s.html
index c424c33123..9949ce39c6 100644
--- a/docs/reference/api/doxygen/functions_s.html
+++ b/docs/reference/api/doxygen/functions_s.html
@@ -948,8 +948,8 @@ $(function() {
 : <a class="el" href="classtvm_1_1runtime_1_1String.html#a88aa19338db83ae838183e7478f09e60">tvm::runtime::String</a>
 </li>
 <li>Stage()
-: <a class="el" href="classtvm_1_1auto__scheduler_1_1Stage.html#af0643fe8c1298451c9a322f915c48843">tvm::auto_scheduler::Stage</a>
-, <a class="el" href="classtvm_1_1te_1_1Stage.html#afec82602b9321c489b88632a005335f8">tvm::te::Stage</a>
+: <a class="el" href="classtvm_1_1auto__scheduler_1_1Stage.html#a39ffbb1b4e189180bc4067e74965f42b">tvm::auto_scheduler::Stage</a>
+, <a class="el" href="classtvm_1_1te_1_1Stage.html#aa6ace38b6312e42aaf9389c8749ae0a4">tvm::te::Stage</a>
 </li>
 <li>stage_id
 : <a class="el" href="classtvm_1_1auto__scheduler_1_1StepNode.html#afcc7aaf263348f66139307affbfcee09">tvm::auto_scheduler::StepNode</a>
@@ -1032,7 +1032,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1script_1_1printer_1_1StmtDoc.html#adec8d59e41d8a4093fb310089bf2c3ba">tvm::script::printer::StmtDoc</a>
 </li>
 <li>StmtNode()
-: <a class="el" href="classtvm_1_1tir_1_1StmtNode.html#a79e21b14d3ab57209577bf4a8f694a87">tvm::tir::StmtNode</a>
+: <a class="el" href="classtvm_1_1tir_1_1StmtNode.html#a67693c4e97ae49890ea74605fe1b1f74">tvm::tir::StmtNode</a>
 </li>
 <li>stmts
 : <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html#a13776bb5c2e5403138fbee06d4fdad40">tvm::script::ir_builder::tir::TIRFrameNode</a>
@@ -1085,7 +1085,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>
diff --git a/docs/reference/api/doxygen/functions_v.html b/docs/reference/api/doxygen/functions_v.html
index e6f8d9b28b..6378ac4255 100644
--- a/docs/reference/api/doxygen/functions_v.html
+++ b/docs/reference/api/doxygen/functions_v.html
@@ -645,7 +645,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1tir_1_1DataTypeLegalizer.html#acab424302ee742c9759da1696519496a">tvm::tir::DataTypeLegalizer</a>
 , <a class="el" href="classtvm_1_1tir_1_1IndexDataTypeRewriter.html#abebbae492b191b36caae9663a4208532">tvm::tir::IndexDataTypeRewriter</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#ab10dd3ea7414d0c6c415857be5b5ad7b">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_1StmtMutator.html#aecd16bf1a6715ea36f6c30e5dc2ceae7">tvm::tir::StmtMutator</a>
 , <a class="el" href="classtvm_1_1tir_1_1StmtVisitor.html#a800d9d3f4b755236e122f0fbf30115df">tvm::tir::StmtVisitor</a>
 </li>
 <li>VisitStmtDefault_()
@@ -660,9 +660,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#a949688cb9b4a8fa16ddc3e5fbbf13580">tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a>
-, <a class="el" href="classtvm_1_1TypeMutator.html#a9c2d7e1a52faac66f55896ecde3f2211">tvm::TypeMutator</a>
-, <a class="el" href="classtvm_1_1TypeVisitor.html#a292b19b578526ea74b1434dc50514a18">tvm::TypeVisitor</a>
+: <a class="el" href="classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#a0e715c54558934e4504c366ff803d8e1">tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a>
+, <a class="el" href="classtvm_1_1TypeMutator.html#a8171dc89a947d6224e83e86ce5d06d11">tvm::TypeMutator</a>
+, <a class="el" href="classtvm_1_1TypeVisitor.html#adb2f5c5f8e3fbe5b62ce8527cd59a30b">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/measure__candidate_8h_source.html b/docs/reference/api/doxygen/measure__candidate_8h_source.html
index 66d1b80eeb..1b2b8d9f87 100644
--- a/docs/reference/api/doxygen/measure__candidate_8h_source.html
+++ b/docs/reference/api/doxygen/measure__candidate_8h_source.html
@@ -71,7 +71,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1MeasureCandidateNode_html_a99858dbe74082cc52938ac942523d792"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.html#a99858dbe74082cc52938ac942523d792">tvm::meta_schedule::MeasureCandidateNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> measure_candidate.h:40</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Object_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></div><div class="ttdoc">base class of all object containers. </div><div class="ttdef"><b>Definition:</b> object.h:167</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1MeasureCandidateNode_html_a6891e92cac8712bb690401ed121ae7e8"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.html#a6891e92cac8712bb690401ed121ae7e8">tvm::meta_schedule::MeasureCandidateNode::args_info</a></div><div class="ttdeci">Array&lt; ArgInfo &gt; args_info</div><div class="ttdoc">The argument information, e.g., (shape, dtype) for tensors. </div><div class="ttdef"><b>Definition:</b> measure_candidate. [...]
-<div class="ttc" id="classtvm_1_1tir_1_1Schedule_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Schedule.html">tvm::tir::Schedule</a></div><div class="ttdoc">Managed reference to ScheduleNode. </div><div class="ttdef"><b>Definition:</b> schedule.h:804</div></div>
+<div class="ttc" id="classtvm_1_1tir_1_1Schedule_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Schedule.html">tvm::tir::Schedule</a></div><div class="ttdoc">Managed reference to ScheduleNode. </div><div class="ttdef"><b>Definition:</b> schedule.h:813</div></div>
 <div class="ttc" id="arg__info_8h_html"><div class="ttname"><a href="arg__info_8h.html">arg_info.h</a></div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1MeasureCandidateNode_html"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.html">tvm::meta_schedule::MeasureCandidateNode</a></div><div class="ttdoc">The schedule (with input shapes) to be measured. </div><div class="ttdef"><b>Definition:</b> measure_candidate.h:33</div></div>
 <div class="ttc" id="array_8h_html"><div class="ttname"><a href="array_8h.html">array.h</a></div><div class="ttdoc">Runtime Array container types. </div></div>
diff --git a/docs/reference/api/doxygen/postproc_8h_source.html b/docs/reference/api/doxygen/postproc_8h_source.html
index f499c168e0..d55dee6a9d 100644
--- a/docs/reference/api/doxygen/postproc_8h_source.html
+++ b/docs/reference/api/doxygen/postproc_8h_source.html
@@ -75,7 +75,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1Object_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></div><div class="ttdoc">base class of all object containers. </div><div class="ttdef"><b>Definition:</b> object.h:167</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1PyPostprocNode_html_a3771e585727ef6dfecc502ffe57fd2a2"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1PyPostprocNode.html#a3771e585727ef6dfecc502ffe57fd2a2">tvm::meta_schedule::PyPostprocNode::f_apply</a></div><div class="ttdeci">FApply f_apply</div><div class="ttdoc">The packed function to the Apply function. </div><div class="ttdef"><b>Definition:</b> postproc.h:189</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="classtvm_1_1tir_1_1Schedule_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Schedule.html">tvm::tir::Schedule</a></div><div class="ttdoc">Managed reference to ScheduleNode. </div><div class="ttdef"><b>Definition:</b> schedule.h:804</div></div>
+<div class="ttc" id="classtvm_1_1tir_1_1Schedule_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Schedule.html">tvm::tir::Schedule</a></div><div class="ttdoc">Managed reference to ScheduleNode. </div><div class="ttdef"><b>Definition:</b> schedule.h:813</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1TuneContext_html"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1TuneContext.html">tvm::meta_schedule::TuneContext</a></div><div class="ttdoc">Managed reference to TuneContextNode. </div><div class="ttdef"><b>Definition:</b> tune_context.h:95</div></div>
 <div class="ttc" id="classtvm_1_1AttrVisitor_html"><div class="ttname"><a href="classtvm_1_1AttrVisitor.html">tvm::AttrVisitor</a></div><div class="ttdoc">Visitor class to get the attributes of an AST/IR node. The content is going to be called for each fie...</div><div class="ttdef"><b>Definition:</b> reflection.h:52</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1Postproc_html_a1b95aac48704d0c0740ede2040b942bb"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1Postproc.html#a1b95aac48704d0c0740ede2040b942bb">tvm::meta_schedule::Postproc::FAsString</a></div><div class="ttdeci">runtime::TypedPackedFunc&lt; String()&gt; FAsString</div><div class="ttdoc">Get the postprocessor function as string with name. </div><div class="ttdef"><b>Definition:</b> postproc.h:94</div></div>
diff --git a/docs/reference/api/doxygen/schedule__rule_8h_source.html b/docs/reference/api/doxygen/schedule__rule_8h_source.html
index dac8c75381..134e04cdb1 100644
--- a/docs/reference/api/doxygen/schedule__rule_8h_source.html
+++ b/docs/reference/api/doxygen/schedule__rule_8h_source.html
@@ -80,7 +80,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1runtime_1_1Object_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></div><div class="ttdoc">base class of all object containers. </div><div class="ttdef"><b>Definition:</b> object.h:167</div></div>
 <div class="ttc" id="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="classtvm_1_1meta__schedule_1_1PyScheduleRuleNode_html_a752192bcb5385b1ba72b7c1856c6f360"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1PyScheduleRuleNode.html#a752192bcb5385b1ba72b7c1856c6f360">tvm::meta_schedule::PyScheduleRuleNode::f_apply</a></div><div class="ttdeci">FApply f_apply</div><div class="ttdoc">The packed function to the Apply function. </div><div class="ttdef"><b>Definition:</b> schedule_rule.h:320</div></div>
-<div class="ttc" id="classtvm_1_1tir_1_1Schedule_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Schedule.html">tvm::tir::Schedule</a></div><div class="ttdoc">Managed reference to ScheduleNode. </div><div class="ttdef"><b>Definition:</b> schedule.h:804</div></div>
+<div class="ttc" id="classtvm_1_1tir_1_1Schedule_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Schedule.html">tvm::tir::Schedule</a></div><div class="ttdoc">Managed reference to ScheduleNode. </div><div class="ttdef"><b>Definition:</b> schedule.h:813</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1TuneContext_html"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1TuneContext.html">tvm::meta_schedule::TuneContext</a></div><div class="ttdoc">Managed reference to TuneContextNode. </div><div class="ttdef"><b>Definition:</b> tune_context.h:95</div></div>
 <div class="ttc" id="array_8h_html"><div class="ttname"><a href="array_8h.html">array.h</a></div><div class="ttdoc">Runtime Array container types. </div></div>
 <div class="ttc" id="classtvm_1_1AttrVisitor_html"><div class="ttname"><a href="classtvm_1_1AttrVisitor.html">tvm::AttrVisitor</a></div><div class="ttdoc">Visitor class to get the attributes of an AST/IR node. The content is going to be called for each fie...</div><div class="ttdef"><b>Definition:</b> reflection.h:52</div></div>
diff --git a/docs/reference/api/doxygen/search/all_11.js b/docs/reference/api/doxygen/search/all_11.js
index 31848dd728..d35075df84 100644
--- a/docs/reference/api/doxygen/search/all_11.js
+++ b/docs/reference/api/doxygen/search/all_11.js
@@ -167,7 +167,7 @@ var searchData=
   ['predict_5ffunc',['predict_func',['../classtvm_1_1auto__scheduler_1_1PythonBasedModelNode.html#aa051c804bc592d7f4f1a5b5710f73595',1,'tvm::auto_scheduler::PythonBasedModelNode']]],
   ['predict_5fstage_5ffunc',['predict_stage_func',['../classtvm_1_1auto__scheduler_1_1PythonBasedModelNode.html#a380809fbb5d4d68b9ec744e3a5015fe6',1,'tvm::auto_scheduler::PythonBasedModelNode']]],
   ['predictstages',['PredictStages',['../classtvm_1_1auto__scheduler_1_1CostModelNode.html#a213222251099444874698d2e9ff18adc',1,'tvm::auto_scheduler::CostModelNode::PredictStages()'],['../classtvm_1_1auto__scheduler_1_1PythonBasedModelNode.html#a1f9975c4bdd61793b806663a61a9a703',1,'tvm::auto_scheduler::PythonBasedModelNode::PredictStages()']]],
-  ['prefetch',['Prefetch',['../classtvm_1_1tir_1_1Prefetch.html',1,'tvm::tir::Prefetch'],['../classtvm_1_1te_1_1Stage.html#a611327890918fb641a8e65396ab9c5f6',1,'tvm::te::Stage::prefetch()'],['../classtvm_1_1tir_1_1Prefetch.html#af462f85dad4268685e3113b6b009d1b2',1,'tvm::tir::Prefetch::Prefetch()'],['../namespacetvm_1_1tir_1_1builtin.html#a543f1fc334d2bc830add972895a03f17',1,'tvm::tir::builtin::prefetch()'],['../namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aeb707d56c770edb33ebf73da27 [...]
+  ['prefetch',['Prefetch',['../classtvm_1_1tir_1_1Prefetch.html',1,'tvm::tir::Prefetch'],['../classtvm_1_1tir_1_1Prefetch.html#af462f85dad4268685e3113b6b009d1b2',1,'tvm::tir::Prefetch::Prefetch()'],['../classtvm_1_1te_1_1Stage.html#a611327890918fb641a8e65396ab9c5f6',1,'tvm::te::Stage::prefetch()'],['../namespacetvm_1_1tir_1_1builtin.html#a543f1fc334d2bc830add972895a03f17',1,'tvm::tir::builtin::prefetch()'],['../namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aeb707d56c770edb33ebf73da27 [...]
   ['prefetch_5fdata',['prefetch_data',['../classtvm_1_1te_1_1IterVarAttrNode.html#a0cd129334ac1bc8d6461fb06be67e731',1,'tvm::te::IterVarAttrNode']]],
   ['prefetch_5foffset',['prefetch_offset',['../classtvm_1_1te_1_1IterVarAttrNode.html#a2a4a8e201e6caefeecffd4a7647866fd',1,'tvm::te::IterVarAttrNode']]],
   ['prefetch_5fscope',['prefetch_scope',['../namespacetvm_1_1tir_1_1attr.html#ac95fbd1c09a60b10c7a5d07f6c4b68a6',1,'tvm::tir::attr']]],
diff --git a/docs/reference/api/doxygen/search/all_14.js b/docs/reference/api/doxygen/search/all_14.js
index f3ee1f1bbf..73e4b3369e 100644
--- a/docs/reference/api/doxygen/search/all_14.js
+++ b/docs/reference/api/doxygen/search/all_14.js
@@ -182,7 +182,7 @@ var searchData=
   ['setvalue_3c_20uint64_5ft_20_3e',['SetValue&lt; uint64_t &gt;',['../namespacetvm_1_1detail.html#acb3382242cbf538f64edae13e4ec5a84',1,'tvm::detail']]],
   ['shallowcopy',['ShallowCopy',['../classtvm_1_1IRModuleNode.html#a86bbdc4b857ce5958a2b5f29e1d6fcb6',1,'tvm::IRModuleNode']]],
   ['shallowcopyirmodule',['ShallowCopyIRModule',['../classtvm_1_1IRModule.html#aea8b821cf92cf525bd87bf15f5d31889',1,'tvm::IRModule']]],
-  ['shape',['Shape',['../classtvm_1_1runtime_1_1NDArray.html#ad273c7bc59b73fb026fd64fc764cbebc',1,'tvm::runtime::NDArray::Shape()'],['../classtvm_1_1TensorTypeNode.html#a98fa347833e4504dd6f8056d9863a708',1,'tvm::TensorTypeNode::shape()'],['../classtvm_1_1meta__schedule_1_1TensorInfoNode.html#ac16d3b10f7c68eefb27e55e865bb304c',1,'tvm::meta_schedule::TensorInfoNode::shape()'],['../structtvm_1_1relay_1_1InitOpAttrs.html#aaaec76cc5ea9a543c4ea174a6b38bf5e',1,'tvm::relay::InitOpAttrs::shape()' [...]
+  ['shape',['shape',['../classtvm_1_1TensorTypeNode.html#a98fa347833e4504dd6f8056d9863a708',1,'tvm::TensorTypeNode::shape()'],['../classtvm_1_1meta__schedule_1_1TensorInfoNode.html#ac16d3b10f7c68eefb27e55e865bb304c',1,'tvm::meta_schedule::TensorInfoNode::shape()'],['../structtvm_1_1relay_1_1InitOpAttrs.html#aaaec76cc5ea9a543c4ea174a6b38bf5e',1,'tvm::relay::InitOpAttrs::shape()'],['../classtvm_1_1relay_1_1ShapePatternNode.html#a749813cbbd38f8021a7df897d527d6e0',1,'tvm::relay::ShapePattern [...]
   ['shape_5f',['shape_',['../classtvm_1_1runtime_1_1NDArray_1_1ContainerBase.html#aa5597a1760c9f8c9d1fd51584b1283fb',1,'tvm::runtime::NDArray::ContainerBase']]],
   ['shape_5fbackward_5frule',['shape_backward_rule',['../classtvm_1_1tir_1_1BijectiveLayoutNode.html#a0befdd0a2371c0d12970e8ac6623b59b',1,'tvm::tir::BijectiveLayoutNode']]],
   ['shape_5fcount',['shape_count',['../structTVMGraphExecutorGraphAttr.html#a182b228582f1186f2a15de50a25b3375',1,'TVMGraphExecutorGraphAttr']]],
@@ -233,7 +233,7 @@ var searchData=
   ['singleton',['Singleton',['../classtvm_1_1te_1_1Singleton.html',1,'tvm::te::Singleton'],['../classtvm_1_1te_1_1Singleton.html#a94450b853dcd5e9865546d8c8fe351a1',1,'tvm::te::Singleton::Singleton()']]],
   ['singletonnode',['SingletonNode',['../classtvm_1_1te_1_1SingletonNode.html',1,'tvm::te']]],
   ['sinh',['sinh',['../namespacetvm.html#ad828bc801c73df761c58d9f8877d52ee',1,'tvm::sinh()'],['../namespacetvm_1_1topi.html#af9694f5470ba2cabc19866be3b00fe8d',1,'tvm::topi::sinh()']]],
-  ['size',['Size',['../classtvm_1_1TensorTypeNode.html#a1f08dac86ae8aea81d058ef64cfd38b4',1,'tvm::TensorTypeNode::Size()'],['../classtvm_1_1meta__schedule_1_1DatabaseNode.html#aae5b9ab9f7e497654b90c23a2159a5cc',1,'tvm::meta_schedule::DatabaseNode::Size()'],['../classtvm_1_1meta__schedule_1_1PyDatabaseNode.html#a36817d04978253571fef7d01427ce9c0',1,'tvm::meta_schedule::PyDatabaseNode::Size()'],['../classtvm_1_1runtime_1_1micro__rpc_1_1FrameBuffer.html#ae395a0f1c6e79e825aa7a244c74a5d7b',1,' [...]
+  ['size',['size',['../structtvm_1_1relay_1_1Resize1DAttrs.html#afb1175c0ff019e485ed65d98305b5f62',1,'tvm::relay::Resize1DAttrs::size()'],['../structtvm_1_1relay_1_1Resize2DAttrs.html#ab3e26dbbc2dc1da40764832a99459c30',1,'tvm::relay::Resize2DAttrs::size()'],['../structtvm_1_1relay_1_1Resize3DAttrs.html#aab61649fe8417a8a7fbc849090bac083',1,'tvm::relay::Resize3DAttrs::size()'],['../structtvm_1_1relay_1_1LRNAttrs.html#a3758ed1f8a8bcf73008ae1dd2bfa148e',1,'tvm::relay::LRNAttrs::size()'],['.. [...]
   ['size_5f',['size_',['../classtvm_1_1runtime_1_1MapNode.html#a2285f106f6afa29f512a7818ad59e9e5',1,'tvm::runtime::MapNode']]],
   ['size_5fbytes',['size_bytes',['../structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html#a0a5d4bd6072c268df05b90d267b4c0a0',1,'tvm::tir::usmp::BufferInfoNode']]],
   ['size_5fhint_5fbytes',['size_hint_bytes',['../structtvm_1_1PoolInfoNode.html#ac073aeb75bf031ff8687e132bc112f92',1,'tvm::PoolInfoNode::size_hint_bytes()'],['../structtvm_1_1PoolInfoPropertiesNode.html#aed7c5573ffc8db9424e77e3a85cad120',1,'tvm::PoolInfoPropertiesNode::size_hint_bytes()']]],
@@ -262,7 +262,7 @@ var searchData=
   ['solvelinearequations',['SolveLinearEquations',['../namespacetvm_1_1arith.html#ae0290f04432523ab8e5f76edde80071a',1,'tvm::arith']]],
   ['solvelinearinequalities',['SolveLinearInequalities',['../namespacetvm_1_1arith.html#ac59d63560e04431f108e81457b212fdc',1,'tvm::arith']]],
   ['sorted',['sorted',['../structtvm_1_1relay_1_1UniqueAttrs.html#aef434799646533ec9d796393ba01db44',1,'tvm::relay::UniqueAttrs']]],
-  ['source',['Source',['../classtvm_1_1Source.html',1,'tvm::Source'],['../classtvm_1_1Source.html#a794f5989e4e89cb39b638a5cd837eaa9',1,'tvm::Source::Source()'],['../classtvm_1_1arith_1_1IterMarkNode.html#a8b885a675c88e5a5d142fa68bcba048a',1,'tvm::arith::IterMarkNode::source()'],['../classtvm_1_1arith_1_1IterSplitExprNode.html#a7a129dc9b432359a07c1a1e286c3c66f',1,'tvm::arith::IterSplitExprNode::source()'],['../classtvm_1_1SourceNode.html#a6a31f8a2bf412edf7a529c5931185529',1,'tvm::SourceNo [...]
+  ['source',['Source',['../classtvm_1_1Source.html',1,'tvm::Source'],['../classtvm_1_1arith_1_1IterMarkNode.html#a8b885a675c88e5a5d142fa68bcba048a',1,'tvm::arith::IterMarkNode::source()'],['../classtvm_1_1arith_1_1IterSplitExprNode.html#a7a129dc9b432359a07c1a1e286c3c66f',1,'tvm::arith::IterSplitExprNode::source()'],['../classtvm_1_1SourceNode.html#a6a31f8a2bf412edf7a529c5931185529',1,'tvm::SourceNode::source()'],['../structtvm_1_1tir_1_1MemCpyDetails.html#adf01e30a65e219e5303f535f793dbaf [...]
   ['source_5fmap',['source_map',['../classtvm_1_1IRModuleNode.html#abc7bd8d734f093ecb6abe8969d6dbcba',1,'tvm::IRModuleNode::source_map()'],['../classtvm_1_1SourceMapNode.html#abd44bcd7252397ade5584c0387845342',1,'tvm::SourceMapNode::source_map()']]],
   ['source_5fmap_2eh',['source_map.h',['../source__map_8h.html',1,'']]],
   ['source_5fname',['source_name',['../classtvm_1_1DiagnosticBuilder.html#a92d320e1ede24fe5ff47862365002691',1,'tvm::DiagnosticBuilder::source_name()'],['../classtvm_1_1SpanNode.html#ad573167f93facbfbee19983b08bbba3d',1,'tvm::SpanNode::source_name()'],['../classtvm_1_1SourceNode.html#ad4002d5ddb822b7340fd16c460a1ec6f',1,'tvm::SourceNode::source_name()']]],
@@ -279,7 +279,7 @@ var searchData=
   ['spacegeneratornode',['SpaceGeneratorNode',['../classtvm_1_1meta__schedule_1_1SpaceGeneratorNode.html',1,'tvm::meta_schedule']]],
   ['spacegeneratorunion',['SpaceGeneratorUnion',['../classtvm_1_1meta__schedule_1_1SpaceGenerator.html#a44828204c6ae3b7f390b9a9c3fdb9aa7',1,'tvm::meta_schedule::SpaceGenerator']]],
   ['spacetobatchndattrs',['SpaceToBatchNDAttrs',['../structtvm_1_1relay_1_1SpaceToBatchNDAttrs.html',1,'tvm::relay']]],
-  ['span',['Span',['../classtvm_1_1Span.html',1,'tvm::Span'],['../classtvm_1_1support_1_1Span.html',1,'tvm::support::Span&lt; T, W &gt;'],['../classtvm_1_1Span.html#a5216631b639e8c802263d87d3fe9e5f6',1,'tvm::Span::Span()'],['../classtvm_1_1support_1_1Span.html#a77653730a2542edf93b7c4413a72f3ec',1,'tvm::support::Span::Span(T *begin, int num_elements)'],['../classtvm_1_1support_1_1Span.html#a3c22dd06856e7029e7107adf38eb72f5',1,'tvm::support::Span::Span(T *begin, T *end)'],['../classtvm_1_1 [...]
+  ['span',['Span',['../classtvm_1_1Span.html',1,'tvm::Span'],['../classtvm_1_1support_1_1Span.html',1,'tvm::support::Span&lt; T, W &gt;'],['../classtvm_1_1AffineTypeNode.html#aa45c91e3c8ebcff609d10f6a921f3fa2',1,'tvm::AffineTypeNode::span()'],['../classtvm_1_1DiagnosticNode.html#af5469f228f87711ad8bd3f4f78f3bb54',1,'tvm::DiagnosticNode::span()'],['../classtvm_1_1DiagnosticBuilder.html#a52d9cc3cb33e655c5d82af47daa74c66',1,'tvm::DiagnosticBuilder::span()'],['../classtvm_1_1BaseExprNode.htm [...]
   ['span_2eh',['span.h',['../span_8h.html',1,'']]],
   ['spannode',['SpanNode',['../classtvm_1_1SpanNode.html',1,'tvm::SpanNode'],['../namespacetvm_1_1relay.html#a7d0fa6578e97d0d64b08865f94f04827',1,'tvm::relay::SpanNode()']]],
   ['sparse_5flhs',['sparse_lhs',['../structtvm_1_1relay_1_1SparseDenseAttrs.html#ae52d5465cb3421f342607abcc1cb1d5c',1,'tvm::relay::SparseDenseAttrs']]],
@@ -344,7 +344,7 @@ var searchData=
   ['startmessage',['StartMessage',['../classtvm_1_1runtime_1_1micro__rpc_1_1Session.html#acd512b977c6dd888f90c4fd6d2b9500f',1,'tvm::runtime::micro_rpc::Session']]],
   ['startpacket',['StartPacket',['../classtvm_1_1runtime_1_1micro__rpc_1_1Framer.html#ade10d3bd3a26e3b7af881ae134e9a998',1,'tvm::runtime::micro_rpc::Framer']]],
   ['startsession',['StartSession',['../classtvm_1_1runtime_1_1micro__rpc_1_1Session.html#a15d3f9ecb8b22bf2d330f6f0a16c5239',1,'tvm::runtime::micro_rpc::Session']]],
-  ['state',['State',['../classtvm_1_1auto__scheduler_1_1State.html',1,'tvm::auto_scheduler::State'],['../classtvm_1_1auto__scheduler_1_1MeasureInputNode.html#afb23aaf6133189687d2541ec6e1352f4',1,'tvm::auto_scheduler::MeasureInputNode::state()'],['../classtvm_1_1tir_1_1ScheduleNode.html#abb3612c2598fa2d3ee0e6e3fc3de8a26',1,'tvm::tir::ScheduleNode::state()'],['../classtvm_1_1auto__scheduler_1_1State.html#a9e8198b1f51b42cfbbee4b9f42160749',1,'tvm::auto_scheduler::State::State()']]],
+  ['state',['State',['../classtvm_1_1auto__scheduler_1_1State.html',1,'tvm::auto_scheduler::State'],['../classtvm_1_1auto__scheduler_1_1State.html#a9e8198b1f51b42cfbbee4b9f42160749',1,'tvm::auto_scheduler::State::State()'],['../classtvm_1_1auto__scheduler_1_1MeasureInputNode.html#afb23aaf6133189687d2541ec6e1352f4',1,'tvm::auto_scheduler::MeasureInputNode::state()'],['../classtvm_1_1tir_1_1ScheduleNode.html#abb3612c2598fa2d3ee0e6e3fc3de8a26',1,'tvm::tir::ScheduleNode::state()']]],
   ['state_2eh',['state.h',['../state_8h.html',1,'']]],
   ['state_5fplaceholder',['state_placeholder',['../classtvm_1_1te_1_1ScanOpNode.html#a69105f6a84dd4fb912a16bfaa68aebf6',1,'tvm::te::ScanOpNode']]],
   ['statenode',['StateNode',['../classtvm_1_1auto__scheduler_1_1StateNode.html',1,'tvm::auto_scheduler']]],
@@ -380,7 +380,7 @@ var searchData=
   ['stmtsref',['StmtSRef',['../classtvm_1_1tir_1_1StmtSRef.html',1,'tvm::tir::StmtSRef'],['../classtvm_1_1tir_1_1StmtSRef.html#a31687ace5dc4fe487ffb87d658d86412',1,'tvm::tir::StmtSRef::StmtSRef()']]],
   ['stmtsrefnode',['StmtSRefNode',['../classtvm_1_1tir_1_1StmtSRefNode.html',1,'tvm::tir']]],
   ['stmtvisitor',['StmtVisitor',['../classtvm_1_1tir_1_1StmtVisitor.html',1,'tvm::tir']]],
-  ['stop',['stop',['../structtvm_1_1relay_1_1ArangeAttrs.html#a1eadf1f3964ca83dade8edeae7d6d7cf',1,'tvm::relay::ArangeAttrs::stop()'],['../classtvm_1_1script_1_1printer_1_1SliceDocNode.html#aaeb98937e7617cb76fb9662616b89e81',1,'tvm::script::printer::SliceDocNode::stop()'],['../classtvm_1_1runtime_1_1TimerNode.html#a67eb764f2c9e3fb7c2708f01c0c35683',1,'tvm::runtime::TimerNode::Stop()'],['../classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#aca9679dd49dfbc886b9dc99539cbf0e6',1,' [...]
+  ['stop',['Stop',['../classtvm_1_1runtime_1_1TimerNode.html#a67eb764f2c9e3fb7c2708f01c0c35683',1,'tvm::runtime::TimerNode::Stop()'],['../classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#aca9679dd49dfbc886b9dc99539cbf0e6',1,'tvm::runtime::profiling::MetricCollectorNode::Stop()'],['../classtvm_1_1runtime_1_1profiling_1_1Profiler.html#aa2000d8cd1970b5d29139ab1831394f0',1,'tvm::runtime::profiling::Profiler::Stop()'],['../structtvm_1_1relay_1_1ArangeAttrs.html#a1eadf1f3964ca83dad [...]
   ['stopcall',['StopCall',['../classtvm_1_1runtime_1_1profiling_1_1Profiler.html#ad5e6a8e8c9d915c80f494138eedfec3f',1,'tvm::runtime::profiling::Profiler']]],
   ['storage',['Storage',['../classtvm_1_1runtime_1_1vm_1_1Storage.html',1,'tvm::runtime::vm::Storage'],['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#a3412cabd3b4f42f106f56fc22257f6ca',1,'tvm::runtime::vm::Instruction::storage()'],['../classtvm_1_1runtime_1_1vm_1_1Storage.html#aff0c1264864e6205cfa468f069f62f55',1,'tvm::runtime::vm::Storage::Storage()']]],
   ['storage_5falign',['storage_align',['../classtvm_1_1auto__scheduler_1_1State.html#ab006690418e43cc9b7ad021c02657ed6',1,'tvm::auto_scheduler::State::storage_align()'],['../classtvm_1_1te_1_1Stage.html#aa73e3a269d84c3b4f0a1994371d67bab',1,'tvm::te::Stage::storage_align()']]],
@@ -398,7 +398,7 @@ var searchData=
   ['storagetype',['StorageType',['../classtvm_1_1runtime_1_1SimpleObjAllocator_1_1Handler.html#ada6a65394767c674dbbfb5937ef51bd6',1,'tvm::runtime::SimpleObjAllocator::Handler::StorageType()'],['../classtvm_1_1runtime_1_1SimpleObjAllocator_1_1ArrayHandler.html#a67e86db3290b1d3bd4aca7e7a2faf187',1,'tvm::runtime::SimpleObjAllocator::ArrayHandler::StorageType()']]],
   ['store_5fpredicate',['store_predicate',['../classtvm_1_1te_1_1StageNode.html#a8f4ba7f2931b3541c12734af511600a7',1,'tvm::te::StageNode']]],
   ['str',['str',['../classtvm_1_1TargetNode.html#a30cd67db46a9c4b098a8ba38fff22e26',1,'tvm::TargetNode::str()'],['../classtvm_1_1script_1_1printer_1_1LiteralDoc.html#a8423a0ede5a29b24f6db5d9f6574a200',1,'tvm::script::printer::LiteralDoc::Str()']]],
-  ['stream',['stream',['../classtvm_1_1ReprPrinter.html#a036409dcdcf6f0ac5c6d7d27ec60ed94',1,'tvm::ReprPrinter::stream()'],['../classtvm_1_1ReprLegacyPrinter.html#a8234b759c989ddac7fb24253d2e1e83d',1,'tvm::ReprLegacyPrinter::Stream()']]],
+  ['stream',['Stream',['../classtvm_1_1ReprLegacyPrinter.html#a8234b759c989ddac7fb24253d2e1e83d',1,'tvm::ReprLegacyPrinter::Stream()'],['../classtvm_1_1ReprPrinter.html#a036409dcdcf6f0ac5c6d7d27ec60ed94',1,'tvm::ReprPrinter::stream()']]],
   ['streamsync',['StreamSync',['../classtvm_1_1runtime_1_1DeviceAPI.html#ac29b9295c432a87658392872c644864f',1,'tvm::runtime::DeviceAPI']]],
   ['stride',['stride',['../structtvm_1_1relay_1_1YoloReorgAttrs.html#a720c79759a2f2b603b006b0bfcab5fe0',1,'tvm::relay::YoloReorgAttrs::stride()'],['../classtvm_1_1tir_1_1RampNode.html#a618c78e39d18f999dbdd3fe01436f447',1,'tvm::tir::RampNode::stride()']]],
   ['stride1',['stride1',['../structtvm_1_1relay_1_1CorrelationAttrs.html#aab5bf45d1aa0972bc1ce5cdb715546ff',1,'tvm::relay::CorrelationAttrs']]],
diff --git a/docs/reference/api/doxygen/search/all_16.js b/docs/reference/api/doxygen/search/all_16.js
index 92f4bbae88..771a797e39 100644
--- a/docs/reference/api/doxygen/search/all_16.js
+++ b/docs/reference/api/doxygen/search/all_16.js
@@ -49,10 +49,10 @@ var searchData=
   ['unknownattributeaccesspathnode',['UnknownAttributeAccessPathNode',['../classtvm_1_1UnknownAttributeAccessPathNode.html',1,'tvm::UnknownAttributeAccessPathNode'],['../classtvm_1_1UnknownAttributeAccessPathNode.html#a1882e9e591466a2785acc761dc63d56e',1,'tvm::UnknownAttributeAccessPathNode::UnknownAttributeAccessPathNode()']]],
   ['unmatchedcases',['UnmatchedCases',['../namespacetvm_1_1relay.html#aa3a8cace40f8056fd6412f39c3eaa605',1,'tvm::relay']]],
   ['unravel_5findex',['unravel_index',['../namespacetvm_1_1topi.html#a8811a02532bbe3047986bf1a8449ac0e',1,'tvm::topi']]],
-  ['unroll',['unroll',['../classtvm_1_1auto__scheduler_1_1State.html#aa68a9d2e226bae38a36e4be4af1d1ae4',1,'tvm::auto_scheduler::State::unroll()'],['../classtvm_1_1te_1_1Stage.html#af83ad8672660403504f472228b044b33',1,'tvm::te::Stage::unroll()'],['../classtvm_1_1tir_1_1ScheduleNode.html#a84ec742f6295f59390592a6d0d90a552',1,'tvm::tir::ScheduleNode::Unroll()'],['../namespacetvm_1_1script_1_1ir__builder_1_1tir.html#acd41556b0c4088d0f309ef5495aaebe3',1,'tvm::script::ir_builder::tir::Unroll()']]],
+  ['unroll',['Unroll',['../classtvm_1_1tir_1_1ScheduleNode.html#a84ec742f6295f59390592a6d0d90a552',1,'tvm::tir::ScheduleNode::Unroll()'],['../classtvm_1_1auto__scheduler_1_1State.html#aa68a9d2e226bae38a36e4be4af1d1ae4',1,'tvm::auto_scheduler::State::unroll()'],['../classtvm_1_1te_1_1Stage.html#af83ad8672660403504f472228b044b33',1,'tvm::te::Stage::unroll()'],['../namespacetvm_1_1script_1_1ir__builder_1_1tir.html#acd41556b0c4088d0f309ef5495aaebe3',1,'tvm::script::ir_builder::tir::Unroll()']]],
   ['unrollloop',['UnrollLoop',['../namespacetvm_1_1tir_1_1transform.html#ab2f279e91071fa96a1edb24fa004ea6a',1,'tvm::tir::transform']]],
   ['unsafesetdtype',['UnsafeSetDType',['../classtvm_1_1tir_1_1ScheduleNode.html#ac797a00135c910d65da297038b930ed6',1,'tvm::tir::ScheduleNode']]],
-  ['update',['update',['../classtvm_1_1te_1_1ScanOpNode.html#ace2bf7e43cd4197324ec6363626fc60a',1,'tvm::te::ScanOpNode::update()'],['../classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a5ae0699196c4bbc754bbdd4c3a6c7ca7',1,'tvm::arith::ConstIntBoundAnalyzer::Update()'],['../classtvm_1_1arith_1_1ModularSetAnalyzer.html#a04156fac580981f3005af3b8e676720d',1,'tvm::arith::ModularSetAnalyzer::Update()'],['../classtvm_1_1arith_1_1RewriteSimplifier.html#a5e6752c0702dc2d3e4235797d9d3ac7b',1,'tvm::a [...]
+  ['update',['Update',['../classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a5ae0699196c4bbc754bbdd4c3a6c7ca7',1,'tvm::arith::ConstIntBoundAnalyzer::Update()'],['../classtvm_1_1arith_1_1ModularSetAnalyzer.html#a04156fac580981f3005af3b8e676720d',1,'tvm::arith::ModularSetAnalyzer::Update()'],['../classtvm_1_1arith_1_1RewriteSimplifier.html#a5e6752c0702dc2d3e4235797d9d3ac7b',1,'tvm::arith::RewriteSimplifier::Update()'],['../classtvm_1_1arith_1_1CanonicalSimplifier.html#a790c032e12c7d93e9e940 [...]
   ['update_5ffunc',['update_func',['../classtvm_1_1auto__scheduler_1_1PythonBasedModelNode.html#ade9364c152a36501d4f24fa4f0111519',1,'tvm::auto_scheduler::PythonBasedModelNode']]],
   ['updatecostmodel',['UpdateCostModel',['../classtvm_1_1meta__schedule_1_1MeasureCallback.html#afdf5503c6e6f53767de132d91a7b53f9',1,'tvm::meta_schedule::MeasureCallback']]],
   ['updateiters',['UpdateIters',['../classtvm_1_1auto__scheduler_1_1AttachMap.html#ab45b991ef2bcfb1bc191601aac42e778',1,'tvm::auto_scheduler::AttachMap']]],
diff --git a/docs/reference/api/doxygen/search/all_17.js b/docs/reference/api/doxygen/search/all_17.js
index 23375b2803..f9029a1c4c 100644
--- a/docs/reference/api/doxygen/search/all_17.js
+++ b/docs/reference/api/doxygen/search/all_17.js
@@ -18,7 +18,7 @@ var searchData=
   ['values',['values',['../structTVMArgs.html#ab2d2a8c794bc11fdb56b294e711ff63c',1,'TVMArgs::values()'],['../classtvm_1_1runtime_1_1TVMArgs.html#a3b99059e2f1ad08c99b42b5bee82752f',1,'tvm::runtime::TVMArgs::values()'],['../classtvm_1_1script_1_1printer_1_1DictDocNode.html#a08d71431d889cd4588d57c06c12140c4',1,'tvm::script::printer::DictDocNode::values()']]],
   ['values_5fcount',['values_count',['../structTVMArgs.html#afa042427dc87d770d0def130f497f3f5',1,'TVMArgs']]],
   ['valuetypeinfomaker',['ValueTypeInfoMaker',['../structtvm_1_1detail_1_1ValueTypeInfoMaker.html',1,'tvm::detail']]],
-  ['var',['Var',['../classtvm_1_1relay_1_1Var.html',1,'tvm::relay::Var'],['../classtvm_1_1tir_1_1Var.html',1,'tvm::tir::Var'],['../classtvm_1_1relay_1_1PatternVarNode.html#acfa1269806fbf19e7badd424c19c64bf',1,'tvm::relay::PatternVarNode::var()'],['../classtvm_1_1relay_1_1LetPatternNode.html#aff0c6dec182a3173fe0cb601a5b74ed1',1,'tvm::relay::LetPatternNode::var()'],['../classtvm_1_1relay_1_1LetNode.html#a3a841faeeb71a7e59f99feffb182a7c1',1,'tvm::relay::LetNode::var()'],['../classtvm_1_1scr [...]
+  ['var',['Var',['../classtvm_1_1relay_1_1Var.html',1,'tvm::relay::Var'],['../classtvm_1_1tir_1_1Var.html',1,'tvm::tir::Var'],['../classtvm_1_1relay_1_1Var.html#a06ef8ae1d07a5b8a3c25ca7775d17762',1,'tvm::relay::Var::Var(String name_hint, Type type_annotation, Span span=Span())'],['../classtvm_1_1relay_1_1Var.html#a45372a62057ee9332a391e29845505ff',1,'tvm::relay::Var::Var(Id vid, Type type_annotation, Span span=Span())'],['../classtvm_1_1tir_1_1Var.html#a21ba7568a83bfc2a5896f9e0ff181129', [...]
   ['var_2eh',['var.h',['../var_8h.html',1,'']]],
   ['var_5fremap_5f',['var_remap_',['../classtvm_1_1tir_1_1DataTypeLegalizer.html#a1de0d50699d7d15618b19d2cb7fadb35',1,'tvm::tir::DataTypeLegalizer']]],
   ['variableinfo',['VariableInfo',['../structtvm_1_1script_1_1printer_1_1IRDocsifierNode_1_1VariableInfo.html',1,'tvm::script::printer::IRDocsifierNode']]],
@@ -34,7 +34,7 @@ var searchData=
   ['vector_5funit_5fbytes',['vector_unit_bytes',['../classtvm_1_1auto__scheduler_1_1HardwareParamsNode.html#a6f2dd9161fdb3233417a9912c8854434',1,'tvm::auto_scheduler::HardwareParamsNode']]],
   ['vectorcombine',['vectorcombine',['../namespacetvm_1_1tir_1_1builtin.html#a30dff65bc2c142b57fae7f60e378ff43',1,'tvm::tir::builtin']]],
   ['vectorhigh',['vectorhigh',['../namespacetvm_1_1tir_1_1builtin.html#a45bf65ca7ca01d2016e0b609117d7e25',1,'tvm::tir::builtin']]],
-  ['vectorize',['Vectorize',['../classtvm_1_1tir_1_1ScheduleNode.html#ab4a8cd91959ceab22855ec338978bcee',1,'tvm::tir::ScheduleNode::Vectorize()'],['../classtvm_1_1auto__scheduler_1_1State.html#a97b8a21210d63bea241dbab085d89b53',1,'tvm::auto_scheduler::State::vectorize()'],['../classtvm_1_1te_1_1Stage.html#a44d33e3920106e75dc7c68272f880812',1,'tvm::te::Stage::vectorize()']]],
+  ['vectorize',['vectorize',['../classtvm_1_1auto__scheduler_1_1State.html#a97b8a21210d63bea241dbab085d89b53',1,'tvm::auto_scheduler::State::vectorize()'],['../classtvm_1_1te_1_1Stage.html#a44d33e3920106e75dc7c68272f880812',1,'tvm::te::Stage::vectorize()'],['../classtvm_1_1tir_1_1ScheduleNode.html#ab4a8cd91959ceab22855ec338978bcee',1,'tvm::tir::ScheduleNode::Vectorize()']]],
   ['vectorized',['Vectorized',['../namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a2b3df6013772bdd23dfa872b81555272',1,'tvm::script::ir_builder::tir']]],
   ['vectorizeloop',['VectorizeLoop',['../namespacetvm_1_1tir_1_1transform.html#af3cecb50a8b8fc8021f6a87bc27587da',1,'tvm::tir::transform']]],
   ['vectorizer',['Vectorizer',['../classtvm_1_1tir_1_1BufferLoadNode.html#a842a72b9d02a9f8541b512478932fece',1,'tvm::tir::BufferLoadNode']]],
diff --git a/docs/reference/api/doxygen/search/all_18.js b/docs/reference/api/doxygen/search/all_18.js
index 08811415b9..9623990506 100644
--- a/docs/reference/api/doxygen/search/all_18.js
+++ b/docs/reference/api/doxygen/search/all_18.js
@@ -34,7 +34,7 @@ var searchData=
   ['withfields',['WithFields',['../namespacetvm_1_1relay.html#acd80501d29e4d951be6746c79934a70c',1,'tvm::relay::WithFields(Clause clause, Optional&lt; Pattern &gt; opt_lhs=Optional&lt; Pattern &gt;(), Optional&lt; Expr &gt; opt_rhs=Optional&lt; Expr &gt;())'],['../namespacetvm_1_1relay.html#adb39b46f86b66a5e7252f6d9102deb7b',1,'tvm::relay::WithFields(Match match, Optional&lt; Expr &gt; opt_data=Optional&lt; Expr &gt;(), Optional&lt; Array&lt; Clause &gt;&gt; opt_clauses=Optional&lt; Arra [...]
   ['withhost',['WithHost',['../classtvm_1_1Target.html#a509ce63995f082c80742ea5ca6ac112f',1,'tvm::Target']]],
   ['withoutattr',['WithoutAttr',['../namespacetvm.html#a7e2bc626db8be997b1562c79df3d9e11',1,'tvm']]],
-  ['workload',['Workload',['../classtvm_1_1meta__schedule_1_1Workload.html',1,'tvm::meta_schedule::Workload'],['../classtvm_1_1meta__schedule_1_1Workload.html#a21ccf9c956b82d50a2579f1c0f592fd0',1,'tvm::meta_schedule::Workload::Workload(IRModule mod)'],['../classtvm_1_1meta__schedule_1_1Workload.html#a8880877517679c82ae63520e28d5e1d8',1,'tvm::meta_schedule::Workload::Workload(IRModule mod, THashCode shash)'],['../classtvm_1_1meta__schedule_1_1TuningRecordNode.html#a42c87f1ec62dae6806c3fe9 [...]
+  ['workload',['Workload',['../classtvm_1_1meta__schedule_1_1Workload.html',1,'tvm::meta_schedule::Workload'],['../classtvm_1_1meta__schedule_1_1TuningRecordNode.html#a42c87f1ec62dae6806c3fe9629c5e7f0',1,'tvm::meta_schedule::TuningRecordNode::workload()'],['../classtvm_1_1meta__schedule_1_1Workload.html#a21ccf9c956b82d50a2579f1c0f592fd0',1,'tvm::meta_schedule::Workload::Workload(IRModule mod)'],['../classtvm_1_1meta__schedule_1_1Workload.html#a8880877517679c82ae63520e28d5e1d8',1,'tvm::me [...]
   ['workload_5fkey',['workload_key',['../classtvm_1_1auto__scheduler_1_1SearchTaskNode.html#a20045d677ba2bc5c5ce461e78543b3e2',1,'tvm::auto_scheduler::SearchTaskNode']]],
   ['workloadequal',['WorkloadEqual',['../structtvm_1_1meta__schedule_1_1WorkloadEqual.html',1,'tvm::meta_schedule::WorkloadEqual'],['../structtvm_1_1meta__schedule_1_1WorkloadEqual.html#a49b0e137a01a278469ff63729afae804',1,'tvm::meta_schedule::WorkloadEqual::WorkloadEqual()']]],
   ['workloadhash',['WorkloadHash',['../structtvm_1_1meta__schedule_1_1WorkloadHash.html',1,'tvm::meta_schedule']]],
diff --git a/docs/reference/api/doxygen/search/all_8.js b/docs/reference/api/doxygen/search/all_8.js
index 2bce1b0e65..007f36decb 100644
--- a/docs/reference/api/doxygen/search/all_8.js
+++ b/docs/reference/api/doxygen/search/all_8.js
@@ -86,6 +86,7 @@ var searchData=
   ['getobjectptr',['GetObjectPtr',['../classtvm_1_1runtime_1_1ObjectPtr.html#a2d849c83a86bbe7e86022b3d6cfc5ee4',1,'tvm::runtime::ObjectPtr::GetObjectPtr()'],['../namespacetvm_1_1runtime.html#a46bcf7948293194c5b9c7db91da96381',1,'tvm::runtime::GetObjectPtr(ObjectType *ptr)'],['../namespacetvm_1_1runtime.html#ac2d903012aff56c2bd54ff66f48450c3',1,'tvm::runtime::GetObjectPtr(ObjType *ptr)']]],
   ['getorallocruntimetypeindex',['GetOrAllocRuntimeTypeIndex',['../classtvm_1_1runtime_1_1Object.html#a726972ff315c446192df94027ddea032',1,'tvm::runtime::Object']]],
   ['getorcreateallocator',['GetOrCreateAllocator',['../classtvm_1_1runtime_1_1vm_1_1MemoryManager.html#a2fb80fa184bac1a857b7fdbea49b6a34',1,'tvm::runtime::vm::MemoryManager']]],
+  ['getoutputblocks',['GetOutputBlocks',['../classtvm_1_1tir_1_1ScheduleNode.html#a97a6944e435ed71cbdddbd8b2f4415a4',1,'tvm::tir::ScheduleNode']]],
   ['getpacked',['GetPacked',['../classtvm_1_1GenericFunc.html#aaa87b9504f962cbe28c33a7a9583dd7d',1,'tvm::GenericFunc']]],
   ['getparent',['GetParent',['../classtvm_1_1ObjectPathNode.html#a37746d3a30829fbfbf17dab1eb435015',1,'tvm::ObjectPathNode']]],
   ['getperstorefeature',['GetPerStoreFeature',['../namespacetvm_1_1auto__scheduler.html#a4309309fa1674314212c4af67b3fb12d',1,'tvm::auto_scheduler']]],
diff --git a/docs/reference/api/doxygen/search/all_d.js b/docs/reference/api/doxygen/search/all_d.js
index dff8363667..7069c97c05 100644
--- a/docs/reference/api/doxygen/search/all_d.js
+++ b/docs/reference/api/doxygen/search/all_d.js
@@ -18,7 +18,7 @@ var searchData=
   ['layer_5fnorm',['layer_norm',['../namespacetvm_1_1topi_1_1nn.html#accc17ec14bd2ccc2c0e8055165ba69bd',1,'tvm::topi::nn']]],
   ['layer_5fnorm_2eh',['layer_norm.h',['../layer__norm_8h.html',1,'']]],
   ['layernormattrs',['LayerNormAttrs',['../structtvm_1_1relay_1_1LayerNormAttrs.html',1,'tvm::relay']]],
-  ['layout',['Layout',['../classtvm_1_1tir_1_1Layout.html',1,'tvm::tir::Layout'],['../classtvm_1_1tir_1_1Layout.html#ace4d6c608f7148bb2c6aefe33b4e4ab5',1,'tvm::tir::Layout::Layout(const Array&lt; tir::IterVar &gt; &amp;axes)'],['../classtvm_1_1tir_1_1Layout.html#ac899b7c62ee68d8b882a119ba6854f88',1,'tvm::tir::Layout::Layout(const tvm::String &amp;name)'],['../classtvm_1_1tir_1_1Layout.html#a11a8465c3cc562e408a48a7f0fd324fd',1,'tvm::tir::Layout::Layout(const char *name)'],['../classtvm_1_ [...]
+  ['layout',['Layout',['../classtvm_1_1tir_1_1Layout.html',1,'tvm::tir::Layout'],['../structtvm_1_1relay_1_1Resize1DAttrs.html#aeffef5eaf26c61884e466290b6a7fdc1',1,'tvm::relay::Resize1DAttrs::layout()'],['../structtvm_1_1relay_1_1Resize2DAttrs.html#aa93c1566a4432d136daac606c3165953',1,'tvm::relay::Resize2DAttrs::layout()'],['../structtvm_1_1relay_1_1Resize3DAttrs.html#aca11b9643c0eb524163f8e37ec1c6093',1,'tvm::relay::Resize3DAttrs::layout()'],['../structtvm_1_1relay_1_1CropAndResizeAttrs [...]
   ['layout_5ffree_5fbuffers',['layout_free_buffers',['../namespacetvm_1_1tir_1_1attr.html#a9cf212844cfa05381db84b0c470318e3',1,'tvm::tir::attr']]],
   ['layout_5ffree_5fplaceholders_5fkey',['layout_free_placeholders_key',['../classtvm_1_1auto__scheduler_1_1ComputeDAG.html#a173f178286d543c71feb0f8a06d0cb7b',1,'tvm::auto_scheduler::ComputeDAG']]],
   ['layout_5frewrite_5foption',['layout_rewrite_option',['../classtvm_1_1auto__scheduler_1_1SearchTaskNode.html#ad770dabf0716145fe86537b9107856aa',1,'tvm::auto_scheduler::SearchTaskNode']]],
diff --git a/docs/reference/api/doxygen/search/all_e.js b/docs/reference/api/doxygen/search/all_e.js
index 52705e9d7f..4d322c124d 100644
--- a/docs/reference/api/doxygen/search/all_e.js
+++ b/docs/reference/api/doxygen/search/all_e.js
@@ -181,7 +181,7 @@ var searchData=
   ['microtvmruntimegetoutput',['MicroTVMRuntimeGetOutput',['../microtvm__runtime_8h.html#a76129be7b6de972791a3f9a1b312acfa',1,'microtvm_runtime.h']]],
   ['microtvmruntimerun',['MicroTVMRuntimeRun',['../microtvm__runtime_8h.html#ac43a544f675dd716e8c279c3e41f6e45',1,'microtvm_runtime.h']]],
   ['microtvmruntimesetinput',['MicroTVMRuntimeSetInput',['../microtvm__runtime_8h.html#aa593edc600f4356f2b560702aa01b113',1,'microtvm_runtime.h']]],
-  ['min',['Min',['../classtvm_1_1tir_1_1Min.html',1,'tvm::tir::Min'],['../classtvm_1_1tir_1_1Min.html#a3a4403aec40029a5206e22cd334e356b',1,'tvm::tir::Min::Min()'],['../classtvm_1_1RangeNode.html#a43d2fb12bb61cf05936a1972d0158b49',1,'tvm::RangeNode::min()'],['../classtvm_1_1tir_1_1ForNode.html#a1d1aa2006328bd84e4911f6d43ceca5c',1,'tvm::tir::ForNode::min()'],['../classtvm_1_1arith_1_1IntSet.html#ae5517de2862e93a801224eed98a57001',1,'tvm::arith::IntSet::min()'],['../classtvm_1_1support_1_1L [...]
+  ['min',['Min',['../classtvm_1_1tir_1_1Min.html',1,'tvm::tir::Min'],['../classtvm_1_1RangeNode.html#a43d2fb12bb61cf05936a1972d0158b49',1,'tvm::RangeNode::min()'],['../classtvm_1_1tir_1_1ForNode.html#a1d1aa2006328bd84e4911f6d43ceca5c',1,'tvm::tir::ForNode::min()'],['../classtvm_1_1arith_1_1IntSet.html#ae5517de2862e93a801224eed98a57001',1,'tvm::arith::IntSet::min()'],['../classtvm_1_1support_1_1LinearCongruentialEngine.html#aec5f11b588fa3a12294a46c945c34411',1,'tvm::support::LinearCongrue [...]
   ['min_5frepeat_5fms',['min_repeat_ms',['../classtvm_1_1auto__scheduler_1_1ProgramRunnerNode.html#a39a865216db9ed6f57dfb22160cae1ff',1,'tvm::auto_scheduler::ProgramRunnerNode']]],
   ['min_5fvalue',['min_value',['../classtvm_1_1arith_1_1ConstIntBoundNode.html#a0761897bf16ab73b848bf360e9b195a3',1,'tvm::arith::ConstIntBoundNode::min_value()'],['../namespacetvm.html#a3b37fa55ea93d6868751a2441996b072',1,'tvm::min_value()']]],
   ['minimum',['minimum',['../namespacetvm_1_1topi.html#a7ac1dc0d99ce93090a4cdf90ab19d4b8',1,'tvm::topi::minimum(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)'],['../namespacetvm_1_1topi.html#a0e19dc06a2b1ecbb83b0942fdf836169',1,'tvm::topi::minimum(const tvm::te::Tensor &amp;A, const tvm::te::Tensor &amp;B, std::string name=&quot;T_&quot; &quot;minimum&quot;, std::string tag=kBroadcast)'],['../namespacetvm_1_1topi.html#a28d4ef4b3426bff237215ce356dd5681',1,'tvm::topi::minimum(con [...]
@@ -199,7 +199,7 @@ var searchData=
   ['mixedmodulepassmanager',['MixedModulePassManager',['../namespacetvm.html#abc01352eff102d4902632d097adc0e08',1,'tvm']]],
   ['mma_5ffill',['mma_fill',['../namespacetvm_1_1tir_1_1builtin.html#a307667c449c54cef747d781771f79bab',1,'tvm::tir::builtin']]],
   ['mma_5fstore',['mma_store',['../namespacetvm_1_1tir_1_1builtin.html#a772fb68f083e71e635c50bb503903f22',1,'tvm::tir::builtin']]],
-  ['mod',['Mod',['../classtvm_1_1tir_1_1Mod.html',1,'tvm::tir::Mod'],['../classtvm_1_1meta__schedule_1_1BuilderInputNode.html#ab2fb058ca54af03b5bc47bf4fac23cf7',1,'tvm::meta_schedule::BuilderInputNode::mod()'],['../classtvm_1_1meta__schedule_1_1WorkloadNode.html#a3929f2761c168c25de6be2247b913911',1,'tvm::meta_schedule::WorkloadNode::mod()'],['../classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html#a50c40aa8beb57d0f31c36ef360042be6',1,'tvm::meta_schedule::ExtractedTaskNode::mod()'],['../c [...]
+  ['mod',['Mod',['../classtvm_1_1tir_1_1Mod.html',1,'tvm::tir::Mod'],['../classtvm_1_1tir_1_1Mod.html#a8bb56b57ed569d8f357c4439fd8a2f13',1,'tvm::tir::Mod::Mod()'],['../classtvm_1_1meta__schedule_1_1BuilderInputNode.html#ab2fb058ca54af03b5bc47bf4fac23cf7',1,'tvm::meta_schedule::BuilderInputNode::mod()'],['../classtvm_1_1meta__schedule_1_1WorkloadNode.html#a3929f2761c168c25de6be2247b913911',1,'tvm::meta_schedule::WorkloadNode::mod()'],['../classtvm_1_1meta__schedule_1_1ExtractedTaskNode.ht [...]
   ['mod_5fname',['mod_name',['../structTVMMetadata.html#a32e45fcae0f9328e944a35a885d94276',1,'TVMMetadata::mod_name()'],['../classtvm_1_1runtime_1_1metadata_1_1MetadataNode.html#a1c05bb5eb88b5d55b3abeeb2de263191',1,'tvm::runtime::metadata::MetadataNode::mod_name()']]],
   ['mode',['mode',['../structtvm_1_1relay_1_1MirrorPadAttrs.html#af5381d72f1d9c9abcb9d2e522966ad86',1,'tvm::relay::MirrorPadAttrs::mode()'],['../structtvm_1_1relay_1_1SubPixelAttrs.html#a6f0822aa1ad7672a18ab73c64e83fa99',1,'tvm::relay::SubPixelAttrs::mode()'],['../structtvm_1_1relay_1_1ScatterNDAttrs.html#ab13eeaa700fe7e41666ac04179e0fd62',1,'tvm::relay::ScatterNDAttrs::mode()'],['../structtvm_1_1relay_1_1TakeAttrs.html#a0bf9d25ced9bfc91e766494e5f641e70',1,'tvm::relay::TakeAttrs::mode()' [...]
   ['modnode',['ModNode',['../classtvm_1_1tir_1_1ModNode.html',1,'tvm::tir']]],
@@ -207,7 +207,7 @@ var searchData=
   ['modularset',['ModularSet',['../classtvm_1_1arith_1_1ModularSet.html',1,'tvm::arith::ModularSet'],['../classtvm_1_1arith_1_1ModularSet.html#a9f54896d98169246c6a24cc338fde500',1,'tvm::arith::ModularSet::ModularSet()']]],
   ['modularsetanalyzer',['ModularSetAnalyzer',['../classtvm_1_1arith_1_1ModularSetAnalyzer.html',1,'tvm::arith']]],
   ['modularsetnode',['ModularSetNode',['../classtvm_1_1arith_1_1ModularSetNode.html',1,'tvm::arith']]],
-  ['module',['Module',['../classtvm_1_1runtime_1_1Module.html',1,'tvm::runtime::Module'],['../classtvm_1_1DiagnosticContextNode.html#adea7e38a6e47cbab7fb5639f208aa536',1,'tvm::DiagnosticContextNode::module()'],['../classtvm_1_1runtime_1_1ModuleNode.html#a21f639900c480510650969df9c74d17d',1,'tvm::runtime::ModuleNode::Module()'],['../classtvm_1_1runtime_1_1Module.html#abfbc619b3b3166d63ec52e399c24bed9',1,'tvm::runtime::Module::Module()'],['../classtvm_1_1runtime_1_1Module.html#abd1380b3f81 [...]
+  ['module',['Module',['../classtvm_1_1runtime_1_1Module.html',1,'tvm::runtime::Module'],['../classtvm_1_1runtime_1_1ModuleNode.html#a21f639900c480510650969df9c74d17d',1,'tvm::runtime::ModuleNode::Module()'],['../classtvm_1_1runtime_1_1Module.html#abfbc619b3b3166d63ec52e399c24bed9',1,'tvm::runtime::Module::Module()'],['../classtvm_1_1runtime_1_1Module.html#abd1380b3f813c2b6acefca3aaef425f4',1,'tvm::runtime::Module::Module(ObjectPtr&lt; Object &gt; n)'],['../classtvm_1_1DiagnosticContextN [...]
   ['module_2eh',['module.h',['../ir_2module_8h.html',1,'(Global Namespace)'],['../runtime_2crt_2module_8h.html',1,'(Global Namespace)'],['../runtime_2module_8h.html',1,'(Global Namespace)']]],
   ['module_5fhandle',['module_handle',['../structTVMAotExecutor.html#a0d4158663d39f79d88d2bc0355c9f1eb',1,'TVMAotExecutor']]],
   ['moduleinternal',['ModuleInternal',['../classtvm_1_1runtime_1_1ModuleNode.html#a2b490c1acecd166b5824e4e96f17c64e',1,'tvm::runtime::ModuleNode']]],
diff --git a/docs/reference/api/doxygen/search/functions_10.js b/docs/reference/api/doxygen/search/functions_10.js
index 49edd6d1fb..3709c3eca1 100644
--- a/docs/reference/api/doxygen/search/functions_10.js
+++ b/docs/reference/api/doxygen/search/functions_10.js
@@ -67,7 +67,7 @@ var searchData=
   ['pragmastep',['PragmaStep',['../classtvm_1_1auto__scheduler_1_1PragmaStep.html#a9f3ec96f3e561a14d8d9235c4d46e2eb',1,'tvm::auto_scheduler::PragmaStep::PragmaStep(int stage_id, int iter_id, String pragma_type)'],['../classtvm_1_1auto__scheduler_1_1PragmaStep.html#a7692c2a9934af1f36b218840034a88d5',1,'tvm::auto_scheduler::PragmaStep::PragmaStep(dmlc::JSONReader *reader)']]],
   ['predict',['Predict',['../classtvm_1_1auto__scheduler_1_1CostModelNode.html#aa337ec72401a957a68b6eb4a96472a2c',1,'tvm::auto_scheduler::CostModelNode::Predict()'],['../classtvm_1_1auto__scheduler_1_1RandomModelNode.html#a09f1d81fd9d9f93fca5f2008ab6054ba',1,'tvm::auto_scheduler::RandomModelNode::Predict()'],['../classtvm_1_1auto__scheduler_1_1PythonBasedModelNode.html#af16befe722e718fea23727469fecea1c',1,'tvm::auto_scheduler::PythonBasedModelNode::Predict()'],['../classtvm_1_1meta__sche [...]
   ['predictstages',['PredictStages',['../classtvm_1_1auto__scheduler_1_1CostModelNode.html#a213222251099444874698d2e9ff18adc',1,'tvm::auto_scheduler::CostModelNode::PredictStages()'],['../classtvm_1_1auto__scheduler_1_1PythonBasedModelNode.html#a1f9975c4bdd61793b806663a61a9a703',1,'tvm::auto_scheduler::PythonBasedModelNode::PredictStages()']]],
-  ['prefetch',['prefetch',['../classtvm_1_1te_1_1Stage.html#a611327890918fb641a8e65396ab9c5f6',1,'tvm::te::Stage::prefetch()'],['../classtvm_1_1tir_1_1Prefetch.html#af462f85dad4268685e3113b6b009d1b2',1,'tvm::tir::Prefetch::Prefetch()'],['../namespacetvm_1_1tir_1_1builtin.html#a543f1fc334d2bc830add972895a03f17',1,'tvm::tir::builtin::prefetch()'],['../namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aeb707d56c770edb33ebf73da27ebc1b9',1,'tvm::script::ir_builder::tir::Prefetch()']]],
+  ['prefetch',['Prefetch',['../classtvm_1_1tir_1_1Prefetch.html#af462f85dad4268685e3113b6b009d1b2',1,'tvm::tir::Prefetch::Prefetch()'],['../classtvm_1_1te_1_1Stage.html#a611327890918fb641a8e65396ab9c5f6',1,'tvm::te::Stage::prefetch()'],['../namespacetvm_1_1tir_1_1builtin.html#a543f1fc334d2bc830add972895a03f17',1,'tvm::tir::builtin::prefetch()'],['../namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aeb707d56c770edb33ebf73da27ebc1b9',1,'tvm::script::ir_builder::tir::Prefetch()']]],
   ['prefetchnode',['PrefetchNode',['../classtvm_1_1tir_1_1PrefetchNode.html#acaaa5e89462c7edf3019df4283ec74db',1,'tvm::tir::PrefetchNode::PrefetchNode()=default'],['../classtvm_1_1tir_1_1PrefetchNode.html#a73ef244c364b9c7efaee36e6bec746e7',1,'tvm::tir::PrefetchNode::PrefetchNode(Buffer buffer, Array&lt; Range &gt; bounds, Span span=Span())']]],
   ['preloadmeasuredstates',['PreloadMeasuredStates',['../classtvm_1_1auto__scheduler_1_1PreloadMeasuredStates.html#a67daf1ccd25a208fdf8d001f9a31d86b',1,'tvm::auto_scheduler::PreloadMeasuredStates::PreloadMeasuredStates()'],['../classtvm_1_1auto__scheduler_1_1SearchPolicyNode.html#abc2529d0b1cd485876e48037dd19dde1',1,'tvm::auto_scheduler::SearchPolicyNode::PreloadMeasuredStates()']]],
   ['prelu',['prelu',['../namespacetvm_1_1topi.html#a315c34bbe2bf1be4c778acae08c906fc',1,'tvm::topi']]],
diff --git a/docs/reference/api/doxygen/search/functions_13.js b/docs/reference/api/doxygen/search/functions_13.js
index 8725a87102..d7969d7045 100644
--- a/docs/reference/api/doxygen/search/functions_13.js
+++ b/docs/reference/api/doxygen/search/functions_13.js
@@ -110,7 +110,7 @@ var searchData=
   ['setvalue_3c_20uint64_5ft_20_3e',['SetValue&lt; uint64_t &gt;',['../namespacetvm_1_1detail.html#acb3382242cbf538f64edae13e4ec5a84',1,'tvm::detail']]],
   ['shallowcopy',['ShallowCopy',['../classtvm_1_1IRModuleNode.html#a86bbdc4b857ce5958a2b5f29e1d6fcb6',1,'tvm::IRModuleNode']]],
   ['shallowcopyirmodule',['ShallowCopyIRModule',['../classtvm_1_1IRModule.html#aea8b821cf92cf525bd87bf15f5d31889',1,'tvm::IRModule']]],
-  ['shape',['Shape',['../classtvm_1_1runtime_1_1NDArray.html#ad273c7bc59b73fb026fd64fc764cbebc',1,'tvm::runtime::NDArray::Shape()'],['../classtvm_1_1runtime_1_1metadata_1_1TensorInfoNode.html#a5ddcd966b82c4df89084dbdf92d3108e',1,'tvm::runtime::metadata::TensorInfoNode::shape()'],['../namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1',1,'tvm::topi::shape()']]],
+  ['shape',['shape',['../classtvm_1_1runtime_1_1metadata_1_1TensorInfoNode.html#a5ddcd966b82c4df89084dbdf92d3108e',1,'tvm::runtime::metadata::TensorInfoNode::shape()'],['../classtvm_1_1runtime_1_1NDArray.html#ad273c7bc59b73fb026fd64fc764cbebc',1,'tvm::runtime::NDArray::Shape()'],['../namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1',1,'tvm::topi::shape()']]],
   ['shapediv',['shapediv',['../namespacetvm.html#a15f25703cfce73c75cb4cd33c74ea8f0',1,'tvm']]],
   ['shapeindex',['ShapeIndex',['../classtvm_1_1runtime_1_1DataType.html#a04f0e069017af3f0da47bc0c1fd80916',1,'tvm::runtime::DataType']]],
   ['shapeof',['ShapeOf',['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#a5f278c637580946bc06b020f5852e44a',1,'tvm::runtime::vm::Instruction']]],
@@ -140,7 +140,7 @@ var searchData=
   ['singlepoint',['SinglePoint',['../classtvm_1_1arith_1_1IntSet.html#a58aeb0d34656b1b43ac2532e4dfa12ed',1,'tvm::arith::IntSet']]],
   ['singleton',['Singleton',['../classtvm_1_1te_1_1Singleton.html#a94450b853dcd5e9865546d8c8fe351a1',1,'tvm::te::Singleton']]],
   ['sinh',['sinh',['../namespacetvm.html#ad828bc801c73df761c58d9f8877d52ee',1,'tvm::sinh()'],['../namespacetvm_1_1topi.html#af9694f5470ba2cabc19866be3b00fe8d',1,'tvm::topi::sinh()']]],
-  ['size',['Size',['../classtvm_1_1TensorTypeNode.html#a1f08dac86ae8aea81d058ef64cfd38b4',1,'tvm::TensorTypeNode::Size()'],['../classtvm_1_1meta__schedule_1_1DatabaseNode.html#aae5b9ab9f7e497654b90c23a2159a5cc',1,'tvm::meta_schedule::DatabaseNode::Size()'],['../classtvm_1_1meta__schedule_1_1PyDatabaseNode.html#a36817d04978253571fef7d01427ce9c0',1,'tvm::meta_schedule::PyDatabaseNode::Size()'],['../classtvm_1_1runtime_1_1micro__rpc_1_1FrameBuffer.html#ae395a0f1c6e79e825aa7a244c74a5d7b',1,' [...]
+  ['size',['size',['../classtvm_1_1runtime_1_1ADT.html#af51613add20f67643684b1c7fdd5569a',1,'tvm::runtime::ADT::size()'],['../classtvm_1_1runtime_1_1ArrayNode.html#a3e88cee6eb31d0e495f7debd94b7573d',1,'tvm::runtime::ArrayNode::size()'],['../classtvm_1_1runtime_1_1Array.html#aed6387e67d18b9d5ad18f510fd600a25',1,'tvm::runtime::Array::size()'],['../classtvm_1_1runtime_1_1MapNode.html#a5c0c770f7667f911aa8bec879e3ac214',1,'tvm::runtime::MapNode::size()'],['../classtvm_1_1runtime_1_1Map.html#a [...]
   ['sizevar',['SizeVar',['../classtvm_1_1tir_1_1SizeVar.html#ac470249315d9e395ad581d35dd5dcb05',1,'tvm::tir::SizeVar::SizeVar(ObjectPtr&lt; Object &gt; n)'],['../classtvm_1_1tir_1_1SizeVar.html#a0f8cb8a92feb96343939d223db90f7cd',1,'tvm::tir::SizeVar::SizeVar(String name_hint=&quot;s&quot;, DataType t=DataType::Int(32), Span span=Span())'],['../classtvm_1_1tir_1_1SizeVar.html#ab089bab85206d8e306cc61e879e525be',1,'tvm::tir::SizeVar::SizeVar(String name_hint, Type type_annotation, Span span [...]
   ['skipassert',['SkipAssert',['../namespacetvm_1_1tir_1_1transform.html#a6fdd5910b00af823071dcdddd21cd2d3',1,'tvm::tir::transform']]],
   ['slice',['Slice',['../classtvm_1_1te_1_1Tensor_1_1Slice.html#ab314819e8bcca6421e9a4f33e48578c3',1,'tvm::te::Tensor::Slice']]],
@@ -185,7 +185,7 @@ var searchData=
   ['startmessage',['StartMessage',['../classtvm_1_1runtime_1_1micro__rpc_1_1Session.html#acd512b977c6dd888f90c4fd6d2b9500f',1,'tvm::runtime::micro_rpc::Session']]],
   ['startpacket',['StartPacket',['../classtvm_1_1runtime_1_1micro__rpc_1_1Framer.html#ade10d3bd3a26e3b7af881ae134e9a998',1,'tvm::runtime::micro_rpc::Framer']]],
   ['startsession',['StartSession',['../classtvm_1_1runtime_1_1micro__rpc_1_1Session.html#a15d3f9ecb8b22bf2d330f6f0a16c5239',1,'tvm::runtime::micro_rpc::Session']]],
-  ['state',['state',['../classtvm_1_1tir_1_1ScheduleNode.html#abb3612c2598fa2d3ee0e6e3fc3de8a26',1,'tvm::tir::ScheduleNode::state()'],['../classtvm_1_1auto__scheduler_1_1State.html#a9e8198b1f51b42cfbbee4b9f42160749',1,'tvm::auto_scheduler::State::State()']]],
+  ['state',['State',['../classtvm_1_1auto__scheduler_1_1State.html#a9e8198b1f51b42cfbbee4b9f42160749',1,'tvm::auto_scheduler::State::State()'],['../classtvm_1_1tir_1_1ScheduleNode.html#abb3612c2598fa2d3ee0e6e3fc3de8a26',1,'tvm::tir::ScheduleNode::state()']]],
   ['stats',['Stats',['../classtvm_1_1runtime_1_1vm_1_1Executable.html#a5445bd71aa14ec97552fa099dc3bd787',1,'tvm::runtime::vm::Executable']]],
   ['stepapplytoschedule',['StepApplyToSchedule',['../namespacetvm_1_1auto__scheduler.html#ac58f7548a94b92f801b2b9a6f65bd785',1,'tvm::auto_scheduler']]],
   ['stepapplytostate',['StepApplyToState',['../namespacetvm_1_1auto__scheduler.html#a6909bc5a99d1cc8372201e9392717832',1,'tvm::auto_scheduler']]],
diff --git a/docs/reference/api/doxygen/search/functions_15.js b/docs/reference/api/doxygen/search/functions_15.js
index e49b0303fe..2b817f17d9 100644
--- a/docs/reference/api/doxygen/search/functions_15.js
+++ b/docs/reference/api/doxygen/search/functions_15.js
@@ -42,7 +42,7 @@ var searchData=
   ['unknownattributeaccesspathnode',['UnknownAttributeAccessPathNode',['../classtvm_1_1UnknownAttributeAccessPathNode.html#a1882e9e591466a2785acc761dc63d56e',1,'tvm::UnknownAttributeAccessPathNode']]],
   ['unmatchedcases',['UnmatchedCases',['../namespacetvm_1_1relay.html#aa3a8cace40f8056fd6412f39c3eaa605',1,'tvm::relay']]],
   ['unravel_5findex',['unravel_index',['../namespacetvm_1_1topi.html#a8811a02532bbe3047986bf1a8449ac0e',1,'tvm::topi']]],
-  ['unroll',['unroll',['../classtvm_1_1auto__scheduler_1_1State.html#aa68a9d2e226bae38a36e4be4af1d1ae4',1,'tvm::auto_scheduler::State::unroll()'],['../classtvm_1_1te_1_1Stage.html#af83ad8672660403504f472228b044b33',1,'tvm::te::Stage::unroll()'],['../classtvm_1_1tir_1_1ScheduleNode.html#a84ec742f6295f59390592a6d0d90a552',1,'tvm::tir::ScheduleNode::Unroll()'],['../namespacetvm_1_1script_1_1ir__builder_1_1tir.html#acd41556b0c4088d0f309ef5495aaebe3',1,'tvm::script::ir_builder::tir::Unroll()']]],
+  ['unroll',['Unroll',['../classtvm_1_1tir_1_1ScheduleNode.html#a84ec742f6295f59390592a6d0d90a552',1,'tvm::tir::ScheduleNode::Unroll()'],['../classtvm_1_1auto__scheduler_1_1State.html#aa68a9d2e226bae38a36e4be4af1d1ae4',1,'tvm::auto_scheduler::State::unroll()'],['../classtvm_1_1te_1_1Stage.html#af83ad8672660403504f472228b044b33',1,'tvm::te::Stage::unroll()'],['../namespacetvm_1_1script_1_1ir__builder_1_1tir.html#acd41556b0c4088d0f309ef5495aaebe3',1,'tvm::script::ir_builder::tir::Unroll()']]],
   ['unrollloop',['UnrollLoop',['../namespacetvm_1_1tir_1_1transform.html#ab2f279e91071fa96a1edb24fa004ea6a',1,'tvm::tir::transform']]],
   ['unsafesetdtype',['UnsafeSetDType',['../classtvm_1_1tir_1_1ScheduleNode.html#ac797a00135c910d65da297038b930ed6',1,'tvm::tir::ScheduleNode']]],
   ['update',['Update',['../classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a5ae0699196c4bbc754bbdd4c3a6c7ca7',1,'tvm::arith::ConstIntBoundAnalyzer::Update()'],['../classtvm_1_1arith_1_1ModularSetAnalyzer.html#a04156fac580981f3005af3b8e676720d',1,'tvm::arith::ModularSetAnalyzer::Update()'],['../classtvm_1_1arith_1_1RewriteSimplifier.html#a5e6752c0702dc2d3e4235797d9d3ac7b',1,'tvm::arith::RewriteSimplifier::Update()'],['../classtvm_1_1arith_1_1CanonicalSimplifier.html#a790c032e12c7d93e9e940 [...]
diff --git a/docs/reference/api/doxygen/search/functions_16.js b/docs/reference/api/doxygen/search/functions_16.js
index c00473e8df..43cf254205 100644
--- a/docs/reference/api/doxygen/search/functions_16.js
+++ b/docs/reference/api/doxygen/search/functions_16.js
@@ -8,7 +8,7 @@ var searchData=
   ['vector',['Vector',['../classtvm_1_1arith_1_1IntSet.html#a29b6f1e60f4b328fcfabc514e0c10f17',1,'tvm::arith::IntSet']]],
   ['vectorcombine',['vectorcombine',['../namespacetvm_1_1tir_1_1builtin.html#a30dff65bc2c142b57fae7f60e378ff43',1,'tvm::tir::builtin']]],
   ['vectorhigh',['vectorhigh',['../namespacetvm_1_1tir_1_1builtin.html#a45bf65ca7ca01d2016e0b609117d7e25',1,'tvm::tir::builtin']]],
-  ['vectorize',['Vectorize',['../classtvm_1_1tir_1_1ScheduleNode.html#ab4a8cd91959ceab22855ec338978bcee',1,'tvm::tir::ScheduleNode::Vectorize()'],['../classtvm_1_1auto__scheduler_1_1State.html#a97b8a21210d63bea241dbab085d89b53',1,'tvm::auto_scheduler::State::vectorize()'],['../classtvm_1_1te_1_1Stage.html#a44d33e3920106e75dc7c68272f880812',1,'tvm::te::Stage::vectorize()']]],
+  ['vectorize',['vectorize',['../classtvm_1_1auto__scheduler_1_1State.html#a97b8a21210d63bea241dbab085d89b53',1,'tvm::auto_scheduler::State::vectorize()'],['../classtvm_1_1te_1_1Stage.html#a44d33e3920106e75dc7c68272f880812',1,'tvm::te::Stage::vectorize()'],['../classtvm_1_1tir_1_1ScheduleNode.html#ab4a8cd91959ceab22855ec338978bcee',1,'tvm::tir::ScheduleNode::Vectorize()']]],
   ['vectorized',['Vectorized',['../namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a2b3df6013772bdd23dfa872b81555272',1,'tvm::script::ir_builder::tir']]],
   ['vectorizeloop',['VectorizeLoop',['../namespacetvm_1_1tir_1_1transform.html#af3cecb50a8b8fc8021f6a87bc27587da',1,'tvm::tir::transform']]],
   ['vectorjacobianproduct',['VectorJacobianProduct',['../namespacetvm_1_1te.html#a547183f5a311af53ab598faba423fd64',1,'tvm::te']]],
diff --git a/docs/reference/api/doxygen/search/functions_7.js b/docs/reference/api/doxygen/search/functions_7.js
index 2da8527ee6..0bb0fb976a 100644
--- a/docs/reference/api/doxygen/search/functions_7.js
+++ b/docs/reference/api/doxygen/search/functions_7.js
@@ -76,6 +76,7 @@ var searchData=
   ['getobjectptr',['GetObjectPtr',['../namespacetvm_1_1runtime.html#a46bcf7948293194c5b9c7db91da96381',1,'tvm::runtime::GetObjectPtr(ObjectType *ptr)'],['../namespacetvm_1_1runtime.html#ac2d903012aff56c2bd54ff66f48450c3',1,'tvm::runtime::GetObjectPtr(ObjType *ptr)']]],
   ['getorallocruntimetypeindex',['GetOrAllocRuntimeTypeIndex',['../classtvm_1_1runtime_1_1Object.html#a726972ff315c446192df94027ddea032',1,'tvm::runtime::Object']]],
   ['getorcreateallocator',['GetOrCreateAllocator',['../classtvm_1_1runtime_1_1vm_1_1MemoryManager.html#a2fb80fa184bac1a857b7fdbea49b6a34',1,'tvm::runtime::vm::MemoryManager']]],
+  ['getoutputblocks',['GetOutputBlocks',['../classtvm_1_1tir_1_1ScheduleNode.html#a97a6944e435ed71cbdddbd8b2f4415a4',1,'tvm::tir::ScheduleNode']]],
   ['getpacked',['GetPacked',['../classtvm_1_1GenericFunc.html#aaa87b9504f962cbe28c33a7a9583dd7d',1,'tvm::GenericFunc']]],
   ['getparent',['GetParent',['../classtvm_1_1ObjectPathNode.html#a37746d3a30829fbfbf17dab1eb435015',1,'tvm::ObjectPathNode']]],
   ['getperstorefeature',['GetPerStoreFeature',['../namespacetvm_1_1auto__scheduler.html#a4309309fa1674314212c4af67b3fb12d',1,'tvm::auto_scheduler']]],
diff --git a/docs/reference/api/doxygen/search/functions_d.js b/docs/reference/api/doxygen/search/functions_d.js
index bdc98e1453..52a590c8d5 100644
--- a/docs/reference/api/doxygen/search/functions_d.js
+++ b/docs/reference/api/doxygen/search/functions_d.js
@@ -66,7 +66,7 @@ var searchData=
   ['microtvmruntimegetoutput',['MicroTVMRuntimeGetOutput',['../microtvm__runtime_8h.html#a76129be7b6de972791a3f9a1b312acfa',1,'microtvm_runtime.h']]],
   ['microtvmruntimerun',['MicroTVMRuntimeRun',['../microtvm__runtime_8h.html#ac43a544f675dd716e8c279c3e41f6e45',1,'microtvm_runtime.h']]],
   ['microtvmruntimesetinput',['MicroTVMRuntimeSetInput',['../microtvm__runtime_8h.html#aa593edc600f4356f2b560702aa01b113',1,'microtvm_runtime.h']]],
-  ['min',['Min',['../classtvm_1_1tir_1_1Min.html#a3a4403aec40029a5206e22cd334e356b',1,'tvm::tir::Min::Min()'],['../classtvm_1_1arith_1_1IntSet.html#ae5517de2862e93a801224eed98a57001',1,'tvm::arith::IntSet::min()'],['../classtvm_1_1support_1_1LinearCongruentialEngine.html#aec5f11b588fa3a12294a46c945c34411',1,'tvm::support::LinearCongruentialEngine::min()'],['../namespacetvm.html#aac2abc149c1a47944c37b560181b15c0',1,'tvm::min(PrimExpr a, PrimExpr b, Span span=Span())'],['../namespacetvm.ht [...]
+  ['min',['min',['../classtvm_1_1arith_1_1IntSet.html#ae5517de2862e93a801224eed98a57001',1,'tvm::arith::IntSet::min()'],['../classtvm_1_1support_1_1LinearCongruentialEngine.html#aec5f11b588fa3a12294a46c945c34411',1,'tvm::support::LinearCongruentialEngine::min()'],['../classtvm_1_1tir_1_1Min.html#a3a4403aec40029a5206e22cd334e356b',1,'tvm::tir::Min::Min()'],['../namespacetvm.html#aac2abc149c1a47944c37b560181b15c0',1,'tvm::min(PrimExpr a, PrimExpr b, Span span=Span())'],['../namespacetvm.ht [...]
   ['min_5fvalue',['min_value',['../namespacetvm.html#a3b37fa55ea93d6868751a2441996b072',1,'tvm']]],
   ['minimum',['minimum',['../namespacetvm_1_1topi.html#a7ac1dc0d99ce93090a4cdf90ab19d4b8',1,'tvm::topi::minimum(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)'],['../namespacetvm_1_1topi.html#a0e19dc06a2b1ecbb83b0942fdf836169',1,'tvm::topi::minimum(const tvm::te::Tensor &amp;A, const tvm::te::Tensor &amp;B, std::string name=&quot;T_&quot; &quot;minimum&quot;, std::string tag=kBroadcast)'],['../namespacetvm_1_1topi.html#a28d4ef4b3426bff237215ce356dd5681',1,'tvm::topi::minimum(con [...]
   ['minop',['MinOp',['../namespacetvm_1_1topi.html#aea9a989b0aaa2aef03fe8ee237d8257e',1,'tvm::topi']]],
@@ -79,7 +79,7 @@ var searchData=
   ['mixedmodulepassmanager',['MixedModulePassManager',['../namespacetvm.html#abc01352eff102d4902632d097adc0e08',1,'tvm']]],
   ['mma_5ffill',['mma_fill',['../namespacetvm_1_1tir_1_1builtin.html#a307667c449c54cef747d781771f79bab',1,'tvm::tir::builtin']]],
   ['mma_5fstore',['mma_store',['../namespacetvm_1_1tir_1_1builtin.html#a772fb68f083e71e635c50bb503903f22',1,'tvm::tir::builtin']]],
-  ['mod',['mod',['../classtvm_1_1tir_1_1ScheduleNode.html#a6dd7ec20629e09cd0be1aa49e5f57c12',1,'tvm::tir::ScheduleNode::mod()'],['../classtvm_1_1tir_1_1Mod.html#a8bb56b57ed569d8f357c4439fd8a2f13',1,'tvm::tir::Mod::Mod()'],['../namespacetvm_1_1topi.html#aaa95d3ad68932ab206efbe0a326db6a2',1,'tvm::topi::mod(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)'],['../namespacetvm_1_1topi.html#a4eb4b5a58cf4c5dbbdd4413cfd166882',1,'tvm::topi::mod(const tvm::te::Tensor &amp;A, const tvm::te: [...]
+  ['mod',['Mod',['../classtvm_1_1tir_1_1Mod.html#a8bb56b57ed569d8f357c4439fd8a2f13',1,'tvm::tir::Mod::Mod()'],['../classtvm_1_1tir_1_1ScheduleNode.html#a6dd7ec20629e09cd0be1aa49e5f57c12',1,'tvm::tir::ScheduleNode::mod()'],['../namespacetvm_1_1topi.html#aaa95d3ad68932ab206efbe0a326db6a2',1,'tvm::topi::mod(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)'],['../namespacetvm_1_1topi.html#a4eb4b5a58cf4c5dbbdd4413cfd166882',1,'tvm::topi::mod(const tvm::te::Tensor &amp;A, const tvm::te: [...]
   ['mod_5fname',['mod_name',['../classtvm_1_1runtime_1_1metadata_1_1MetadataNode.html#a1c05bb5eb88b5d55b3abeeb2de263191',1,'tvm::runtime::metadata::MetadataNode']]],
   ['modularset',['ModularSet',['../classtvm_1_1arith_1_1ModularSet.html#a9f54896d98169246c6a24cc338fde500',1,'tvm::arith::ModularSet']]],
   ['module',['Module',['../classtvm_1_1runtime_1_1Module.html#abfbc619b3b3166d63ec52e399c24bed9',1,'tvm::runtime::Module::Module()'],['../classtvm_1_1runtime_1_1Module.html#abd1380b3f813c2b6acefca3aaef425f4',1,'tvm::runtime::Module::Module(ObjectPtr&lt; Object &gt; n)']]],
diff --git a/docs/reference/api/doxygen/tir_2schedule_2schedule_8h_source.html b/docs/reference/api/doxygen/tir_2schedule_2schedule_8h_source.html
index e7bc3478c1..58532308da 100644
--- a/docs/reference/api/doxygen/tir_2schedule_2schedule_8h_source.html
+++ b/docs/reference/api/doxygen/tir_2schedule_2schedule_8h_source.html
@@ -66,7 +66,7 @@ $(function() {
 <div class="title">schedule.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="tir_2schedule_2schedule_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment [...]
+<a href="tir_2schedule_2schedule_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment [...]
 <div class="ttc" id="namespacetvm_1_1script_1_1ir__builder_1_1tir_html_acd41556b0c4088d0f309ef5495aaebe3"><div class="ttname"><a href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#acd41556b0c4088d0f309ef5495aaebe3">tvm::script::ir_builder::tir::Unroll</a></div><div class="ttdeci">ForFrame Unroll(PrimExpr start, PrimExpr stop, Optional&lt; Map&lt; String, ObjectRef &gt;&gt; annotations=NullOpt)</div><div class="ttdoc">The unrolled For statement. </div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1StmtNode_html"><div class="ttname"><a href="classtvm_1_1tir_1_1StmtNode.html">tvm::tir::StmtNode</a></div><div class="ttdoc">Base node of all statements. </div><div class="ttdef"><b>Definition:</b> stmt.h:38</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1BlockRVNode_html_af90b398c502892d19ff3bdf6463d32ab"><div class="ttname"><a href="classtvm_1_1tir_1_1BlockRVNode.html#af90b398c502892d19ff3bdf6463d32ab">tvm::tir::BlockRVNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> schedule.h:53</div></div>
@@ -84,7 +84,7 @@ $(function() {
 <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="namespacetvm_1_1tir_html_a9ae244600a5e56c4adc9faf6d88f931e"><div class="ttname"><a href="namespacetvm_1_1tir.html#a9ae244600a5e56c4adc9faf6d88f931e">tvm::tir::ScheduleErrorRenderLevel</a></div><div class="ttdeci">ScheduleErrorRenderLevel</div><div class="ttdoc">The level of detailed error message rendering. </div><div class="ttdef"><b>Definition:</b> schedule.h:31</div></div>
 <div class="ttc" id="namespacetvm_1_1tir_html_a9ae244600a5e56c4adc9faf6d88f931ead6733547bb237ce06cddf96357f1b66b"><div class="ttname"><a href="namespacetvm_1_1tir.html#a9ae244600a5e56c4adc9faf6d88f931ead6733547bb237ce06cddf96357f1b66b">tvm::tir::ScheduleErrorRenderLevel::kDetail</a></div><div class="ttdoc">Render a detailed error message. </div></div>
-<div class="ttc" id="classtvm_1_1tir_1_1Schedule_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Schedule.html">tvm::tir::Schedule</a></div><div class="ttdoc">Managed reference to ScheduleNode. </div><div class="ttdef"><b>Definition:</b> schedule.h:804</div></div>
+<div class="ttc" id="classtvm_1_1tir_1_1Schedule_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Schedule.html">tvm::tir::Schedule</a></div><div class="ttdoc">Managed reference to ScheduleNode. </div><div class="ttdef"><b>Definition:</b> schedule.h:813</div></div>
 <div class="ttc" id="index__map_8h_html"><div class="ttname"><a href="index__map_8h.html">index_map.h</a></div><div class="ttdoc">Defines a remapping of buffer indices. </div></div>
 <div class="ttc" id="classtvm_1_1support_1_1LinearCongruentialEngine_html_a4d3a3a94a3f3d2dfab4b5ccb1a7e97de"><div class="ttname"><a href="classtvm_1_1support_1_1LinearCongruentialEngine.html#a4d3a3a94a3f3d2dfab4b5ccb1a7e97de">tvm::support::LinearCongruentialEngine::TRandState</a></div><div class="ttdeci">int64_t TRandState</div><div class="ttdef"><b>Definition:</b> random_engine.h:46</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>
diff --git a/docs/reference/api/doxygen/trace_8h_source.html b/docs/reference/api/doxygen/trace_8h_source.html
index ca0369bcea..db08002720 100644
--- a/docs/reference/api/doxygen/trace_8h_source.html
+++ b/docs/reference/api/doxygen/trace_8h_source.html
@@ -76,7 +76,7 @@ $(function() {
 <div class="ttc" id="namespacetvm_1_1tir_html_a75918aeef1136f9d6308556902d5bcae"><div class="ttname"><a href="namespacetvm_1_1tir.html#a75918aeef1136f9d6308556902d5bcae">tvm::tir::FTraceDecisionProvider</a></div><div class="ttdeci">runtime::TypedPackedFunc&lt; ObjectRef(const Instruction &amp;inst, const Array&lt; ObjectRef &gt; &amp;inputs, const Array&lt; ObjectRef &gt; &amp;attrs, const Optional&lt; ObjectRef &gt; &amp;decision)&gt; FTraceDecisionProvider</div><div class="ttdoc">A cal [...]
 <div class="ttc" id="instruction_8h_html"><div class="ttname"><a href="instruction_8h.html">instruction.h</a></div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Object_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></div><div class="ttdoc">base class of all object containers. </div><div class="ttdef"><b>Definition:</b> object.h:167</div></div>
-<div class="ttc" id="classtvm_1_1tir_1_1Schedule_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Schedule.html">tvm::tir::Schedule</a></div><div class="ttdoc">Managed reference to ScheduleNode. </div><div class="ttdef"><b>Definition:</b> schedule.h:804</div></div>
+<div class="ttc" id="classtvm_1_1tir_1_1Schedule_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Schedule.html">tvm::tir::Schedule</a></div><div class="ttdoc">Managed reference to ScheduleNode. </div><div class="ttdef"><b>Definition:</b> schedule.h:813</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1TraceNode_html_ad6c859ed32b1e2ae076355eda37df0a2"><div class="ttname"><a href="classtvm_1_1tir_1_1TraceNode.html#ad6c859ed32b1e2ae076355eda37df0a2">tvm::tir::TraceNode::insts</a></div><div class="ttdeci">Array&lt; Instruction &gt; insts</div><div class="ttdoc">The instructions invoked so far in the program execution. </div><div class="ttdef"><b>Definition:</b> trace.h:61</div></div>
 <div class="ttc" id="classtvm_1_1AttrVisitor_html"><div class="ttname"><a href="classtvm_1_1AttrVisitor.html">tvm::AttrVisitor</a></div><div class="ttdoc">Visitor class to get the attributes of an AST/IR node. The content is going to be called for each fie...</div><div class="ttdef"><b>Definition:</b> reflection.h:52</div></div>
 <div class="ttc" id="classtvm_1_1tir_1_1TraceNode_html_a764346045e536fa26b56c9e140de8e7b"><div class="ttname"><a href="classtvm_1_1tir_1_1TraceNode.html#a764346045e536fa26b56c9e140de8e7b">tvm::tir::TraceNode::ApplyToSchedule</a></div><div class="ttdeci">void ApplyToSchedule(Schedule sch, bool remove_postproc, FTraceDecisionProvider decision_provider=nullptr) const</div><div class="ttdoc">Apply the trace to a TensorIR schedule. </div></div>
diff --git a/docs/reference/api/python/auto_scheduler.html b/docs/reference/api/python/auto_scheduler.html
index 0bbe6ec6a2..b06207cbc4 100644
--- a/docs/reference/api/python/auto_scheduler.html
+++ b/docs/reference/api/python/auto_scheduler.html
@@ -1621,7 +1621,7 @@ history states as starting point to perform Evolutionary Search).</p></li>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="tvm.auto_scheduler.SketchPolicy">
-<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">SketchPolicy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">program_cost_model</span></span><span class="o"><span class="pre">=</span></span><span class="defau [...]
+<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">SketchPolicy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">program_cost_model</span></span><span class="o"><span class="pre">=</span></span><span class="defau [...]
 <dd><p>The search policy that searches in a hierarchical search space defined by sketches.
 The policy randomly samples programs from the space defined by sketches and use evolutionary
 search to fine-tune them.</p>
@@ -1905,7 +1905,7 @@ Candidates:
 
 <dl class="py function">
 <dt class="sig sig-object py" id="tvm.auto_scheduler.auto_schedule">
-<span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">auto_schedule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">search_policy</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em clas [...]
+<span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">auto_schedule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">search_policy</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em clas [...]
 <dd><p>THIS API IS DEPRECATED.</p>
 <p>Run auto scheduling search for a task.</p>
 <dl class="field-list simple">
diff --git a/docs/reference/api/python/tir.html b/docs/reference/api/python/tir.html
index 17a92ae8bd..b34a898747 100644
--- a/docs/reference/api/python/tir.html
+++ b/docs/reference/api/python/tir.html
@@ -5747,118 +5747,121 @@ preserve the semantics of computation. Some example of schedules:
 <tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.get_consumers" title="tvm.tir.Schedule.get_consumers"><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_consumers</span></code></a>(block)</p></td>
 <td><p>Get the consumers of a specific block</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.merge" title="tvm.tir.Schedule.merge"><code class="xref py py-obj docutils literal notranslate"><span class="pre">merge</span></code></a>(*loops)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.get_output_blocks" title="tvm.tir.Schedule.get_output_blocks"><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_output_blocks</span></code></a>(scope_block)</p></td>
+<td><p>Get the list of output blocks within the given scope An output block is a block which has atleast one buffer being written to, but is not allocated within the PrimFunc</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.merge" title="tvm.tir.Schedule.merge"><code class="xref py py-obj docutils literal notranslate"><span class="pre">merge</span></code></a>(*loops)</p></td>
 <td><p>Merge a list of loops into one.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.fuse" title="tvm.tir.Schedule.fuse"><code class="xref py py-obj docutils literal notranslate"><span class="pre">fuse</span></code></a>(*loops[, preserve_unit_iters])</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.fuse" title="tvm.tir.Schedule.fuse"><code class="xref py py-obj docutils literal notranslate"><span class="pre">fuse</span></code></a>(*loops[, preserve_unit_iters])</p></td>
 <td><p>Fuse a list of consecutive loops into one.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.split" title="tvm.tir.Schedule.split"><code class="xref py py-obj docutils literal notranslate"><span class="pre">split</span></code></a>(loop, factors[, preserve_unit_iters])</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.split" title="tvm.tir.Schedule.split"><code class="xref py py-obj docutils literal notranslate"><span class="pre">split</span></code></a>(loop, factors[, preserve_unit_iters])</p></td>
 <td><p>Split a loop into a list of consecutive loops.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.reorder" title="tvm.tir.Schedule.reorder"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reorder</span></code></a>(*ordered_loops)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.reorder" title="tvm.tir.Schedule.reorder"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reorder</span></code></a>(*ordered_loops)</p></td>
 <td><p>Reorder a list of loops.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.reorder_block_iter_var" title="tvm.tir.Schedule.reorder_block_iter_var"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reorder_block_iter_var</span></code></a>(block, new_order)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.reorder_block_iter_var" title="tvm.tir.Schedule.reorder_block_iter_var"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reorder_block_iter_var</span></code></a>(block, new_order)</p></td>
 <td><p>Reorder the itervars inside a given block.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.add_unit_loop" title="tvm.tir.Schedule.add_unit_loop"><code class="xref py py-obj docutils literal notranslate"><span class="pre">add_unit_loop</span></code></a>(block_or_loop)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.add_unit_loop" title="tvm.tir.Schedule.add_unit_loop"><code class="xref py py-obj docutils literal notranslate"><span class="pre">add_unit_loop</span></code></a>(block_or_loop)</p></td>
 <td><p>Create a new unit loop on top of the specific block or loop.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.parallel" title="tvm.tir.Schedule.parallel"><code class="xref py py-obj docutils literal notranslate"><span class="pre">parallel</span></code></a>(loop)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.parallel" title="tvm.tir.Schedule.parallel"><code class="xref py py-obj docutils literal notranslate"><span class="pre">parallel</span></code></a>(loop)</p></td>
 <td><p>Parallelize the input loop.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.vectorize" title="tvm.tir.Schedule.vectorize"><code class="xref py py-obj docutils literal notranslate"><span class="pre">vectorize</span></code></a>(loop)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.vectorize" title="tvm.tir.Schedule.vectorize"><code class="xref py py-obj docutils literal notranslate"><span class="pre">vectorize</span></code></a>(loop)</p></td>
 <td><p>Vectorize the input loop.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.bind" title="tvm.tir.Schedule.bind"><code class="xref py py-obj docutils literal notranslate"><span class="pre">bind</span></code></a>(loop, thread_axis)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.bind" title="tvm.tir.Schedule.bind"><code class="xref py py-obj docutils literal notranslate"><span class="pre">bind</span></code></a>(loop, thread_axis)</p></td>
 <td><p>Bind the input loop to the given thread axis.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.unroll" title="tvm.tir.Schedule.unroll"><code class="xref py py-obj docutils literal notranslate"><span class="pre">unroll</span></code></a>(loop)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.unroll" title="tvm.tir.Schedule.unroll"><code class="xref py py-obj docutils literal notranslate"><span class="pre">unroll</span></code></a>(loop)</p></td>
 <td><p>Unroll the input loop.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.cache_read" title="tvm.tir.Schedule.cache_read"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cache_read</span></code></a>(block, read_buffer_index, ...[, ...])</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.cache_read" title="tvm.tir.Schedule.cache_read"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cache_read</span></code></a>(block, read_buffer_index, ...[, ...])</p></td>
 <td><p>Create a block that reads a buffer region into a read cache.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.cache_write" title="tvm.tir.Schedule.cache_write"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cache_write</span></code></a>(block, write_buffer_index, ...)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.cache_write" title="tvm.tir.Schedule.cache_write"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cache_write</span></code></a>(block, write_buffer_index, ...)</p></td>
 <td><p>Create a block that reads a buffer region into a write cache.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.reindex_cache_read" title="tvm.tir.Schedule.reindex_cache_read"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reindex_cache_read</span></code></a>(block, read_buffer_index, ...)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.reindex_cache_read" title="tvm.tir.Schedule.reindex_cache_read"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reindex_cache_read</span></code></a>(block, read_buffer_index, ...)</p></td>
 <td><p>Create a block that reads a buffer region into a read cache using customized indices specified by index map.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.reindex_cache_write" title="tvm.tir.Schedule.reindex_cache_write"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reindex_cache_write</span></code></a>(block, ...)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.reindex_cache_write" title="tvm.tir.Schedule.reindex_cache_write"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reindex_cache_write</span></code></a>(block, ...)</p></td>
 <td><p>Create a block that reads a buffer region into a write cache using customized indices specified by index map.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.cache_inplace" title="tvm.tir.Schedule.cache_inplace"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cache_inplace</span></code></a>(block, read_buffer_index, ...)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.cache_inplace" title="tvm.tir.Schedule.cache_inplace"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cache_inplace</span></code></a>(block, read_buffer_index, ...)</p></td>
 <td><p>Create blocks that reads &amp; write a buffer region into a cache block.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.cache_index" title="tvm.tir.Schedule.cache_index"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cache_index</span></code></a>(block, storage_scope[, cse_thresh])</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.cache_index" title="tvm.tir.Schedule.cache_index"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cache_index</span></code></a>(block, storage_scope[, cse_thresh])</p></td>
 <td><p>Create a block to cache precomputed index for later use.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.reindex" title="tvm.tir.Schedule.reindex"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reindex</span></code></a>(block, buffer)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.reindex" title="tvm.tir.Schedule.reindex"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reindex</span></code></a>(block, buffer)</p></td>
 <td><p>Create a block that read/write a buffer region into a read/write cache with reindexing.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.compute_at" title="tvm.tir.Schedule.compute_at"><code class="xref py py-obj docutils literal notranslate"><span class="pre">compute_at</span></code></a>(block, loop[, ...])</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.compute_at" title="tvm.tir.Schedule.compute_at"><code class="xref py py-obj docutils literal notranslate"><span class="pre">compute_at</span></code></a>(block, loop[, ...])</p></td>
 <td><p>Compute-At.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.reverse_compute_at" title="tvm.tir.Schedule.reverse_compute_at"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reverse_compute_at</span></code></a>(block, loop[, ...])</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.reverse_compute_at" title="tvm.tir.Schedule.reverse_compute_at"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reverse_compute_at</span></code></a>(block, loop[, ...])</p></td>
 <td><p>Reverse-Compute-At.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.compute_inline" title="tvm.tir.Schedule.compute_inline"><code class="xref py py-obj docutils literal notranslate"><span class="pre">compute_inline</span></code></a>(block)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.compute_inline" title="tvm.tir.Schedule.compute_inline"><code class="xref py py-obj docutils literal notranslate"><span class="pre">compute_inline</span></code></a>(block)</p></td>
 <td><p>Inline a block into its consumer(s).</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.reverse_compute_inline" title="tvm.tir.Schedule.reverse_compute_inline"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reverse_compute_inline</span></code></a>(block)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.reverse_compute_inline" title="tvm.tir.Schedule.reverse_compute_inline"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reverse_compute_inline</span></code></a>(block)</p></td>
 <td><p>Inline a block into its only producer.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.decompose_reduction" title="tvm.tir.Schedule.decompose_reduction"><code class="xref py py-obj docutils literal notranslate"><span class="pre">decompose_reduction</span></code></a>(block, loop)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.decompose_reduction" title="tvm.tir.Schedule.decompose_reduction"><code class="xref py py-obj docutils literal notranslate"><span class="pre">decompose_reduction</span></code></a>(block, loop)</p></td>
 <td><p>Decompose a reduction block into two separate blocks.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.rfactor" title="tvm.tir.Schedule.rfactor"><code class="xref py py-obj docutils literal notranslate"><span class="pre">rfactor</span></code></a>(loop, factor_axis)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.rfactor" title="tvm.tir.Schedule.rfactor"><code class="xref py py-obj docutils literal notranslate"><span class="pre">rfactor</span></code></a>(loop, factor_axis)</p></td>
 <td><p>Factorize an associative reduction block by the specified loop.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.storage_align" title="tvm.tir.Schedule.storage_align"><code class="xref py py-obj docutils literal notranslate"><span class="pre">storage_align</span></code></a>(block, buffer_index, axis, ...)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.storage_align" title="tvm.tir.Schedule.storage_align"><code class="xref py py-obj docutils literal notranslate"><span class="pre">storage_align</span></code></a>(block, buffer_index, axis, ...)</p></td>
 <td><p>Set alignment requirement for specific dimension such that stride[axis] == k * factor + offset for some k.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.set_scope" title="tvm.tir.Schedule.set_scope"><code class="xref py py-obj docutils literal notranslate"><span class="pre">set_scope</span></code></a>(block, buffer_index, storage_scope)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.set_scope" title="tvm.tir.Schedule.set_scope"><code class="xref py py-obj docutils literal notranslate"><span class="pre">set_scope</span></code></a>(block, buffer_index, storage_scope)</p></td>
 <td><p>Set the storage scope of a buffer, where the buffer is specified by the a block and a write-index.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.unsafe_set_dtype" title="tvm.tir.Schedule.unsafe_set_dtype"><code class="xref py py-obj docutils literal notranslate"><span class="pre">unsafe_set_dtype</span></code></a>(block, buffer_index, dtype)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.unsafe_set_dtype" title="tvm.tir.Schedule.unsafe_set_dtype"><code class="xref py py-obj docutils literal notranslate"><span class="pre">unsafe_set_dtype</span></code></a>(block, buffer_index, dtype)</p></td>
 <td><p>Set the data type of a buffer, where the buffer is specified by the a block and write-index.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.blockize" title="tvm.tir.Schedule.blockize"><code class="xref py py-obj docutils literal notranslate"><span class="pre">blockize</span></code></a>(loop[, preserve_unit_iters])</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.blockize" title="tvm.tir.Schedule.blockize"><code class="xref py py-obj docutils literal notranslate"><span class="pre">blockize</span></code></a>(loop[, preserve_unit_iters])</p></td>
 <td><p>Convert the subtree rooted at a specific loop into a block.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.tensorize" title="tvm.tir.Schedule.tensorize"><code class="xref py py-obj docutils literal notranslate"><span class="pre">tensorize</span></code></a>(block_or_loop, tensor_intrin[, ...])</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.tensorize" title="tvm.tir.Schedule.tensorize"><code class="xref py py-obj docutils literal notranslate"><span class="pre">tensorize</span></code></a>(block_or_loop, tensor_intrin[, ...])</p></td>
 <td><p>Tensorize the computation enclosed by loop with the tensor intrinsic.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.annotate" title="tvm.tir.Schedule.annotate"><code class="xref py py-obj docutils literal notranslate"><span class="pre">annotate</span></code></a>(block_or_loop, ann_key, ann_val)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.annotate" title="tvm.tir.Schedule.annotate"><code class="xref py py-obj docutils literal notranslate"><span class="pre">annotate</span></code></a>(block_or_loop, ann_key, ann_val)</p></td>
 <td><p>Annotate a block/loop with a key value pair</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.unannotate" title="tvm.tir.Schedule.unannotate"><code class="xref py py-obj docutils literal notranslate"><span class="pre">unannotate</span></code></a>(block_or_loop, ann_key)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.unannotate" title="tvm.tir.Schedule.unannotate"><code class="xref py py-obj docutils literal notranslate"><span class="pre">unannotate</span></code></a>(block_or_loop, ann_key)</p></td>
 <td><p>Unannotate a block/loop's annotation with key ann_key</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.transform_layout" title="tvm.tir.Schedule.transform_layout"><code class="xref py py-obj docutils literal notranslate"><span class="pre">transform_layout</span></code></a>(block, buffer, index_map[, ...])</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.transform_layout" title="tvm.tir.Schedule.transform_layout"><code class="xref py py-obj docutils literal notranslate"><span class="pre">transform_layout</span></code></a>(block, buffer, index_map[, ...])</p></td>
 <td><p>Apply a transformation represented by IndexMap to buffer</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.transform_block_layout" title="tvm.tir.Schedule.transform_block_layout"><code class="xref py py-obj docutils literal notranslate"><span class="pre">transform_block_layout</span></code></a>(block, index_map)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.transform_block_layout" title="tvm.tir.Schedule.transform_block_layout"><code class="xref py py-obj docutils literal notranslate"><span class="pre">transform_block_layout</span></code></a>(block, index_map)</p></td>
 <td><p>Apply a transformation represented by IndexMap to block</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.set_axis_separator" title="tvm.tir.Schedule.set_axis_separator"><code class="xref py py-obj docutils literal notranslate"><span class="pre">set_axis_separator</span></code></a>(block, buffer, ...)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.set_axis_separator" title="tvm.tir.Schedule.set_axis_separator"><code class="xref py py-obj docutils literal notranslate"><span class="pre">set_axis_separator</span></code></a>(block, buffer, ...)</p></td>
 <td><p>Set the axis separator of a buffer, where the buffer is specified by a block and a read or write index.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.decompose_padding" title="tvm.tir.Schedule.decompose_padding"><code class="xref py py-obj docutils literal notranslate"><span class="pre">decompose_padding</span></code></a>(block, loop)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.decompose_padding" title="tvm.tir.Schedule.decompose_padding"><code class="xref py py-obj docutils literal notranslate"><span class="pre">decompose_padding</span></code></a>(block, loop)</p></td>
 <td><p>Decompose a block of padding computation pattern into two separate blocks.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.can_decompose_padding" title="tvm.tir.Schedule.can_decompose_padding"><code class="xref py py-obj docutils literal notranslate"><span class="pre">can_decompose_padding</span></code></a>(block, loop)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.can_decompose_padding" title="tvm.tir.Schedule.can_decompose_padding"><code class="xref py py-obj docutils literal notranslate"><span class="pre">can_decompose_padding</span></code></a>(block, loop)</p></td>
 <td><p>Check whether the block match padding pattern and can be decomposed.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.pad_einsum" title="tvm.tir.Schedule.pad_einsum"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pad_einsum</span></code></a>(block, padding)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.pad_einsum" title="tvm.tir.Schedule.pad_einsum"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pad_einsum</span></code></a>(block, padding)</p></td>
 <td><p>Pad the computation of Einsum.</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.rolling_buffer" title="tvm.tir.Schedule.rolling_buffer"><code class="xref py py-obj docutils literal notranslate"><span class="pre">rolling_buffer</span></code></a>(block, write_buffer_index)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.rolling_buffer" title="tvm.tir.Schedule.rolling_buffer"><code class="xref py py-obj docutils literal notranslate"><span class="pre">rolling_buffer</span></code></a>(block, write_buffer_index)</p></td>
 <td><p>Compute the target buffer via rolling buffering, select the outermost rollable axis with a positive bound overlap that appears in the block's ancestor loops as <cite>rolling axis</cite>, fold and circularize the buffer along the rolling dimension, append block predicate to avoid recomputing overlapping elements.</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="#tvm.tir.Schedule.enter_postproc" title="tvm.tir.Schedule.enter_postproc"><code class="xref py py-obj docutils literal notranslate"><span class="pre">enter_postproc</span></code></a>()</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#tvm.tir.Schedule.enter_postproc" title="tvm.tir.Schedule.enter_postproc"><code class="xref py py-obj docutils literal notranslate"><span class="pre">enter_postproc</span></code></a>()</p></td>
 <td><p>A no-op that marks the start of postprocessing phase of scheduling</p></td>
 </tr>
 </tbody>
@@ -6165,6 +6168,25 @@ IndexError is raised if 0 or multiple blocks exist with the specific name.</p>
 </dl>
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="tvm.tir.Schedule.get_output_blocks">
+<span class="sig-name descname"><span class="pre">get_output_blocks</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scope_block</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">Union</span><span class="p"><span class="pre">[</span></span><span class="pre">tvm.tir.schedule.schedule.BlockRV</span><span class="p"><span class="pre">,</span> </span><a class="reference external" href="https://d [...]
+<dd><p>Get the list of output blocks within the given scope
+An output block is a block which has atleast one buffer being written
+to, but is not allocated within the PrimFunc</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>scope_block</strong> (<em>Union</em><em>[</em><em>BlockRV</em><em>, </em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.11)"><em>str</em></a><em>]</em><em>,</em>) – The scope block from which output blocks are collected</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><strong>output_blocks</strong> – A list of all blocks that write to some output buffer</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p>List[BlockRV]</p>
+</dd>
+</dl>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="tvm.tir.Schedule.merge">
 <span class="sig-name descname"><span class="pre">merge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">loops</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">tvm.tir.schedule.schedule.LoopRV</span><span class="p"><span class="pre">]</span></span></span></em><span [...]
diff --git a/docs/reference/api/typedoc/classes/bytestreamreader.html b/docs/reference/api/typedoc/classes/bytestreamreader.html
index ea69eaa1bc..a084552e59 100644
--- a/docs/reference/api/typedoc/classes/bytestreamreader.html
+++ b/docs/reference/api/typedoc/classes/bytestreamreader.html
@@ -119,7 +119,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/1113de2ce/web/src/rpc_server.ts#L45">rpc_server.ts:45</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/5239ec05e/web/src/rpc_server.ts#L45">rpc_server.ts:45</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -141,7 +141,7 @@
 					<div class="tsd-signature tsd-kind-icon">bytes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint8Array</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/1113de2ce/web/src/rpc_server.ts#L45">rpc_server.ts:45</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/5239ec05e/web/src/rpc_server.ts#L45">rpc_server.ts:45</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -151,7 +151,7 @@
 					<div class="tsd-signature tsd-kind-icon">offset<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/1113de2ce/web/src/rpc_server.ts#L44">rpc_server.ts:44</a></li>
+							<li>Defined in <a href="https://github.com/apache/tvm/blob/5239ec05e/web/src/rpc_server.ts#L44">rpc_server.ts:44</a></li>
 						</ul>
 					</aside>
 				</section>
@@ -168,7 +168,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/1113de2ce/web/src/rpc_server.ts#L65">rpc_server.ts:65</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/5239ec05e/web/src/rpc_server.ts#L65">rpc_server.ts:65</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Uint8Array</span></h4>
@@ -185,7 +185,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/1113de2ce/web/src/rpc_server.ts#L51">rpc_server.ts:51</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/5239ec05e/web/src/rpc_server.ts#L51">rpc_server.ts:51</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
@@ -202,7 +202,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/1113de2ce/web/src/rpc_server.ts#L59">rpc_server.ts:59</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/5239ec05e/web/src/rpc_server.ts#L59">rpc_server.ts:59</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
diff --git a/docs/reference/api/typedoc/classes/cachedcallstack.html b/docs/reference/api/typedoc/classes/cachedcallstack.html
index 447719e5d4..ef10a33aa2 100644
--- a/docs/reference/api/typedoc/classes/cachedcallstack.html
+++ b/docs/reference/api/typedoc/classes/cachedcallstack.html
@@ -144,7 +144,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in <a href="https://github.com/apache/tvm/blob/1113de2ce/web/src/memory.ts#L223">memory.ts:223</a></li>
+									<li>Defined in <a href="https://github.com/apache/tvm/blob/5239ec05e/web/src/memory.ts#L223">memory.ts:223</a></li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -172,7 +172,7 @@
 					<div class="tsd-signature tsd-kind-icon">temp<wbr>Args<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/disposable.html" class="tsd-signature-type">Disposable</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = []</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in <a href="https://github.com/apache/tvm/blob/1113de2ce/web/src/memory.ts#L208">memory.ts:208</a></li>
... 3115 lines suppressed ...