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:['truck 0.9266'] left:471 top:83 right:689 bottom:169
class:['bicycle 0.9984'] 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">"x"</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: "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]
+ 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]
</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: "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]
+ 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]
</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 [=>............................] - 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
+ 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
- 94461952/102967424 [==========================>...] - ETA: 0s
- 96608256/102967424 [===========================>..] - ETA: 0s
-100433920/102967424 [============================>.] - ETA: 0s
+100646912/102967424 [============================>.] - ETA: 0s
+102850560/102967424 [============================>.] - 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: "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]
+ 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=& [...]
@@ -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: "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]
+ 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]
</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<?, ?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 | 103302/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]
+ 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]
</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">"Convolution: </span><span class="si">%f</span><span class="s2"> ms"</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">"conv2d with tensor core: </span><span class="si">%f</span><span class="s2"> ms"</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">"Baseline: </span><span class="si">%f</span><span class="s2">"</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">"Opt1: </span><span class="si">%f</span><span class="s2">"</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">"Opt2: </span><span class="si">%f</span><span class="s2">"</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">"Opt3: </span><span class="si">%f</span><span class="s2">"</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">"Opt4: </span><span class="si">%f</span><span class="s2">"</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">"Opt5: </span><span class="si">%f</span><span class="s2">"</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">"Opt6: </span><span class="si">%f</span><span class="s2">"</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), "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))
</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("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)
@@ -1232,561 +1147,400 @@ CUDA source code:
#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);
+ }
}
}
</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), "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))
</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 "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
@@ -836,9 +818,9 @@ Traceback (most recent call last):
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
@@ -960,9 +942,8 @@ Traceback (most recent call last):
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
@@ -1084,8 +1065,8 @@ Traceback (most recent call last):
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
@@ -1207,11 +1188,8 @@ Traceback (most recent call last):
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
@@ -1333,8 +1311,8 @@ Traceback (most recent call last):
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
@@ -1456,8 +1434,9 @@ Traceback (most recent call last):
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
@@ -1579,8 +1558,8 @@ Traceback (most recent call last):
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
@@ -1702,9 +1681,8 @@ Traceback (most recent call last):
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
@@ -1826,8 +1804,8 @@ Traceback (most recent call last):
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
@@ -1949,9 +1927,8 @@ Traceback (most recent call last):
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
@@ -2073,7 +2050,501 @@ Traceback (most recent call last):
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
</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:
-[('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
</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: "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]
+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.
@@ -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">"</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>'/tmp/tmpgaw1k1ib/images/random'
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>'/tmp/tmpww30hnfu/images/random'
</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">"off"</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
-<keras.callbacks.History object at 0x7f12533c9810>
+<keras.callbacks.History object at 0x7f09c81fc990>
</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">"tir.exp"</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="s2">"cuda"</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><function my_cuda_math_rule at 0x7f0ea6183440>
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span><function my_cuda_math_rule at 0x7f074add9d40>
</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 &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 &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 &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 &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 &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 &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 &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 &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< LoopRV > &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 &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 &&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 &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 &&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 &block_rv, const Array< Integer > &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 &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 &loop_rv, const BlockRV &block_rv, int read_buffer_index, const String &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 &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 &block_rv, int read_buffer_index, const String &storage_scope, const IndexMap &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 &block_rv, int write_buffer_index, const String &storage_scope, const IndexMap &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 &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 &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 &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< LoopRV > &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 &block_rv, const Array< Integer > 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 &block_rv, const LoopRV &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 &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 &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 &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< Integer > &candidates, const Array< FloatImm > &probs, Optional< Integer > 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 &block_rv, Optional< Integer > 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 &loop_rv, int n, int max_innermost_factor, Optional< Array< Integer >> 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 &block_rv, int buffer_index, BufferIndexType buffer_index_type, const Array< IntImm > &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 &block_rv, int buffer_index, const String &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 &loop_rv, const Array< Optional< ExprRV >> &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 &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 &loop_rv, const String &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 &block_rv, const String &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 &block_rv, const IndexMap &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 &block_rv, int buffer_index, BufferIndexType buffer_index_type, const IndexMap &index_map, const Optional< IndexMap > &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 &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 &loop_rv, const String &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 &block_rv, const String &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 &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 &block_rv, int buffer_index, const String &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 &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 &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 &loop_rv, const BlockRV &block_rv, int write_buffer_index, const String &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 &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 &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 &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 &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 &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 &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< LoopRV > &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 &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 &&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 &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 &&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 &block_rv, const Array< Integer > &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 &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 &loop_rv, const BlockRV &block_rv, int read_buffer_index, const String &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 &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 &block_rv, int read_buffer_index, const String &storage_scope, const IndexMap &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 &block_rv, int write_buffer_index, const String &storage_scope, const IndexMap &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 &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 &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 &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< LoopRV > &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 &block_rv, const Array< Integer > 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 &block_rv, const LoopRV &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 &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 &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 &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< Integer > &candidates, const Array< FloatImm > &probs, Optional< Integer > 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 &block_rv, Optional< Integer > 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 &loop_rv, int n, int max_innermost_factor, Optional< Array< Integer >> 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 &block_rv, int buffer_index, BufferIndexType buffer_index_type, const Array< IntImm > &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 &block_rv, int buffer_index, const String &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 &loop_rv, const Array< Optional< ExprRV >> &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 &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 &loop_rv, const String &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 &block_rv, const String &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 &block_rv, const IndexMap &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 &block_rv, int buffer_index, BufferIndexType buffer_index_type, const IndexMap &index_map, const Optional< IndexMap > &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 &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 &loop_rv, const String &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 &block_rv, const String &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 &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 &block_rv, int buffer_index, const String &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 &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 &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 &loop_rv, const BlockRV &block_rv, int write_buffer_index, const String &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>< <a class="el" href="classtvm_1_1tir_1_1BlockRV.html">BlockRV</a> > </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> &blo [...]
<tr class="memdesc:ac5e28e0b470d0e9299d953c2ee3f6261"><td class="mdescLeft"> </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"> </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>< <a class="el" href="classtvm_1_1tir_1_1BlockRV.html">BlockRV</a> > </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> & [...]
+<tr class="memdesc:a97a6944e435ed71cbdddbd8b2f4415a4"><td class="mdescLeft"> </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"> </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> </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>< <a class="el" href="classtvm_1_1tir_1_1LoopRV.html">LoopRV</a> > &loop_rvs)=0</td></tr>
<tr class="memdesc:a19b026c08dbd41a517544fac0866adec"><td class="mdescLeft"> </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"> </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">◆ </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><<a class="el" href="classtvm_1_1tir_1_1BlockRV.html">BlockRV</a>> tvm::tir::ScheduleNode::GetOutputBlocks </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classtvm_1_1tir_1_1BlockRV.html">BlockRV</a> & </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 &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 &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< ArrayType, ElemType ></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< R(const Stmt &n, Args... args)></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< R(const Type &n, Args...)></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< R(const Type &n, Args...)></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< R(const Type &n, Args...)></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< ArgInfo > 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< String()> 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< uint64_t >',['../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< T, W >'],['../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< T, W >'],['../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< Pattern > opt_lhs=Optional< Pattern >(), Optional< Expr > opt_rhs=Optional< Expr >())'],['../namespacetvm_1_1relay.html#adb39b46f86b66a5e7252f6d9102deb7b',1,'tvm::relay::WithFields(Match match, Optional< Expr > opt_data=Optional< Expr >(), Optional< Array< Clause >> opt_clauses=Optional< 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< tir::IterVar > &axes)'],['../classtvm_1_1tir_1_1Layout.html#ac899b7c62ee68d8b882a119ba6854f88',1,'tvm::tir::Layout::Layout(const tvm::String &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 &a, const tvm::PrimExpr &b)'],['../namespacetvm_1_1topi.html#a0e19dc06a2b1ecbb83b0942fdf836169',1,'tvm::topi::minimum(const tvm::te::Tensor &A, const tvm::te::Tensor &B, std::string name="T_" "minimum", 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< Object > 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< Range > 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< uint64_t >',['../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< Object > n)'],['../classtvm_1_1tir_1_1SizeVar.html#a0f8cb8a92feb96343939d223db90f7cd',1,'tvm::tir::SizeVar::SizeVar(String name_hint="s", 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 &a, const tvm::PrimExpr &b)'],['../namespacetvm_1_1topi.html#a0e19dc06a2b1ecbb83b0942fdf836169',1,'tvm::topi::minimum(const tvm::te::Tensor &A, const tvm::te::Tensor &B, std::string name="T_" "minimum", 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 &a, const tvm::PrimExpr &b)'],['../namespacetvm_1_1topi.html#a4eb4b5a58cf4c5dbbdd4413cfd166882',1,'tvm::topi::mod(const tvm::te::Tensor &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 &a, const tvm::PrimExpr &b)'],['../namespacetvm_1_1topi.html#a4eb4b5a58cf4c5dbbdd4413cfd166882',1,'tvm::topi::mod(const tvm::te::Tensor &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< Object > 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> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <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> <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> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <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> <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< Map< String, ObjectRef >> 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< ObjectRef(const Instruction &inst, const Array< ObjectRef > &inputs, const Array< ObjectRef > &attrs, const Optional< ObjectRef > &decision)> 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< Instruction > 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 & 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"><</span><a href="../interfaces/disposable.html" class="tsd-signature-type">Disposable</a><span class="tsd-signature-symbol">></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 ...